X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Fenvironment%2FEnvironment.java;fp=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Fenvironment%2FEnvironment.java;h=70c62062dcbdd0ee7b66923e682ddc74f6f327b6;hb=969bd23cab98a79ca9101af33334000879fb60c5;hp=0000000000000000000000000000000000000000;hpb=866dba5cd5a3929bbeae85991796acb212338a08;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/environment/Environment.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/environment/Environment.java new file mode 100644 index 000000000..70c62062d --- /dev/null +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/environment/Environment.java @@ -0,0 +1,30 @@ +package org.simantics.scl.compiler.environment; + +import java.util.Collection; + +import org.simantics.scl.compiler.common.names.Name; +import org.simantics.scl.compiler.elaboration.contexts.EnvironmentalContext; +import org.simantics.scl.compiler.elaboration.modules.SCLValue; +import org.simantics.scl.compiler.elaboration.modules.TypeAlias; +import org.simantics.scl.compiler.elaboration.modules.TypeClass; +import org.simantics.scl.compiler.elaboration.modules.TypeClassInstance; +import org.simantics.scl.compiler.elaboration.modules.TypeConstructor; +import org.simantics.scl.compiler.elaboration.relations.SCLEntityType; +import org.simantics.scl.compiler.elaboration.relations.SCLRelation; +import org.simantics.scl.compiler.elaboration.rules.TransformationRule; +import org.simantics.scl.compiler.internal.codegen.effects.EffectConstructor; +import org.simantics.scl.compiler.types.TCon; + +public interface Environment extends EnvironmentalContext { + Namespace getLocalNamespace(); + + SCLValue getValue(Name name); + SCLRelation getRelation(Name name); + SCLEntityType getEntityType(Name name); + TypeConstructor getTypeConstructor(TCon type); + EffectConstructor getEffectConstructor(TCon type); + TypeAlias getTypeAlias(TCon type); + TypeClass getTypeClass(TCon type); + Collection getInstances(TCon typeClass); + void collectRules(Collection rules); +}