Merge branch 'master' of git://factorcode.org/git/factor
[factor/jcg.git] / basis / compiler / tests / redefine5.factor
blobac1619b8576e784abb816405be2d1e759c2de299
1 USING: eval tools.test compiler.units vocabs multiline words
2 kernel ;
3 IN: compiler.tests
5 ! Regression: if dispatch was eliminated but method was not inlined,
6 ! compiled usage information was not recorded.
8 [ "compiler.tests.redefine5" forget-vocab ] with-compilation-unit
10 [ ] [
11     <"
12     USING: sorting kernel math.order ;
13     IN: compiler.tests.redefine5
14     GENERIC: my-generic ( a -- b )
15     M: object my-generic [ <=> ] sort ;
16     : my-inline ( a -- b ) my-generic ;
17     "> eval
18 ] unit-test
20 [ ] [
21     <"
22     USE: kernel
23     IN: compiler.tests.redefine5
24     TUPLE: my-tuple ;
25     M: my-tuple my-generic drop 0 ;
26     "> eval
27 ] unit-test
29 [ 0 ] [
30     "my-tuple" "compiler.tests.redefine5" lookup boa
31     "my-inline" "compiler.tests.redefine5" lookup execute
32 ] unit-test