import java.util.List;
class MethodCalls {
public int member;
public MethodCalls getSelf()
{
return this;
}
public void foo()
{
}
void bar1()
{
getSelf().getSelf().foo();
}
int bar2()
{
return getSelf().m;
}
void inheritedInterfaceMethod(){
List<Integer> list;
list.toString();
}
void variadicTest(){
String[] varArg = new String[2];
foobar("a");
foobar(varArg);
}
int foobar(String s){
return 1;
}
void foobar(String... s){
return;
}
void variadicMethod(String... s)
{
this.variadicMethod("test");
}
<T> T genericMethod0() { return null; }
<T> T genericMethod1(T x) { return x; }
static <T> T staticGenericMethod0() { return null; }
static <T> T staticGenericMethod1(T x) { return x; }
static class GenericClass<T> {}
static void variadicWithGenericArg(int i, GenericClass<?>... c) {}
void genericMethodTest() {
this.<Integer>genericMethod0();
this.genericMethod1("Hello");
MethodCalls.<Integer>staticGenericMethod0();
MethodCalls.staticGenericMethod1("Hello");
MethodCalls.variadicWithGenericArg(1, new GenericClass<Long>());
}
}