Lines Matching full:foo
34 function foo(p: Object): int {
38 function foo(p: GenA<A>): int {
42 function foo(p: GenA<B>): int {
46 function foo(p: GenB<A>): int {
50 function foo(p: GenB<B>): int {
54 function foo(p: GenB<C>): int {
58 function foo(p: GenB<F>): int {
62 function foo(p: GenC<A, A>): int {
66 function foo(p: GenC<B, B>): int {
70 function foo(p: GenC<C, F>): int {
74 function foo(p: GenC<F, C>): int {
82 assert (foo(a) == foo(new GenB<B>));
87 assert (foo(b) == 0);
88 // foo(b) would call signature 'foo(p: GenB<in B>)',
90 // clash with other foo(p: GenB<*>) signatures),
91 // so it's calling 'foo(p: Object)', which returns 0
96 assert (foo(c) == foo(new GenC<B, B>));
101 assert (foo(d) == foo(new GenA<B>));
106 assert (foo(f) == foo(new GenB<C>));