X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Fmodule%2Frepository%2FModuleRepositories.java;h=ad335215c82945d1bc8580addb106289a87caca6;hb=4e753de3df98d5411f8329205c0e03f2e13e3c1d;hp=3a39c4e0e2252ecc823eb238e2ba33cf601aaaaa;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/repository/ModuleRepositories.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/repository/ModuleRepositories.java index 3a39c4e0e..ad335215c 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/repository/ModuleRepositories.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/repository/ModuleRepositories.java @@ -1,47 +1,47 @@ -package org.simantics.scl.compiler.module.repository; - -import gnu.trove.procedure.TObjectProcedure; - -import java.util.ArrayList; -import java.util.List; -import java.util.regex.Pattern; - -import org.simantics.scl.compiler.elaboration.modules.SCLValue; -import org.simantics.scl.compiler.environment.filter.AcceptAllNamespaceFilter; -import org.simantics.scl.compiler.errors.Failable; -import org.simantics.scl.compiler.module.Module; - -public class ModuleRepositories { - public static List allValuesMatching(final ModuleRepository repository, String pattern) { - final Pattern compiledPattern = pattern == null ? null - : Pattern.compile(".*" + pattern + ".*", Pattern.CASE_INSENSITIVE); - final ArrayList results = new ArrayList(); - repository.getSourceRepository().forAllModules(new TObjectProcedure() { - @Override - public boolean execute(String moduleName) { - Failable failableModule = repository.getModule(moduleName); - if(!failableModule.didSucceed()) - return true; - Module module = failableModule.getResult(); - module.findValuesForPrefix("", AcceptAllNamespaceFilter.INSTANCE, new TObjectProcedure() { - @Override - public boolean execute(SCLValue value) { - String name = value.getName().name; - if(!value.isPrivate() && !name.startsWith("_") && !(name.contains("$") && - Character.isLetter(name.charAt(0))) && - (compiledPattern == null || compiledPattern.matcher(name).matches())) { - results.add(value); - } - return true; - } - }); - return true; - } - }); - return results; - } - - public static List allValues(ModuleRepository repository) { - return allValuesMatching(repository, null); - } -} +package org.simantics.scl.compiler.module.repository; + +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Pattern; + +import org.simantics.scl.compiler.elaboration.modules.SCLValue; +import org.simantics.scl.compiler.environment.filter.AcceptAllNamespaceFilter; +import org.simantics.scl.compiler.errors.Failable; +import org.simantics.scl.compiler.module.Module; + +import gnu.trove.procedure.TObjectProcedure; + +public class ModuleRepositories { + public static List allValuesMatching(final ModuleRepository repository, String pattern) { + final Pattern compiledPattern = pattern == null ? null + : Pattern.compile(".*" + pattern + ".*", Pattern.CASE_INSENSITIVE); + final ArrayList results = new ArrayList(); + repository.getSourceRepository().forAllModules(new TObjectProcedure() { + @Override + public boolean execute(String moduleName) { + Failable failableModule = repository.getModule(moduleName); + if(!failableModule.didSucceed()) + return true; + Module module = failableModule.getResult(); + module.findValuesForPrefix("", AcceptAllNamespaceFilter.INSTANCE, new TObjectProcedure() { + @Override + public boolean execute(SCLValue value) { + String name = value.getName().name; + if(!value.isPrivate() && !name.startsWith("_") && !(name.contains("$") && + Character.isLetter(name.charAt(0))) && + (compiledPattern == null || compiledPattern.matcher(name).matches())) { + results.add(value); + } + return true; + } + }); + return true; + } + }); + return results; + } + + public static List allValues(ModuleRepository repository) { + return allValuesMatching(repository, null); + } +}