1 package org.simantics.scl.compiler.source;
3 import java.io.IOException;
5 import java.io.StringReader;
7 import org.simantics.scl.compiler.internal.codegen.types.JavaReferenceValidator;
8 import org.simantics.scl.compiler.internal.codegen.types.RuntimeJavaReferenceValidator;
9 import org.simantics.scl.compiler.module.repository.UpdateListener;
11 public class StringModuleSource extends TextualModuleSource {
12 private final String moduleText;
13 private final ClassLoader classLoader;
15 public StringModuleSource(String moduleName, ClassLoader classLoader, String moduleText) {
17 this.classLoader = classLoader;
18 this.moduleText = moduleText;
21 public StringModuleSource(String moduleName, String moduleText) {
22 this(moduleName, StringModuleSource.class.getClassLoader(), moduleText);
26 protected Reader getSourceReader(UpdateListener listener)
28 return new StringReader(moduleText);
32 public ClassLoader getClassLoader() {
37 protected JavaReferenceValidator<?, ?, ?, ?> getJavaReferenceValidator() {
38 return new RuntimeJavaReferenceValidator(getClassLoader());