Merge branch 'master' of git://factorcode.org/git/factor
[factor/jcg.git] / basis / compiler / tests / redefine6.factor
blob73225c55b80e8f93a9280a6e90dc230c34184034
1 USING: eval tools.test compiler.units vocabs multiline words
2 kernel ;
3 IN: compiler.tests
5 ! Mixin redefinition did not recompile all necessary words.
7 [ ] [ [ "compiler.tests.redefine6" forget-vocab ] with-compilation-unit ] unit-test
9 [ ] [
10     <"
11     USING: kernel kernel.private ;
12     IN: compiler.tests.redefine6
13     GENERIC: my-generic ( a -- b )
14     MIXIN: my-mixin
15     M: my-mixin my-generic drop 0 ;
16     : my-inline ( a -- b ) { my-mixin } declare my-generic ;
17     "> eval
18 ] unit-test
20 [ ] [
21     <"
22     USING: kernel ;
23     IN: compiler.tests.redefine6
24     TUPLE: my-tuple ;
25     M: my-tuple my-generic drop 1 ;
26     INSTANCE: my-tuple my-mixin
27     "> eval
28 ] unit-test
30 [ 1 ] [
31     "my-tuple" "compiler.tests.redefine6" lookup boa
32     "my-inline" "compiler.tests.redefine6" lookup execute
33 ] unit-test