]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/environment/AbstractEnvironment.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / environment / AbstractEnvironment.java
index d6929232a99f1563d6f97d2b6982e27e453580da..a0d20b56802804323a3e5c12412694236c058724 100644 (file)
@@ -1,96 +1,96 @@
-package org.simantics.scl.compiler.environment;\r
-\r
-import java.util.ArrayList;\r
-import java.util.Collection;\r
-import java.util.Collections;\r
-\r
-import org.simantics.scl.compiler.common.names.Name;\r
-import org.simantics.scl.compiler.elaboration.modules.SCLValue;\r
-import org.simantics.scl.compiler.elaboration.modules.TypeClass;\r
-import org.simantics.scl.compiler.elaboration.modules.TypeClassInstance;\r
-import org.simantics.scl.compiler.elaboration.modules.TypeDescriptor;\r
-import org.simantics.scl.compiler.elaboration.relations.SCLEntityType;\r
-import org.simantics.scl.compiler.elaboration.relations.SCLRelation;\r
-import org.simantics.scl.compiler.internal.codegen.effects.EffectConstructor;\r
-import org.simantics.scl.compiler.module.Module;\r
-import org.simantics.scl.compiler.types.TCon;\r
-\r
-public abstract class AbstractEnvironment implements Environment {\r
-    protected abstract Module getModule(String name);\r
-    protected abstract Collection<Module> getModules();\r
-    \r
-    @Override\r
-    public SCLValue getValue(Name name) {\r
-        Module module = getModule(name.module);\r
-        if(module == null)\r
-            return null;\r
-        return module.getValue(name.name);\r
-    }\r
-\r
-    @Override\r
-    public SCLRelation getRelation(Name name) {\r
-        Module module = getModule(name.module);\r
-        if(module == null)\r
-            return null;\r
-        return module.getRelation(name.name);\r
-    }\r
-\r
-    @Override\r
-    public SCLEntityType getEntityType(Name name) {\r
-        Module module = getModule(name.module);\r
-        if(module == null)\r
-            return null;\r
-        return module.getEntityType(name.name);\r
-    }\r
-\r
-    @Override\r
-    public TypeDescriptor getTypeDescriptor(TCon type) {\r
-        Module module = getModule(type.module);\r
-        if(module == null)\r
-            return null;\r
-        return module.getTypeDescriptor(type.name);\r
-    }\r
-\r
-    @Override\r
-    public EffectConstructor getEffectConstructor(TCon type) {\r
-        Module module = getModule(type.module);\r
-        if(module == null)\r
-            return null;\r
-        return module.getEffectConstructor(type.name);\r
-    }\r
-\r
-    @Override\r
-    public TypeClass getTypeClass(TCon type) {\r
-        Module module = getModule(type.module);\r
-        if(module == null)\r
-            return null;\r
-        return module.getTypeClass(type.name);\r
-    }\r
-\r
-    @Override\r
-    public Collection<TypeClassInstance> getInstances(TCon typeClass) {\r
-        Collection<TypeClassInstance> result = Collections.emptyList();\r
-        int nonemptySubresults = 0;\r
-        for(Module module : getModules()) {\r
-            Collection<TypeClassInstance> instances = module.getInstances(typeClass);\r
-            if(!instances.isEmpty()) {\r
-                switch(nonemptySubresults) {\r
-                case 0:\r
-                    result = instances;\r
-                    break;\r
-                case 1: {\r
-                    ArrayList<TypeClassInstance> temp =\r
-                            new ArrayList<TypeClassInstance>(\r
-                                    ((result.size() + instances.size())*3) / 2);\r
-                    temp.addAll(result);\r
-                    result = temp;\r
-                }\r
-                default:\r
-                    result.addAll(instances);\r
-                }\r
-                ++nonemptySubresults;\r
-            }\r
-        }\r
-        return result;\r
-    }\r
-}\r
+package org.simantics.scl.compiler.environment;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+
+import org.simantics.scl.compiler.common.names.Name;
+import org.simantics.scl.compiler.elaboration.modules.SCLValue;
+import org.simantics.scl.compiler.elaboration.modules.TypeClass;
+import org.simantics.scl.compiler.elaboration.modules.TypeClassInstance;
+import org.simantics.scl.compiler.elaboration.modules.TypeDescriptor;
+import org.simantics.scl.compiler.elaboration.relations.SCLEntityType;
+import org.simantics.scl.compiler.elaboration.relations.SCLRelation;
+import org.simantics.scl.compiler.internal.codegen.effects.EffectConstructor;
+import org.simantics.scl.compiler.module.Module;
+import org.simantics.scl.compiler.types.TCon;
+
+public abstract class AbstractEnvironment implements Environment {
+    protected abstract Module getModule(String name);
+    protected abstract Collection<Module> getModules();
+    
+    @Override
+    public SCLValue getValue(Name name) {
+        Module module = getModule(name.module);
+        if(module == null)
+            return null;
+        return module.getValue(name.name);
+    }
+
+    @Override
+    public SCLRelation getRelation(Name name) {
+        Module module = getModule(name.module);
+        if(module == null)
+            return null;
+        return module.getRelation(name.name);
+    }
+
+    @Override
+    public SCLEntityType getEntityType(Name name) {
+        Module module = getModule(name.module);
+        if(module == null)
+            return null;
+        return module.getEntityType(name.name);
+    }
+
+    @Override
+    public TypeDescriptor getTypeDescriptor(TCon type) {
+        Module module = getModule(type.module);
+        if(module == null)
+            return null;
+        return module.getTypeDescriptor(type.name);
+    }
+
+    @Override
+    public EffectConstructor getEffectConstructor(TCon type) {
+        Module module = getModule(type.module);
+        if(module == null)
+            return null;
+        return module.getEffectConstructor(type.name);
+    }
+
+    @Override
+    public TypeClass getTypeClass(TCon type) {
+        Module module = getModule(type.module);
+        if(module == null)
+            return null;
+        return module.getTypeClass(type.name);
+    }
+
+    @Override
+    public Collection<TypeClassInstance> getInstances(TCon typeClass) {
+        Collection<TypeClassInstance> result = Collections.emptyList();
+        int nonemptySubresults = 0;
+        for(Module module : getModules()) {
+            Collection<TypeClassInstance> instances = module.getInstances(typeClass);
+            if(!instances.isEmpty()) {
+                switch(nonemptySubresults) {
+                case 0:
+                    result = instances;
+                    break;
+                case 1: {
+                    ArrayList<TypeClassInstance> temp =
+                            new ArrayList<TypeClassInstance>(
+                                    ((result.size() + instances.size())*3) / 2);
+                    temp.addAll(result);
+                    result = temp;
+                }
+                default:
+                    result.addAll(instances);
+                }
+                ++nonemptySubresults;
+            }
+        }
+        return result;
+    }
+}