]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/source/repository/ModuleSourceRepository.java
Added a function to read the module source text
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / source / repository / ModuleSourceRepository.java
index c335a8aa1349d8bc4cf42c1c6ada90fd2961568e..fe014773c909f1ca0a4cc3f79439e8a4d7ab3b5b 100644 (file)
@@ -1,11 +1,13 @@
 package org.simantics.scl.compiler.source.repository;
 
+import java.io.IOException;
 import java.util.Collection;
 import java.util.Collections;
 
 import org.simantics.scl.compiler.module.repository.ModuleRepository;
 import org.simantics.scl.compiler.module.repository.UpdateListener;
 import org.simantics.scl.compiler.source.ModuleSource;
+import org.simantics.scl.compiler.source.TextualModuleSource;
 
 import gnu.trove.procedure.TObjectProcedure;
 
@@ -76,4 +78,13 @@ public interface ModuleSourceRepository {
      */
     default void clear() {
     }
+    
+    default String getPossibleSourceText(String moduleName) throws IOException {
+        ModuleSource moduleSource = getModuleSource(moduleName, null);
+        if(moduleSource == null)
+            return null;
+        if(!(moduleSource instanceof TextualModuleSource))
+            return null;
+        return ((TextualModuleSource)moduleSource).getSourceText(null);
+    }
 }