stack-checker.*: init-known-values word not needed
parent
4e48e836b9
commit
875357c1bf
|
@ -1,6 +1,7 @@
|
||||||
USING: accessors classes.tuple compiler.tree stack-checker.backend tools.test
|
USING: accessors assocs classes.tuple compiler.tree kernel namespaces
|
||||||
kernel namespaces stack-checker.state stack-checker.values
|
sequences stack-checker.backend stack-checker.recursive-state
|
||||||
stack-checker.visitor sequences assocs ;
|
stack-checker.state stack-checker.values stack-checker.visitor
|
||||||
|
tools.test ;
|
||||||
IN: stack-checker.backend.tests
|
IN: stack-checker.backend.tests
|
||||||
|
|
||||||
{ } [
|
{ } [
|
||||||
|
@ -32,7 +33,7 @@ IN: stack-checker.backend.tests
|
||||||
V{ 3 9 8 }
|
V{ 3 9 8 }
|
||||||
H{ { 8 input-parameter } { 9 input-parameter } { 3 input-parameter } }
|
H{ { 8 input-parameter } { 9 input-parameter } { 3 input-parameter } }
|
||||||
} [
|
} [
|
||||||
init-known-values
|
H{ } clone known-values set
|
||||||
V{ } clone stack-visitor set
|
V{ } clone stack-visitor set
|
||||||
V{ 3 9 8 } introduce-values
|
V{ 3 9 8 } introduce-values
|
||||||
stack-visitor get first out-d>>
|
stack-visitor get first out-d>>
|
||||||
|
|
|
@ -151,7 +151,7 @@ M: object apply-object push-literal ;
|
||||||
: with-infer ( quot -- effect visitor )
|
: with-infer ( quot -- effect visitor )
|
||||||
[
|
[
|
||||||
init-inference
|
init-inference
|
||||||
init-known-values
|
H{ } clone known-values set
|
||||||
stack-visitor off
|
stack-visitor off
|
||||||
call
|
call
|
||||||
end-infer
|
end-infer
|
||||||
|
|
|
@ -7,7 +7,8 @@ IN: stack-checker.state.tests
|
||||||
V{ 1 2 3 }
|
V{ 1 2 3 }
|
||||||
} [
|
} [
|
||||||
0 \ <value> set-global
|
0 \ <value> set-global
|
||||||
init-inference init-known-values
|
init-inference
|
||||||
|
H{ } clone known-values set
|
||||||
V{ 1 2 3 } literals set commit-literals
|
V{ 1 2 3 } literals set commit-literals
|
||||||
(meta-d) get
|
(meta-d) get
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
|
@ -1,9 +1,30 @@
|
||||||
USING: kernel namespaces stack-checker.backend stack-checker.values
|
USING: accessors kernel namespaces stack-checker.state
|
||||||
tools.test ;
|
stack-checker.values tools.test ;
|
||||||
IN: stack-checker.values.tests
|
IN: stack-checker.values.tests
|
||||||
|
|
||||||
|
TUPLE: foo-tup a b ;
|
||||||
|
|
||||||
|
! known
|
||||||
|
{ T{ foo-tup f 10 20 } } [
|
||||||
|
H{ } clone known-values set
|
||||||
|
0 \ <value> set-global
|
||||||
|
V{ } clone literals set
|
||||||
|
10 20 foo-tup boa 23 set-known
|
||||||
|
23 known
|
||||||
|
] unit-test
|
||||||
|
|
||||||
|
! literal
|
||||||
|
{ T{ foo-tup f 10 20 } } [
|
||||||
|
H{ } clone known-values set
|
||||||
|
0 \ <value> set-global
|
||||||
|
V{ } clone literals set
|
||||||
|
10 20 foo-tup boa <literal> make-known
|
||||||
|
literal value>>
|
||||||
|
] unit-test
|
||||||
|
|
||||||
|
! set-known
|
||||||
{ H{ { 3 input-parameter } } } [
|
{ H{ { 3 input-parameter } } } [
|
||||||
init-known-values
|
H{ } clone known-values set
|
||||||
input-parameter 3 set-known
|
input-parameter 3 set-known
|
||||||
known-values get
|
known-values get
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
|
@ -8,9 +8,6 @@ IN: stack-checker.values
|
||||||
|
|
||||||
SYMBOL: known-values
|
SYMBOL: known-values
|
||||||
|
|
||||||
: init-known-values ( -- )
|
|
||||||
H{ } clone known-values set ;
|
|
||||||
|
|
||||||
: known ( value -- known )
|
: known ( value -- known )
|
||||||
known-values get at ;
|
known-values get at ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue