compiler.tree.propagation.slots: looks like you can do without the
constructor-output-class worddb4
							parent
							
								
									09ad5bd617
								
							
						
					
					
						commit
						3e485652fe
					
				| 
						 | 
				
			
			@ -15,10 +15,6 @@ IN: compiler.tree.propagation.slots.tests
 | 
			
		|||
    \ <array> sequence-constructor?
 | 
			
		||||
] unit-test
 | 
			
		||||
 | 
			
		||||
{ array byte-array string } [
 | 
			
		||||
    \ <array> \ <byte-array> \ <string> [ constructor-output-class ] tri@
 | 
			
		||||
] unit-test
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    T{ value-info-state
 | 
			
		||||
       { class array }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 -- ? )
 | 
			
		||||
    { <array> <byte-array> (byte-array) <string> } member-eq? ;
 | 
			
		||||
 | 
			
		||||
: constructor-output-class ( word -- class )
 | 
			
		||||
    {
 | 
			
		||||
        { <array> array }
 | 
			
		||||
        { <byte-array> byte-array }
 | 
			
		||||
        { (byte-array) byte-array }
 | 
			
		||||
        { <string> string }
 | 
			
		||||
    } at ;
 | 
			
		||||
 | 
			
		||||
: propagate-sequence-constructor ( #call word -- infos )
 | 
			
		||||
    [ in-d>> first value-info ]
 | 
			
		||||
    [ constructor-output-class ] bi*
 | 
			
		||||
    [ "default-output-classes" word-prop first ] bi*
 | 
			
		||||
    <sequence-info> 1array ;
 | 
			
		||||
 | 
			
		||||
: fold-<tuple-boa> ( values class -- info )
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue