]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/java/JavaModule.java
Builtins and JavaModule SCL modules may leak memory
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / java / JavaModule.java
old mode 100755 (executable)
new mode 100644 (file)
index cb39346..aeec9a3
@@ -23,7 +23,7 @@ import org.simantics.scl.compiler.types.kinds.Kinds;
 
 public class JavaModule extends ConcreteModule {
 
-    public static final JavaModule INSTANCE = new JavaModule();
+    public static JavaModule INSTANCE = new JavaModule();
     
     public static final String MODULE_NAME = "JavaBuiltin";
 
@@ -137,6 +137,8 @@ public class JavaModule extends ConcreteModule {
                 "java/lang/Object", "hashCode", Types.NO_EFFECTS, Types.INTEGER, A));
         addValue("toString", new JavaMethod(true, 
                 "java/lang/Object", "toString", Types.NO_EFFECTS, Types.STRING, A));
+        
+        setParentClassLoader(getClass().getClassLoader());
     }
     
     static Expression createLiteral(FunctionValue value) {
@@ -145,6 +147,9 @@ public class JavaModule extends ConcreteModule {
             result = new EApplyType(result, var);
         return result;
     }
-    
+
+    public static void flush() {
+       INSTANCE = new JavaModule();
+    }
 }