X-Git-Url: http://plrg.eecs.uci.edu/git/?p=jpf-core.git;a=blobdiff_plain;f=examples%2FReflection.java;h=d8f6e44a742d498236b5627405e938167caab8cc;hp=fe2927c8bd25d3e9083aef918f35bef394dcd502;hb=9530ffc869c8b7768131e093593200126918ee28;hpb=e8eba94cecfa09bbc531a67ff94594ace402c742 diff --git a/examples/Reflection.java b/examples/Reflection.java index fe2927c..d8f6e44 100644 --- a/examples/Reflection.java +++ b/examples/Reflection.java @@ -12,26 +12,26 @@ public class Reflection { class GenericShort { } - class Generic { + class Generic extends GenericShort { } - class SampleClass { + class SampleClass { private String sampleField; - public Generic setSampleField(List listString, Map mapString, + public Generic setSampleField(Class clazz, List listString, Map mapString, Generic 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; } @@ -42,29 +42,45 @@ public class Reflection { public static void main(String[] args) { - Method[] methods = SampleClass.class.getMethods(); - Type[] parameters = methods[0].getGenericParameterTypes(); + /*Method[] methods = SampleClass.class.getMethods(); + // Method[] methods = Class.class.getMethods(); + Method method = null; + for(Method meth : methods) { + if (meth.getName().equals("setSampleField")) { + method = meth; + } + } + Type[] parameters = method.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();*/ + Type superCls = Generic.class.getGenericSuperclass(); + //Type superCls = String.class.getGenericSuperclass(); + System.out.println(superCls); /*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[] 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); + */ } }