]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/parsing/types/TForAllAst.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / internal / parsing / types / TForAllAst.java
index c3805c6c722d90ea6130ab24b8d330481073479c..0a74e85b39865837abdbbff2d6b722b0f34da879 100644 (file)
@@ -1,69 +1,69 @@
-package org.simantics.scl.compiler.internal.parsing.types;\r
-\r
-import org.simantics.scl.compiler.elaboration.contexts.TypeTranslationContext;\r
-import org.simantics.scl.compiler.internal.types.TypeElaborationContext;\r
-import org.simantics.scl.compiler.types.TVar;\r
-import org.simantics.scl.compiler.types.Type;\r
-import org.simantics.scl.compiler.types.Types;\r
-import org.simantics.scl.compiler.types.kinds.Kind;\r
-import org.simantics.scl.compiler.types.kinds.Kinds;\r
-\r
-import gnu.trove.map.hash.TObjectIntHashMap;\r
-import gnu.trove.set.hash.TIntHashSet;\r
-\r
-\r
-\r
-public class TForAllAst extends TypeAst {\r
-    public final String[] vars;\r
-    public final TypeAst type;\r
-    \r
-    public TForAllAst(String[] vars, TypeAst type) {\r
-        this.vars = vars;\r
-        this.type = type;\r
-    }\r
-    \r
-    @Override\r
-    public void toString(StringBuilder b) {\r
-        b.append("forall");\r
-        for(String var : vars) {\r
-            b.append(' ');\r
-            b.append(var);\r
-        }\r
-        b.append(". ");\r
-        type.toString(b);\r
-    }\r
-\r
-    @Override\r
-    public Type toType(TypeTranslationContext context, Kind expectedKind) {\r
-        context.unify(location, Kinds.STAR, expectedKind);\r
-        TVar[] oldVars = new TVar[vars.length];\r
-        for(int i=0;i<vars.length;++i)\r
-            oldVars[i] = context.pushTypeVar(vars[i]);\r
-        Type result = type.toType(context, Kinds.STAR);\r
-        for(int i=vars.length-1;i>=0;--i)\r
-            result = Types.forAll(context.popTypeVar(vars[i], oldVars[i]), result);\r
-        return result;\r
-    }\r
-    \r
-    @Override\r
-    public Type toType(TypeElaborationContext context) {\r
-        TVar[] oldVars = new TVar[vars.length];\r
-        for(int i=0;i<vars.length;++i)\r
-            oldVars[i] = context.push(vars[i]);\r
-        Type result = type.toType(context);\r
-        for(int i=vars.length-1;i>=0;--i)\r
-            result = Types.forAll(context.pop(vars[i], oldVars[i]), result);\r
-        return result;\r
-    }\r
-    \r
-    @Override\r
-    public int getPrecedence() {\r
-        return 2;\r
-    }\r
-\r
-    @Override\r
-    public void collectReferences(TObjectIntHashMap<String> typeNameMap,\r
-            TIntHashSet set) {\r
-        type.collectReferences(typeNameMap, set);\r
-    }\r
-}\r
+package org.simantics.scl.compiler.internal.parsing.types;
+
+import org.simantics.scl.compiler.elaboration.contexts.TypeTranslationContext;
+import org.simantics.scl.compiler.internal.types.TypeElaborationContext;
+import org.simantics.scl.compiler.types.TVar;
+import org.simantics.scl.compiler.types.Type;
+import org.simantics.scl.compiler.types.Types;
+import org.simantics.scl.compiler.types.kinds.Kind;
+import org.simantics.scl.compiler.types.kinds.Kinds;
+
+import gnu.trove.map.hash.TObjectIntHashMap;
+import gnu.trove.set.hash.TIntHashSet;
+
+
+
+public class TForAllAst extends TypeAst {
+    public final String[] vars;
+    public final TypeAst type;
+    
+    public TForAllAst(String[] vars, TypeAst type) {
+        this.vars = vars;
+        this.type = type;
+    }
+    
+    @Override
+    public void toString(StringBuilder b) {
+        b.append("forall");
+        for(String var : vars) {
+            b.append(' ');
+            b.append(var);
+        }
+        b.append(". ");
+        type.toString(b);
+    }
+
+    @Override
+    public Type toType(TypeTranslationContext context, Kind expectedKind) {
+        context.unify(location, Kinds.STAR, expectedKind);
+        TVar[] oldVars = new TVar[vars.length];
+        for(int i=0;i<vars.length;++i)
+            oldVars[i] = context.pushTypeVar(vars[i]);
+        Type result = type.toType(context, Kinds.STAR);
+        for(int i=vars.length-1;i>=0;--i)
+            result = Types.forAll(context.popTypeVar(vars[i], oldVars[i]), result);
+        return result;
+    }
+    
+    @Override
+    public Type toType(TypeElaborationContext context) {
+        TVar[] oldVars = new TVar[vars.length];
+        for(int i=0;i<vars.length;++i)
+            oldVars[i] = context.push(vars[i]);
+        Type result = type.toType(context);
+        for(int i=vars.length-1;i>=0;--i)
+            result = Types.forAll(context.pop(vars[i], oldVars[i]), result);
+        return result;
+    }
+    
+    @Override
+    public int getPrecedence() {
+        return 2;
+    }
+
+    @Override
+    public void collectReferences(TObjectIntHashMap<String> typeNameMap,
+            TIntHashSet set) {
+        type.collectReferences(typeNameMap, set);
+    }
+}