1 package org.simantics.scl.compiler.source;
3 import java.io.IOException;
4 import java.io.InputStream;
6 import org.simantics.scl.compiler.internal.codegen.types.JavaReferenceValidator;
7 import org.simantics.scl.compiler.internal.codegen.types.RuntimeJavaReferenceValidator;
8 import org.simantics.scl.compiler.module.ImportDeclaration;
9 import org.simantics.scl.compiler.module.repository.UpdateListener;
11 public class ClassModuleSource extends EncodedTextualModuleSource {
12 private final Class<?> clazz;
13 private final String path;
14 private final ClassLoader classLoader;
15 private final ImportDeclaration[] builtinImports;
17 public ClassModuleSource(String moduleName, Class<?> clazz, ClassLoader classLoader, String path, ImportDeclaration[] builtinImports) {
20 this.classLoader = classLoader;
22 this.builtinImports = builtinImports;
26 protected InputStream getSourceStream(UpdateListener listener)
28 return clazz.getResourceAsStream(path);
32 protected JavaReferenceValidator<?, ?, ?, ?> getJavaReferenceValidator() {
33 return new RuntimeJavaReferenceValidator(classLoader);
37 public ImportDeclaration[] getBuiltinImports(UpdateListener listener) {
38 return builtinImports;