]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/environment/Environment.java
Merge "Re-enabled Acorn transaction cancellation support for testing"
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / environment / Environment.java
1 package org.simantics.scl.compiler.environment;
2
3 import java.util.Collection;
4
5 import org.simantics.scl.compiler.common.names.Name;
6 import org.simantics.scl.compiler.elaboration.contexts.EnvironmentalContext;
7 import org.simantics.scl.compiler.elaboration.modules.SCLValue;
8 import org.simantics.scl.compiler.elaboration.modules.TypeClass;
9 import org.simantics.scl.compiler.elaboration.modules.TypeClassInstance;
10 import org.simantics.scl.compiler.elaboration.modules.TypeDescriptor;
11 import org.simantics.scl.compiler.elaboration.relations.SCLEntityType;
12 import org.simantics.scl.compiler.elaboration.relations.SCLRelation;
13 import org.simantics.scl.compiler.elaboration.rules.TransformationRule;
14 import org.simantics.scl.compiler.internal.codegen.effects.EffectConstructor;
15 import org.simantics.scl.compiler.types.TCon;
16
17 public interface Environment extends EnvironmentalContext {
18     Namespace getLocalNamespace();
19     
20     SCLValue getValue(Name name);
21     SCLRelation getRelation(Name name);
22     SCLEntityType getEntityType(Name name);
23     TypeDescriptor getTypeDescriptor(TCon type);
24     EffectConstructor getEffectConstructor(TCon type);
25     TypeClass getTypeClass(TCon type);
26     Collection<TypeClassInstance> getInstances(TCon typeClass);
27     void collectRules(Collection<TransformationRule> rules);
28 }