X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Fmodule%2FConcreteModule.java;h=c6210ce49dcf99498b68e09946fb02593c06c308;hp=55ee202f7d78d9b56f189bee8df90d96920f03b7;hb=f5b8a3d0b68ab33a78235c5dfa84fc1d45f6271e;hpb=1c897891cc1509bb6b5be8dc1202de0dce3d3172 diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/ConcreteModule.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/ConcreteModule.java index 55ee202f7..c6210ce49 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/ConcreteModule.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/ConcreteModule.java @@ -37,6 +37,7 @@ public class ConcreteModule implements Module { THashMap typeClasses = new THashMap(); THashMap> typeClassInstances = new THashMap>(); THashMap values = new THashMap(); + THashMap> fieldAccessors = new THashMap>(); THashMap relations = new THashMap(); THashMap entityTypes = new THashMap(); THashMap rules = new THashMap(); @@ -106,6 +107,11 @@ public class ConcreteModule implements Module { addValue(value); return value; } + + @Override + public List getFieldAccessors(String name) { + return fieldAccessors.get(name); + } public void addRelation(String name, SCLRelation relation) { relations.put(name, relation); @@ -300,4 +306,13 @@ public class ConcreteModule implements Module { throw new NullPointerException(); this.parentClassLoader = parentClassLoader; } + + public void addFieldAccessor(String name, Constant accessor) { + List list = fieldAccessors.get(name); + if(list == null) { + list = new ArrayList(2); + fieldAccessors.put(name, list); + } + list.add(accessor); + } }