1 package org.simantics.scl.compiler.source;
3 import java.io.IOException;
4 import java.io.InputStream;
5 import java.nio.charset.Charset;
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.ImportDeclaration;
10 import org.simantics.scl.compiler.module.repository.UpdateListener;
12 public class ClassModuleSource extends EncodedTextualModuleSource {
13 private final Class<?> clazz;
14 private final String path;
15 private final ClassLoader classLoader;
16 private final ImportDeclaration[] builtinImports;
18 public ClassModuleSource(String moduleName, Class<?> clazz, ClassLoader classLoader, String path, ImportDeclaration[] builtinImports) {
21 this.classLoader = classLoader;
23 this.builtinImports = builtinImports;
27 protected InputStream getSourceStream(UpdateListener listener)
29 return clazz.getResourceAsStream(path);
33 protected JavaReferenceValidator<?, ?, ?, ?> getJavaReferenceValidator() {
34 return new RuntimeJavaReferenceValidator(classLoader);
38 protected ImportDeclaration[] getBuiltinImports(UpdateListener listener) {
39 return builtinImports;