27 lines
		
	
	
		
			680 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			680 B
		
	
	
	
		
			Factor
		
	
	
| USING: kernel namespaces quotations stack-checker.backend
 | |
| stack-checker.branches stack-checker.recursive-state
 | |
| stack-checker.state stack-checker.values stack-checker.visitor
 | |
| tools.test ;
 | |
| IN: stack-checker.branches.tests
 | |
| 
 | |
| ! infer-branch
 | |
| {
 | |
|     H{
 | |
|         { recursive-state T{ recursive-state } }
 | |
|         { current-word f }
 | |
|         { (meta-r) f }
 | |
|         { input-count 2 }
 | |
|         { quotation [ 2drop ] }
 | |
|         { literals V{ } }
 | |
|         { terminated? f }
 | |
|         { stack-visitor f }
 | |
|         { (meta-d) V{ } }
 | |
|         { inner-d-index 0 }
 | |
|     }
 | |
| } [
 | |
|     init-inference
 | |
|     H{ } clone known-values set
 | |
|     [ 2drop ] <literal> make-known push-d
 | |
|     pop-d known infer-branch
 | |
| ] unit-test
 |