]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/runtime/RuntimeModuleMap.java
Merge commit 'fd452722e97db9cf876f4f03a9e44fe750625a92'
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / runtime / RuntimeModuleMap.java
1 package org.simantics.scl.compiler.runtime;\r
2 \r
3 import java.util.Collection;\r
4 \r
5 import gnu.trove.map.hash.THashMap;\r
6 \r
7 public class RuntimeModuleMap {\r
8     THashMap<String, RuntimeModule> moduleMap = new THashMap<String, RuntimeModule>(); \r
9     \r
10     public RuntimeModule get(String name) {\r
11         return moduleMap.get(name);\r
12     }\r
13     \r
14     public void add(RuntimeModule module) {\r
15         String name = module.module.getName();\r
16         if(!moduleMap.containsKey(name)) {\r
17             moduleMap.put(module.module.getName(), module);\r
18             for(RuntimeModule parentModule : module.parentModuleMap.values())\r
19                 add(parentModule);\r
20         }\r
21     }\r
22 \r
23     public Collection<RuntimeModule> values() {\r
24         return moduleMap.values();\r
25     }\r
26 \r
27     public int size() {\r
28         return moduleMap.size();\r
29     }\r
30 }\r