33 lines
		
	
	
		
			775 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			775 B
		
	
	
	
		
			Factor
		
	
	
| USING: eval tools.test compiler.units vocabs multiline words
 | |
| kernel ;
 | |
| IN: compiler.tests
 | |
| 
 | |
| ! Regression: if dispatch was eliminated but method was not inlined,
 | |
| ! compiled usage information was not recorded.
 | |
| 
 | |
| [ "compiler.tests.redefine5" forget-vocab ] with-compilation-unit
 | |
| 
 | |
| [ ] [
 | |
|     <"
 | |
|     USING: sorting kernel math.order ;
 | |
|     IN: compiler.tests.redefine5
 | |
|     GENERIC: my-generic ( a -- b )
 | |
|     M: object my-generic [ <=> ] sort ;
 | |
|     : my-inline ( a -- b ) my-generic ;
 | |
|     "> eval
 | |
| ] unit-test
 | |
| 
 | |
| [ ] [
 | |
|     <"
 | |
|     USE: kernel
 | |
|     IN: compiler.tests.redefine5
 | |
|     TUPLE: my-tuple ;
 | |
|     M: my-tuple my-generic drop 0 ;
 | |
|     "> eval
 | |
| ] unit-test
 | |
| 
 | |
| [ 0 ] [
 | |
|     "my-tuple" "compiler.tests.redefine5" lookup boa
 | |
|     "my-inline" "compiler.tests.redefine5" lookup execute
 | |
| ] unit-test
 |