More tests on the Class<U> case.
[jpf-core.git] / examples / Reflection.java
index fe2927c8bd25d3e9083aef918f35bef394dcd502..f2bff8ab62ba9ce019cf132914e3b556448aad14 100644 (file)
@@ -16,22 +16,22 @@ public class Reflection {
        
        }
 
-       class SampleClass {
+       class SampleClass<VWXZ> {
           private String sampleField;
 
-          public Generic<Integer,String,Double,Short> setSampleField(List<String> listString, Map<Integer,String> mapString,
+          public Generic<Integer,String,Double,Short> setSampleField(Class<VWXZ> clazz, List<String> listString, Map<Integer,String> mapString,
                                Generic<Integer,String,Double,Short> test,
                                String sampleField, int one, short two, double three, Object obj) {
                  this.sampleField = sampleField; 
                  return test;
           }
           
-          /*
-          public String getSampleField() {
+          
+          /*public String getSampleField() {
                  return sampleField;
-          }
+          }*/
           
-          public void setSampleField(String sampleField) {
+          /*public void setSampleField(String sampleField) {
              this.sampleField = sampleField;
           }
           
@@ -43,7 +43,7 @@ public class Reflection {
    public static void main(String[] args) {
 
       Method[] methods = SampleClass.class.getMethods();
-      Type[] parameters = methods[0].getGenericParameterTypes();
+      Type[] parameters = methods[3].getGenericParameterTypes();
       //Type[] parameters = methods[0].getGenericParameterTypes();
       for (int i = 0; i < parameters.length; i++) {
          System.out.println(parameters[i]);
@@ -55,16 +55,22 @@ public class Reflection {
  
       }
       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[] bounds = typeParameters[0].getBounds();
+      for (Type bound : bounds) {
+          System.out.println(bound);
+      }
       System.out.println();
-      /*
       Type returnType = methods[0].getGenericReturnType();
-      System.out.println(returnType);*/
+      System.out.println(returnType);
+         
    }
 }