X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Fruntime%2FExpressionClassLoader.java;h=dbfafe19bc325fdf41852a04663db13f1053189f;hb=ee8f590cd00bf1f046062f623b024f26ef17f4e1;hp=0c134ee5c1130b5e9e730dd9552e01401f367c43;hpb=3448b94a8e90047c88eb62a0542c1596acb701b8;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/runtime/ExpressionClassLoader.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/runtime/ExpressionClassLoader.java index 0c134ee5c..dbfafe19b 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/runtime/ExpressionClassLoader.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/runtime/ExpressionClassLoader.java @@ -11,7 +11,7 @@ public class ExpressionClassLoader extends ClassLoader implements MutableClassLo public static final boolean TRACE_CLASS_CREATION = false; String basePackageName; - THashMap localClasses = new THashMap(); + public THashMap localClasses = new THashMap(); THashMap runtimeModuleMap; int transientPackageId = 0; THashMap valueCache = new THashMap(); @@ -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))