import java.util.List;
public class S {
I a, b;
List list;
List<T> tList;
public I callInout(T t) {
I arg1 = new A();
I arg2 = new B();
I result = null;
result = t.inout(arg1, methodD());
result = t.publicFieldOfT;
result = T.publicStaticFieldOfT;
result = T.staticMethodA();
t.publicFieldOfT = result;
t.publicFieldOfT.foo();
return methodD();
}
public I methodD() {
return new D();
}
public I methodForAnalyzeMethodParamToReturnTest(int num, T t, C c, D d) {
a = c;
I local = a
return local;
}
public D methodForAnalyzeMethodParamToReturnTest2(int num, T t, C c, D d) {
D local = d;
D local2 = local;
return local2;
}
}