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