Browse Source

Scripting Engine: Moved Creaton of JavaByteCodeRunUnit to own method to make it accessible from the outside

kindlich 4 years ago
parent
commit
916a4dd121
No known key found for this signature in database

+ 17
- 11
JavaIntegration/src/main/java/org/openzen/zencode/java/ScriptingEngine.java View File

@@ -142,19 +142,25 @@ public class ScriptingEngine {
142 142
 	public void run(Map<FunctionParameter, Object> arguments) {
143 143
 		run(arguments, this.getClass().getClassLoader());
144 144
 	}
145
+	
146
+	public JavaBytecodeRunUnit createRunUnit() {
147
+        SimpleJavaCompileSpace javaSpace = new SimpleJavaCompileSpace(registry);
148
+        for (JavaNativeModule nativeModule : nativeModules)
149
+            javaSpace.register(nativeModule.getCompiled());
150
+        
151
+        JavaCompiler compiler = new JavaCompiler();
152
+        
153
+        JavaBytecodeRunUnit runUnit = new JavaBytecodeRunUnit();
154
+        for (SemanticModule compiled : compiledModules)
155
+            runUnit.add(compiler.compile(compiled.name, compiled, javaSpace));
156
+        if (debug)
157
+            runUnit.dump(new File("classes"));
158
+        
159
+        return runUnit;
160
+    }
145 161
 
146 162
 	public void run(Map<FunctionParameter, Object> arguments, ClassLoader parentClassLoader) {
147
-		SimpleJavaCompileSpace javaSpace = new SimpleJavaCompileSpace(registry);
148
-		for (JavaNativeModule nativeModule : nativeModules)
149
-			javaSpace.register(nativeModule.getCompiled());
150
-
151
-		JavaCompiler compiler = new JavaCompiler();
152
-
153
-		JavaBytecodeRunUnit runUnit = new JavaBytecodeRunUnit();
154
-		for (SemanticModule compiled : compiledModules)
155
-			runUnit.add(compiler.compile(compiled.name, compiled, javaSpace));
156
-		if (debug)
157
-			runUnit.dump(new File("classes"));
163
+	    JavaBytecodeRunUnit runUnit = createRunUnit();
158 164
         
159 165
         try {
160 166
             runUnit.run(arguments, parentClassLoader);

Loading…
Cancel
Save