1 package org.simantics.scl.compiler.environment;
3 import java.util.Collection;
6 import org.simantics.scl.compiler.common.names.Name;
7 import org.simantics.scl.compiler.constants.Constant;
8 import org.simantics.scl.compiler.elaboration.modules.SCLValue;
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.TypeDescriptor;
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;
18 public enum EmptyEnvironment implements Environment {
22 public Namespace getLocalNamespace() {
23 return EmptyNamespace.INSTANCE;
27 public SCLValue getValue(Name name) {
32 public List<Constant> getFieldAccessors(String name) {
37 public SCLRelation getRelation(Name name) {
42 public SCLEntityType getEntityType(Name name) {
47 public TypeDescriptor getTypeDescriptor(TCon type) {
52 public EffectConstructor getEffectConstructor(TCon type) {
57 public TypeClass getTypeClass(TCon type) {
62 public Collection<TypeClassInstance> getInstances(TCon typeClass) {
67 public void collectRules(Collection<TransformationRule> rules) {