-package org.simantics.scl.compiler.module.repository;\r
-\r
-import gnu.trove.procedure.TObjectProcedure;\r
-\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-import java.util.regex.Pattern;\r
-\r
-import org.simantics.scl.compiler.elaboration.modules.SCLValue;\r
-import org.simantics.scl.compiler.environment.filter.AcceptAllNamespaceFilter;\r
-import org.simantics.scl.compiler.errors.Failable;\r
-import org.simantics.scl.compiler.module.Module;\r
-\r
-public class ModuleRepositories {\r
- public static List<SCLValue> allValuesMatching(final ModuleRepository repository, String pattern) {\r
- final Pattern compiledPattern = pattern == null ? null \r
- : Pattern.compile(".*" + pattern + ".*", Pattern.CASE_INSENSITIVE);\r
- final ArrayList<SCLValue> results = new ArrayList<SCLValue>(); \r
- repository.getSourceRepository().forAllModules(new TObjectProcedure<String>() {\r
- @Override\r
- public boolean execute(String moduleName) {\r
- Failable<Module> failableModule = repository.getModule(moduleName);\r
- if(!failableModule.didSucceed())\r
- return true;\r
- Module module = failableModule.getResult();\r
- module.findValuesForPrefix("", AcceptAllNamespaceFilter.INSTANCE, new TObjectProcedure<SCLValue>() {\r
- @Override\r
- public boolean execute(SCLValue value) {\r
- String name = value.getName().name;\r
- if(!value.isPrivate() && !name.startsWith("_") && !(name.contains("$") &&\r
- Character.isLetter(name.charAt(0))) && \r
- (compiledPattern == null || compiledPattern.matcher(name).matches())) {\r
- results.add(value);\r
- }\r
- return true;\r
- }\r
- });\r
- return true;\r
- }\r
- });\r
- return results;\r
- }\r
- \r
- public static List<SCLValue> allValues(ModuleRepository repository) {\r
- return allValuesMatching(repository, null);\r
- }\r
-}\r
+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<SCLValue> allValuesMatching(final ModuleRepository repository, String pattern) {
+ final Pattern compiledPattern = pattern == null ? null
+ : Pattern.compile(".*" + pattern + ".*", Pattern.CASE_INSENSITIVE);
+ final ArrayList<SCLValue> results = new ArrayList<SCLValue>();
+ repository.getSourceRepository().forAllModules(new TObjectProcedure<String>() {
+ @Override
+ public boolean execute(String moduleName) {
+ Failable<Module> failableModule = repository.getModule(moduleName);
+ if(!failableModule.didSucceed())
+ return true;
+ Module module = failableModule.getResult();
+ module.findValuesForPrefix("", AcceptAllNamespaceFilter.INSTANCE, new TObjectProcedure<SCLValue>() {
+ @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<SCLValue> allValues(ModuleRepository repository) {
+ return allValuesMatching(repository, null);
+ }
+}