public static void main(String[] args) {
- Method[] methods = SampleClass.class.getMethods();
+ /*Method[] methods = SampleClass.class.getMethods();
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();
- /*Class[] parameterTypes = methods[0].getParameterTypes();
+ Class[] parameterTypes = methods[0].getParameterTypes();
for(Class parameterType: parameterTypes){
System.out.println(parameterType.getName());
}
- System.out.println();
+ System.out.println();*/
TypeVariable[] typeParameters = Generic.class.getTypeParameters();
+ System.out.println("Members: " + typeParameters.length);
//TypeVariable[] typeParameters = SampleClass.class.getTypeParameters();
for(TypeVariable typeVar: typeParameters){
System.out.println(typeVar);
}
- System.out.println();*/
+ System.out.println();
/*
Type returnType = methods[0].getGenericReturnType();
System.out.println(returnType);*/
}
// TODO: Fix for Groovy's model-checking
+ // TODO: THIS NEEDS TO BE SUBSTITUTED BY THE PROPER METHODS! VERY DIRTY RIGHT NOW!
@MJI
public int getTypeParameters_____3Ljava_lang_reflect_TypeVariable_2 (MJIEnv env, int robj){
ClassInfo ci = env.getReferredClassInfo( robj);
AnnotationInfo[] ai = ci.getAnnotations();
- return 1;
+ try {
+ return env.newAnnotationProxies(ai);
+ } catch (ClinitRequired x){
+ env.handleClinitRequest(x.getRequiredClassInfo());
+ return MJIEnv.NULL;
+ }
}
@MJI