diff --git a/basis/compiler/tree/propagation/slots/slots-tests.factor b/basis/compiler/tree/propagation/slots/slots-tests.factor index 2f1117033c..19f9a510a7 100644 --- a/basis/compiler/tree/propagation/slots/slots-tests.factor +++ b/basis/compiler/tree/propagation/slots/slots-tests.factor @@ -15,10 +15,6 @@ IN: compiler.tree.propagation.slots.tests \ sequence-constructor? ] unit-test -{ array byte-array string } [ - \ \ \ [ constructor-output-class ] tri@ -] unit-test - { T{ value-info-state { class array } diff --git a/basis/compiler/tree/propagation/slots/slots.factor b/basis/compiler/tree/propagation/slots/slots.factor index 84814baf3f..0151a6b8f6 100644 --- a/basis/compiler/tree/propagation/slots/slots.factor +++ b/basis/compiler/tree/propagation/slots/slots.factor @@ -3,23 +3,15 @@ USING: accessors arrays assocs byte-arrays classes classes.algebra classes.tuple classes.tuple.private combinators combinators.short-circuit compiler.tree.propagation.info kernel -math sequences slots.private strings ; +math sequences slots.private strings words ; IN: compiler.tree.propagation.slots : sequence-constructor? ( word -- ? ) { (byte-array) } member-eq? ; -: constructor-output-class ( word -- class ) - { - { array } - { byte-array } - { (byte-array) byte-array } - { string } - } at ; - : propagate-sequence-constructor ( #call word -- infos ) [ in-d>> first value-info ] - [ constructor-output-class ] bi* + [ "default-output-classes" word-prop first ] bi* 1array ; : fold- ( values class -- info )