]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/environment/Environment.java
Migrated source code from Simantics SVN
[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.TypeAlias;
9 import org.simantics.scl.compiler.elaboration.modules.TypeClass;
10 import org.simantics.scl.compiler.elaboration.modules.TypeClassInstance;
11 import org.simantics.scl.compiler.elaboration.modules.TypeConstructor;
12 import org.simantics.scl.compiler.elaboration.relations.SCLEntityType;
13 import org.simantics.scl.compiler.elaboration.relations.SCLRelation;
14 import org.simantics.scl.compiler.elaboration.rules.TransformationRule;
15 import org.simantics.scl.compiler.internal.codegen.effects.EffectConstructor;
16 import org.simantics.scl.compiler.types.TCon;
17
18 public interface Environment extends EnvironmentalContext {
19     Namespace getLocalNamespace();
20     
21     SCLValue getValue(Name name);
22     SCLRelation getRelation(Name name);
23     SCLEntityType getEntityType(Name name);
24     TypeConstructor getTypeConstructor(TCon type);
25     EffectConstructor getEffectConstructor(TCon type);
26     TypeAlias getTypeAlias(TCon type);
27     TypeClass getTypeClass(TCon type);
28     Collection<TypeClassInstance> getInstances(TCon typeClass);
29     void collectRules(Collection<TransformationRule> rules);
30 }