import java.util.List;
import java.util.Map;
import java.util.ArrayList;
+import java.util.Arrays;
public class Reflection {
System.out.println(parameters[i]);
}
System.out.println();
- Class[] parameterTypes = methods[0].getParameterTypes();
+ /*Class[] parameterTypes = methods[0].getParameterTypes();
for(Class parameterType: parameterTypes){
System.out.println(parameterType.getName());
}
System.out.println();
- /*TypeVariable[] typeParameters = Generic.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);
+ System.out.println(returnType);*/
}
}
return MJIEnv.NULL;
}
}
+
+ // TODO: Fix for Groovy's model-checking
+ @MJI
+ public int getTypeParameters_____3Ljava_lang_reflect_TypeVariable_2 (MJIEnv env, int robj){
+ ClassInfo ci = env.getReferredClassInfo( robj);
+ AnnotationInfo[] ai = ci.getAnnotations();
+
+ return 1;
+ }
@MJI
public int getAnnotation__Ljava_lang_Class_2__Ljava_lang_annotation_Annotation_2 (MJIEnv env, int robj,
}
// TODO: Fix for Groovy's model-checking
- // TODO: We haven't been able to show the parameterized types
+ // TODO: We have been able to only register the generic class and not yet the parameterized types
static int getGenericParameterTypes( MJIEnv env, MethodInfo mi) {
ThreadInfo ti = env.getThreadInfo();
String[] argTypeNames = mi.getArgumentGenericTypeNames();
return ci.getClassObjectRef();
}
// TODO: Fix for Groovy's model-checking
- // TODO: We haven't been able to show the parameterized types
-
+ // TODO: We have been able to only register the generic class and not yet the parameterized types
+
int getExceptionTypes(MJIEnv env, MethodInfo mi) {
ThreadInfo ti = env.getThreadInfo();
String[] exceptionNames = mi.getThrownExceptionClassNames();