1*f0340d8eSSorin Bascaimport java.util.List;
2*f0340d8eSSorin Basca
3*f0340d8eSSorin Bascaclass MethodCalls {
4*f0340d8eSSorin Basca
5*f0340d8eSSorin Basca    public int member;
6*f0340d8eSSorin Basca
7*f0340d8eSSorin Basca    public MethodCalls getSelf()
8*f0340d8eSSorin Basca    {
9*f0340d8eSSorin Basca        return this;
10*f0340d8eSSorin Basca    }
11*f0340d8eSSorin Basca
12*f0340d8eSSorin Basca
13*f0340d8eSSorin Basca    public void foo()
14*f0340d8eSSorin Basca    {
15*f0340d8eSSorin Basca    }
16*f0340d8eSSorin Basca
17*f0340d8eSSorin Basca    void bar1()
18*f0340d8eSSorin Basca    {
19*f0340d8eSSorin Basca        getSelf().getSelf().foo();
20*f0340d8eSSorin Basca    }
21*f0340d8eSSorin Basca
22*f0340d8eSSorin Basca    int bar2()
23*f0340d8eSSorin Basca    {
24*f0340d8eSSorin Basca        return getSelf().m;
25*f0340d8eSSorin Basca    }
26*f0340d8eSSorin Basca
27*f0340d8eSSorin Basca    void inheritedInterfaceMethod(){
28*f0340d8eSSorin Basca        List<Integer> list;
29*f0340d8eSSorin Basca        list.toString();
30*f0340d8eSSorin Basca    }
31*f0340d8eSSorin Basca
32*f0340d8eSSorin Basca    void variadicTest(){
33*f0340d8eSSorin Basca        String[] varArg = new String[2];
34*f0340d8eSSorin Basca        foobar("a");
35*f0340d8eSSorin Basca        foobar(varArg);
36*f0340d8eSSorin Basca    }
37*f0340d8eSSorin Basca
38*f0340d8eSSorin Basca    int foobar(String s){
39*f0340d8eSSorin Basca        return 1;
40*f0340d8eSSorin Basca    }
41*f0340d8eSSorin Basca
42*f0340d8eSSorin Basca    void foobar(String... s){
43*f0340d8eSSorin Basca        return;
44*f0340d8eSSorin Basca    }
45*f0340d8eSSorin Basca
46*f0340d8eSSorin Basca    void variadicMethod(String... s)
47*f0340d8eSSorin Basca    {
48*f0340d8eSSorin Basca        this.variadicMethod("test");
49*f0340d8eSSorin Basca    }
50*f0340d8eSSorin Basca
51*f0340d8eSSorin Basca    <T> T genericMethod0() { return null; }
52*f0340d8eSSorin Basca    <T> T genericMethod1(T x) { return x; }
53*f0340d8eSSorin Basca
54*f0340d8eSSorin Basca    static <T> T staticGenericMethod0() { return null; }
55*f0340d8eSSorin Basca    static <T> T staticGenericMethod1(T x) { return x; }
56*f0340d8eSSorin Basca
57*f0340d8eSSorin Basca    static class GenericClass<T> {}
58*f0340d8eSSorin Basca
59*f0340d8eSSorin Basca    static void variadicWithGenericArg(int i, GenericClass<?>... c) {}
60*f0340d8eSSorin Basca
61*f0340d8eSSorin Basca    void genericMethodTest() {
62*f0340d8eSSorin Basca        this.<Integer>genericMethod0();
63*f0340d8eSSorin Basca        this.genericMethod1("Hello");
64*f0340d8eSSorin Basca
65*f0340d8eSSorin Basca        MethodCalls.<Integer>staticGenericMethod0();
66*f0340d8eSSorin Basca        MethodCalls.staticGenericMethod1("Hello");
67*f0340d8eSSorin Basca
68*f0340d8eSSorin Basca        MethodCalls.variadicWithGenericArg(1, new GenericClass<Long>());
69*f0340d8eSSorin Basca    }
70*f0340d8eSSorin Basca}
71