X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2FSCLTypeUtils.java;h=27955fb7ee2ae99d95eab3d19653e71c8bbc7441;hb=refs%2Fchanges%2F51%2F2551%2F1;hp=d3c7310e4ccf23c47350224f99fc0b3a45574082;hpb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling/src/org/simantics/modeling/SCLTypeUtils.java b/bundles/org.simantics.modeling/src/org/simantics/modeling/SCLTypeUtils.java index d3c7310e4..27955fb7e 100644 --- a/bundles/org.simantics.modeling/src/org/simantics/modeling/SCLTypeUtils.java +++ b/bundles/org.simantics.modeling/src/org/simantics/modeling/SCLTypeUtils.java @@ -16,8 +16,11 @@ import org.simantics.scl.compiler.types.TCon; import org.simantics.scl.compiler.types.Type; import org.simantics.scl.compiler.types.Types; import org.simantics.scl.compiler.types.kinds.Kinds; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class SCLTypeUtils { + private static final Logger LOGGER = LoggerFactory.getLogger(SCLTypeUtils.class); private static final THashMap TYPE_MAP = new THashMap(); private static void add(TCon type) { @@ -54,9 +57,18 @@ public class SCLTypeUtils { TYPE_MAP.put("Vector Float", Types.vector(Types.FLOAT)); TYPE_MAP.put("Vector Double", Types.vector(Types.DOUBLE)); TYPE_MAP.put("Vector String", Types.vector(Types.STRING)); - - add(Types.BYTE_ARRAY); + TYPE_MAP.put("ByteArray", Types.BYTE_ARRAY); + + // #83: L0.typeResource + TCon variable = Types.con("Simantics/Variables", "Variable"); + add(variable); + TYPE_MAP.put("Variable -> Resource -> Resource", + Types.functionE(new Type[] {variable, Types.RESOURCE}, Types.READ_GRAPH, Types.RESOURCE)); + add((TCon)Types.RESOURCE); + add(Types.con("Simantics/GUID", "GUID")); // L0.GUID + add(Types.con("Simantics/Variables", "StructuredProperty")); // L0.methods + add(Types.con("Simantics/Variables", "ValueAccessor")); // L0.ValueAccessor add(Types.con("Simantics/Variables", "VariableMap")); } @@ -68,7 +80,7 @@ public class SCLTypeUtils { public static Type getType(String typeText) { Type type = TYPE_MAP.get(typeText); if(type == null) { - System.err.println("SCLTypeUtils.getType cannot transform '" + typeText + "' to type. Returns a as default."); + LOGGER.warn("SCLTypeUtils.getType cannot transform '" + typeText + "' to type. Returns a as default."); return Types.var(Kinds.STAR); } return type; @@ -92,7 +104,7 @@ public class SCLTypeUtils { else if(dataType instanceof ArrayType) return Types.list(getType(((ArrayType)dataType).componentType)); else { - System.err.println("SCLTypeUtils.getType cannot transform data type '" + dataType + "' to type. Returns a as default."); + LOGGER.warn("SCLTypeUtils.getType cannot transform data type '" + dataType + "' to type. Returns a as default."); return Types.var(Kinds.STAR); } } @@ -103,7 +115,7 @@ public class SCLTypeUtils { else if(propertyInfo.requiredDatatype != null) return getType(propertyInfo.requiredDatatype); else { - System.err.println(propertyInfo.name + " doesn't have type information. Returns a as default."); + LOGGER.warn(propertyInfo.name + " doesn't have type information. Returns a as default."); return Types.var(Kinds.STAR); } }