]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/runtime/ExpressionClassLoader.java
Merge remote-tracking branch 'origin/master' into private/antti2
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / runtime / ExpressionClassLoader.java
index 0c134ee5c1130b5e9e730dd9552e01401f367c43..dbfafe19bc325fdf41852a04663db13f1053189f 100644 (file)
@@ -11,7 +11,7 @@ public class ExpressionClassLoader extends ClassLoader implements MutableClassLo
     public static final boolean TRACE_CLASS_CREATION = false;
     
     String basePackageName;
-    THashMap<String, byte[]> localClasses = new THashMap<String, byte[]>(); 
+    public THashMap<String, byte[]> localClasses = new THashMap<String, byte[]>(); 
     THashMap<String, RuntimeModule> runtimeModuleMap;
     int transientPackageId = 0;
     THashMap<Constant,Object> valueCache = new THashMap<Constant,Object>(); 
@@ -57,9 +57,14 @@ public class ExpressionClassLoader extends ClassLoader implements MutableClassLo
         if(bytes == null)
             throw new ClassNotFoundException(name);
 
-        return defineClass(name, bytes, 0, bytes.length);
+        clazz = defineClass(name, bytes, 0, bytes.length);
+        resolveClass(clazz);
+        
+        return clazz;
+        
     }
     
+    @Override
     public byte[] getBytes(String name) {
         // Non-SCL classes are not handled here
         if(!name.startsWith(SCL_PACKAGE_PREFIX))