import java.io.IOException;
import java.io.Reader;
+import java.io.StringReader;
import java.util.Arrays;
import org.simantics.scl.compiler.compilation.SCLCompiler;
return getClass().getClassLoader();
}
- protected abstract Reader getSourceReader(UpdateListener listener) throws IOException;
+ protected Reader getSourceReader(UpdateListener listener) throws IOException {
+ return new StringReader(getSourceText(listener));
+ }
+
protected JavaReferenceValidator<?, ?, ?, ?> getJavaReferenceValidator() {
return new RuntimeJavaReferenceValidator(getClassLoader());
}
public String getSourceText(UpdateListener listener) throws IOException {
Reader reader = getSourceReader(listener);
- char[] buffer = new char[65536];
+ char[] buffer = new char[4096];
int pos = 0;
try {
while(true) {
}
}
- protected ImportDeclaration[] getBuiltinImports(UpdateListener listener) {
+ public ImportDeclaration[] getBuiltinImports(UpdateListener listener) {
return DEFAULT_IMPORTS;
}
public Failable<Module> compileModule(final ModuleRepository environment, final UpdateListener listener, ModuleCompilationOptions options) {
SCLCompiler compiler = new SCLCompiler(options, getJavaReferenceValidatorFactory());
try {
- compiler.addSource(getSourceReader(listener));
+ String source = getSourceText(listener);
+ compiler.addSource(source);
compiler.compile(
new EnvironmentFactoryImpl(
environment,