]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/source/PrecompiledModuleSource.java
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / source / PrecompiledModuleSource.java
1 package org.simantics.scl.compiler.source;
2
3 import org.simantics.scl.compiler.errors.Failable;
4 import org.simantics.scl.compiler.errors.Success;
5 import org.simantics.scl.compiler.module.Module;
6 import org.simantics.scl.compiler.module.options.ModuleCompilationOptions;
7 import org.simantics.scl.compiler.module.repository.ModuleRepository;
8 import org.simantics.scl.compiler.module.repository.UpdateListener;
9
10 public class PrecompiledModuleSource implements ModuleSource {
11
12     private final Module module;
13     private final double priority;
14     
15     public PrecompiledModuleSource(Module module, double priority) {
16         this.module = module;
17         this.priority = priority;
18     }
19     
20     public PrecompiledModuleSource(Module module) {
21         this(module, 0.0);
22     }
23
24     @Override
25     public String getModuleName() {
26         return module.getName();
27     }
28
29     @Override
30     public Failable<Module> compileModule(ModuleRepository environment,
31             UpdateListener listener, ModuleCompilationOptions options) {
32         return new Success<Module>(module);
33     }
34
35     @Override
36     public ClassLoader getClassLoader() {
37         return getClass().getClassLoader();
38     }
39
40     @Override
41     public double getPriority() {
42         return priority;
43     }
44     
45     @Override
46     public String toString() {
47         return "PrecompiledModuleSource(" + module.getName() + ")";
48     }
49 }