X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Ftypes%2FTypes.java;h=a9d779bfd81f83d856278ce8c7e76c68282397f9;hb=11eb20e8c57df9fc846ff200112fafb4b8683a05;hp=1a6bdc257a5ce6d2f995eaa0e0a42609c56d04fe;hpb=82a87b8535628d47d9c381e1a3a2296fb67c7fd0;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/types/Types.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/types/Types.java index 1a6bdc257..a9d779bfd 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/types/Types.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/types/Types.java @@ -57,15 +57,6 @@ public class Types { public static final TCon LONG = con(BUILTIN, "Long"); public static final TCon FLOAT = con(BUILTIN, "Float"); public static final TCon DOUBLE = con(BUILTIN, "Double"); - - public static final TCon BOOLEAN_ARRAY = con(BUILTIN, "BooleanArray"); - public static final TCon BYTE_ARRAY = con(BUILTIN, "ByteArray"); - public static final TCon CHARACTER_ARRAY = con(BUILTIN, "CharacterArray"); - public static final TCon SHORT_ARRAY = con(BUILTIN, "ShortArray"); - public static final TCon INTEGER_ARRAY = con(BUILTIN, "IntegerArray"); - public static final TCon LONG_ARRAY = con(BUILTIN, "LongArray"); - public static final TCon FLOAT_ARRAY = con(BUILTIN, "FloatArray"); - public static final TCon DOUBLE_ARRAY = con(BUILTIN, "DoubleArray"); public static final TCon STRING = con(BUILTIN, "String"); public static final TCon ARROW = con(BUILTIN, "->"); @@ -84,6 +75,7 @@ public class Types { public static final TCon TYPEABLE = con(BUILTIN, "Typeable"); public static final TCon SERIALIZABLE = con(BUILTIN, "Serializable"); public static final TCon VEC_COMP = con(BUILTIN, "VecComp"); + public static final TCon CLASS = con(BUILTIN, "Class"); public static final TCon BINDING = con(BUILTIN, "Binding"); public static final TCon TYPE = con(BUILTIN, "Type"); @@ -116,7 +108,15 @@ public class Types { public static final TCon BRANCH_POINT = con(BUILTIN, "BranchPoint"); public static final TCon CHRContext = con(BUILTIN, "CHRContext"); - + + public static final Type BOOLEAN_ARRAY = vector(BOOLEAN); + public static final Type BYTE_ARRAY = vector(BYTE); + public static final Type CHARACTER_ARRAY = vector(CHARACTER); + public static final Type SHORT_ARRAY = vector(SHORT); + public static final Type INTEGER_ARRAY = vector(INTEGER); + public static final Type LONG_ARRAY = vector(LONG); + public static final Type FLOAT_ARRAY = vector(FLOAT); + public static final Type DOUBLE_ARRAY = vector(DOUBLE); private volatile static TCon[] tupleCache = new TCon[] { UNIT, null @@ -1050,6 +1050,10 @@ public class Types { public static Type union(Type effect1, Type effect2) { return new TUnion(effect1, effect2); } + + public static Type union(Type effect1, Type effect2, Type effect3) { + return new TUnion(effect1, effect2, effect3); + } public static Type union(List effects) { if(effects.size() == 0) @@ -1120,17 +1124,9 @@ public class Types { return parseType(new TypeElaborationContext(environment), text); } - public static Type parseType(ITypeEnvironment environment, THashMap localTypeVars, String text) throws SCLTypeParseException { - return parseType(new TypeElaborationContext(localTypeVars, environment), text); - } - public static Type parseType(String text) throws SCLTypeParseException { return parseType(new TypeElaborationContext(DUMMY_TYPE_ENVIRONMENT), text); } - - public static Type parseType(THashMap localTypeVars, String text) throws SCLTypeParseException { - return parseType(new TypeElaborationContext(localTypeVars, DUMMY_TYPE_ENVIRONMENT), text); - } private static Type parseType(TypeElaborationContext context, String text) throws SCLTypeParseException { SCLParserImpl parser = new SCLParserImpl(new StringReader(text));