]> gerrit.simantics Code Review - simantics/platform.git/blob - SCLEntityType.java
775e5b6f39241f4e422a85f765ec8072b79589b6
[simantics/platform.git] / SCLEntityType.java
1 package org.simantics.scl.compiler.elaboration.relations;
2
3
4
5 import org.simantics.scl.compiler.elaboration.contexts.TranslationContext;
6 import org.simantics.scl.compiler.elaboration.expressions.Variable;
7 import org.simantics.scl.compiler.elaboration.query.Query;
8
9 public interface SCLEntityType {
10     interface Attribute {
11     }
12     
13     class AttributeBinding {
14         public static final AttributeBinding[] EMPTY_ARRAY = new AttributeBinding[0];
15         
16         public Attribute attribute;
17         public Variable variable;
18         
19         public AttributeBinding(Attribute attribute, Variable variable) {
20             this.attribute = attribute;
21             this.variable = variable;
22         }
23     }
24     
25     Query generateQuery(TranslationContext context, Variable base, AttributeBinding[] attributeBindings);
26     Attribute getAttribute(String name);
27 }