diff --git a/basis/stack-checker/backend/backend-tests.factor b/basis/stack-checker/backend/backend-tests.factor index cf02e82258..8aff2d774b 100644 --- a/basis/stack-checker/backend/backend-tests.factor +++ b/basis/stack-checker/backend/backend-tests.factor @@ -1,5 +1,5 @@ USING: accessors assocs classes.tuple compiler.tree kernel namespaces -sequences stack-checker.backend stack-checker.recursive-state +sequences stack-checker.backend stack-checker.dependencies stack-checker.state stack-checker.values stack-checker.visitor tools.test ; IN: stack-checker.backend.tests @@ -51,6 +51,24 @@ IN: stack-checker.backend.tests stack-visitor get first in-d>> ] unit-test +! apply-object +SYMBOL: sam-sum + +{ H{ } } [ + H{ } clone dependencies set + H{ } clone known-values set + init-inference + [ \ sam-sum ] first apply-object + dependencies get +] unit-test + +{ V{ "abc" } } [ + H{ } clone known-values set + init-inference + "abc" apply-object + literals get +] unit-test + ! Because node is an identity-tuple : node-seqs-eq? ( seq1 seq2 -- ? ) [ [ tuple-slots ] map concat ] bi@ = ; diff --git a/basis/stack-checker/backend/backend.factor b/basis/stack-checker/backend/backend.factor index cbcc4b095b..e3e231e93e 100644 --- a/basis/stack-checker/backend/backend.factor +++ b/basis/stack-checker/backend/backend.factor @@ -81,10 +81,7 @@ IN: stack-checker.backend GENERIC: apply-object ( obj -- ) M: wrapper apply-object - wrapped>> - [ dup word? [ +effect+ depends-on ] [ drop ] if ] - [ push-literal ] - bi ; + wrapped>> push-literal ; M: object apply-object push-literal ;