33 lines
818 B
Factor
33 lines
818 B
Factor
|
USING: eval tools.test compiler.units vocabs multiline words
|
||
|
kernel classes.mixin arrays ;
|
||
|
IN: compiler.tests
|
||
|
|
||
|
! Mixin redefinition did not recompile all necessary words.
|
||
|
|
||
|
[ ] [ [ "compiler.tests.redefine11" forget-vocab ] with-compilation-unit ] unit-test
|
||
|
|
||
|
[ ] [
|
||
|
<"
|
||
|
USING: kernel math classes arrays ;
|
||
|
IN: compiler.tests.redefine11
|
||
|
MIXIN: my-mixin
|
||
|
INSTANCE: array my-mixin
|
||
|
INSTANCE: fixnum my-mixin
|
||
|
GENERIC: my-generic ( a -- b )
|
||
|
M: my-mixin my-generic drop 0 ;
|
||
|
M: object my-generic drop 1 ;
|
||
|
: my-inline ( -- b ) { } my-generic ;
|
||
|
"> eval
|
||
|
] unit-test
|
||
|
|
||
|
[ ] [
|
||
|
[
|
||
|
array "my-mixin" "compiler.tests.redefine11" lookup
|
||
|
remove-mixin-instance
|
||
|
] with-compilation-unit
|
||
|
] unit-test
|
||
|
|
||
|
[ 1 ] [
|
||
|
"my-inline" "compiler.tests.redefine11" lookup execute
|
||
|
] unit-test
|