X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Fsource%2Frepository%2FModuleSourceRepository.java;h=fe014773c909f1ca0a4cc3f79439e8a4d7ab3b5b;hb=refs%2Fchanges%2F03%2F1603%2F1;hp=c335a8aa1349d8bc4cf42c1c6ada90fd2961568e;hpb=ca40974f87c9db00eb77aaf1acc1e9937b37261b;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/source/repository/ModuleSourceRepository.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/source/repository/ModuleSourceRepository.java index c335a8aa1..fe014773c 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/source/repository/ModuleSourceRepository.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/source/repository/ModuleSourceRepository.java @@ -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); + } }