return test;
}
- /*
- public String getSampleField() {
+
+ /*public String getSampleField() {
return sampleField;
- }
+ }*/
- public void setSampleField(String sampleField) {
+ /*public void setSampleField(String sampleField) {
this.sampleField = sampleField;
}
public static void main(String[] args) {
Method[] methods = SampleClass.class.getMethods();
- /*Type[] parameters = methods[0].getGenericParameterTypes();
+ Type[] parameters = methods[0].getGenericParameterTypes();
//Type[] parameters = methods[0].getGenericParameterTypes();
for (int i = 0; i < parameters.length; i++) {
System.out.println(parameters[i]);
}
- System.out.println();*/
+ System.out.println();
/*Class[] parameterTypes = methods[0].getParameterTypes();
for(Class parameterType: parameterTypes){
System.out.println(parameterType.getName());
}
System.out.println();*/
- /*TypeVariable[] typeParameters = GenericShort.class.getTypeParameters();
+ TypeVariable[] typeParameters = Generic.class.getTypeParameters();
//TypeVariable[] typeParameters = SampleClass.class.getTypeParameters();
for(TypeVariable typeVar: typeParameters){
System.out.println(typeVar);
- }*/
+ }
System.out.println();
Type returnType = methods[0].getGenericReturnType();
System.out.println(returnType);
+
}
}
// TODO: Fix for Groovy's model-checking
public String[] getGenericTypeVariableNames () {
// To accommodate methods that do not have generic types
- if (genericSignature == null)
+ if (genericSignature == null || genericSignature.equals(""))
return new String[0];
return Types.getGenericTypeVariableNames(genericSignature);
}
// TODO: Fix for Groovy's model-checking
public String[] getArgumentGenericTypeNames () {
// To accommodate methods that do not have generic types
- if (genericSignature == null)
+ if (genericSignature == null || genericSignature.equals(""))
return getArgumentTypeNames();
return Types.getArgumentTypeNames(genericSignature);
}
}
public String getGenericReturnTypeName () {
+ if (genericSignature == null || genericSignature.equals(""))
+ return Types.getReturnTypeName(signature);
return Types.getGenericReturnTypeName(genericSignature);
}
MethodInfo mi = getMethodInfo(env, objRef);
ThreadInfo ti = env.getThreadInfo();
- String returnTypeName = mi.getGenericReturnTypeName();
int retRef;
- if (Types.isGenericSignature(returnTypeName)) {
- retRef = getParameterizedTypeImplObj(returnTypeName, env);
+ if (Types.isGenericSignature(mi.getGenericReturnTypeName())) {
+ retRef = getParameterizedTypeImplObj(mi.getGenericReturnTypeName(), env);
} else {
- ClassInfo ci = ClassLoaderInfo.getCurrentResolvedClassInfo(returnTypeName);
+ ClassInfo ci = ClassLoaderInfo.getCurrentResolvedClassInfo(mi.getReturnTypeName());
if (!ci.isRegistered()) {
ci.registerClass(ti);
}