--- /dev/null
+package org.simantics.scl.compiler.runtime;\r
+\r
+import gnu.trove.map.hash.THashMap;\r
+\r
+import java.util.Collection;\r
+\r
+public class RuntimeModuleMap {\r
+ THashMap<String, RuntimeModule> moduleMap = new THashMap<String, RuntimeModule>(); \r
+ \r
+ public RuntimeModule get(String name) {\r
+ return moduleMap.get(name);\r
+ }\r
+ \r
+ public void add(RuntimeModule module) {\r
+ String name = module.module.getName();\r
+ if(!moduleMap.containsKey(name)) {\r
+ moduleMap.put(module.module.getName(), module);\r
+ for(RuntimeModule parentModule : module.parentModuleMap.values())\r
+ add(parentModule);\r
+ }\r
+ }\r
+\r
+ public Collection<RuntimeModule> values() {\r
+ return moduleMap.values();\r
+ }\r
+\r
+ public int size() {\r
+ return moduleMap.size();\r
+ }\r
+}\r