From: rtrimana Date: Mon, 17 Jun 2019 19:48:44 +0000 (-0700) Subject: Working example of class instantiation. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=6ebb7eb6a3e66864df653ede68280a7a480dd6f7;p=jpf-core.git Working example of class instantiation. --- diff --git a/src/peers/gov/nasa/jpf/vm/JPF_java_lang_Class.java b/src/peers/gov/nasa/jpf/vm/JPF_java_lang_Class.java index aac8d22..0d817c2 100644 --- a/src/peers/gov/nasa/jpf/vm/JPF_java_lang_Class.java +++ b/src/peers/gov/nasa/jpf/vm/JPF_java_lang_Class.java @@ -113,15 +113,15 @@ public class JPF_java_lang_Class extends NativePeer { // 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(); + ClassLoaderInfo cli = env.getSystemClassLoaderInfo(); + ClassInfo rci = cli.getResolvedClassInfo("sun.reflect.generics.reflectiveObjects.TypeVariableImpl"); + // TODO: Need to 1) Just create the object of TypeVariableImpl, 2) Declare class type and name only, 3) Return the + // object reference back to the caller + ClassInfo test = cli.getResolvedClassInfo("java.lang.Class"); + ClassInfo tci = env.getReferredClassInfo( robj); + int ei = env.newObject(test); - try { - return env.newAnnotationProxies(ai); - } catch (ClinitRequired x){ - env.handleClinitRequest(x.getRequiredClassInfo()); - return MJIEnv.NULL; - } + return MJIEnv.NULL; } @MJI