]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/source/repository/ClassModuleSourceRepository.java
Fixing a deadlock. Some improvements to ModuleSourceRepository API
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / source / repository / ClassModuleSourceRepository.java
index 873859a2de6a65c5a2eec24e853523bafae09913..581f1db8a617e3f6063f40f775ed6c3f9d31bcda 100644 (file)
@@ -2,6 +2,7 @@ package org.simantics.scl.compiler.source.repository;
 
 import java.io.IOException;
 import java.net.URL;
+import java.util.Collection;
 
 import org.simantics.scl.compiler.module.ImportDeclaration;
 import org.simantics.scl.compiler.module.repository.UpdateListener;
@@ -11,7 +12,7 @@ import org.simantics.scl.compiler.source.ModuleSource;
 import gnu.trove.procedure.TObjectProcedure;
 import gnu.trove.set.hash.THashSet;
 
-public class ClassModuleSourceRepository extends AbstractModuleSourceRepository {
+public class ClassModuleSourceRepository implements ModuleSourceRepository {
     
     private final Class<?> clazz;
     private final String path;
@@ -36,6 +37,11 @@ public class ClassModuleSourceRepository extends AbstractModuleSourceRepository
         return new ClassModuleSource(moduleName, clazz, classLoader, path + "/" + moduleName + ".scl", getBuiltinImports());
     }
 
+    @Override
+    public Collection<String> getModuleNames() {
+        return modules;
+    }
+    
     @Override
     public void forAllModules(TObjectProcedure<String> procedure) {
         modules.forEach(procedure);
@@ -44,9 +50,4 @@ public class ClassModuleSourceRepository extends AbstractModuleSourceRepository
     protected ImportDeclaration[] getBuiltinImports() {
         return ClassModuleSource.DEFAULT_IMPORTS;
     }
-
-    @Override
-    public void clear() {
-        
-    }
 }