Browse Source

Created ScriptingEngine#createScriptedModule overload that accepts loggers

kindlich 5 years ago
parent
commit
2255428bd9
No known key found for this signature in database

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

11
 import java.util.Collections;
11
 import java.util.Collections;
12
 import java.util.List;
12
 import java.util.List;
13
 import java.util.Map;
13
 import java.util.Map;
14
+import java.util.function.Consumer;
15
+
14
 import org.openzen.zencode.shared.CompileException;
16
 import org.openzen.zencode.shared.CompileException;
15
 import org.openzen.zencode.shared.SourceFile;
17
 import org.openzen.zencode.shared.SourceFile;
16
 import org.openzen.zenscript.codemodel.FunctionParameter;
18
 import org.openzen.zenscript.codemodel.FunctionParameter;
29
 import org.openzen.zenscript.parser.BracketExpressionParser;
31
 import org.openzen.zenscript.parser.BracketExpressionParser;
30
 import org.openzen.zenscript.parser.ParsedFile;
32
 import org.openzen.zenscript.parser.ParsedFile;
31
 import org.openzen.zenscript.parser.ZippedPackage;
33
 import org.openzen.zenscript.parser.ZippedPackage;
34
+import org.openzen.zenscript.validator.ValidationLogEntry;
32
 import org.openzen.zenscript.validator.Validator;
35
 import org.openzen.zenscript.validator.Validator;
33
 
36
 
34
 /**
37
 /**
92
 			BracketExpressionParser bracketParser,
95
 			BracketExpressionParser bracketParser,
93
 			FunctionParameter[] scriptParameters,
96
 			FunctionParameter[] scriptParameters,
94
 			String... dependencies) throws ParseException
97
 			String... dependencies) throws ParseException
98
+	{
99
+		return createScriptedModule(name, sources, bracketParser, scriptParameters, Throwable::printStackTrace, System.out::println , dependencies);
100
+	}
101
+	
102
+	public SemanticModule createScriptedModule(
103
+			String name,
104
+			SourceFile[] sources,
105
+			BracketExpressionParser bracketParser,
106
+			FunctionParameter[] scriptParameters,
107
+			Consumer<CompileException> compileExceptionConsumer,
108
+			Consumer<ValidationLogEntry> validatorErrorConsumer,
109
+			String... dependencies) throws ParseException
95
 	{
110
 	{
96
 		Module scriptModule = new Module(name);
111
 		Module scriptModule = new Module(name);
97
 		CompilingPackage scriptPackage = new CompilingPackage(new ZSPackage(space.rootPackage, name), scriptModule);
112
 		CompilingPackage scriptPackage = new CompilingPackage(new ZSPackage(space.rootPackage, name), scriptModule);
112
 				files,
127
 				files,
113
 				space,
128
 				space,
114
 				scriptParameters,
129
 				scriptParameters,
115
-				ex -> ex.printStackTrace());
130
+				compileExceptionConsumer);
116
 		if (!scripts.isValid())
131
 		if (!scripts.isValid())
117
 			return scripts;
132
 			return scripts;
118
 		
133
 		
119
 		return Validator.validate(
134
 		return Validator.validate(
120
 				scripts.normalize(),
135
 				scripts.normalize(),
121
-				error -> System.out.println(error.toString()));
136
+				validatorErrorConsumer);
122
 	}
137
 	}
123
 	
138
 	
124
 	public void registerCompiled(SemanticModule module) {
139
 	public void registerCompiled(SemanticModule module) {

Loading…
Cancel
Save