private static void addIncompleteCollectionTypeReference(AbstractCollectionType collType, TypeReferenceExpression tre, Map<TypeSignature, List<AbstractCollectionType>> incompleteItemTypes, String defaultDataverse) { String typeName = tre.getIdent().second.getValue(); TypeSignature typeSignature = new TypeSignature( tre.getIdent().first == null ? defaultDataverse : tre.getIdent().first.getValue(), typeName); List<AbstractCollectionType> typeList = incompleteItemTypes.get(typeSignature); if (typeList == null) { typeList = new LinkedList<>(); incompleteItemTypes.put(typeSignature, typeList); } typeList.add(collType); }
private static void addIncompleteTopLevelTypeReference(TypeReferenceExpression tre, Map<TypeSignature, List<TypeSignature>> incompleteTopLevelTypeReferences, String defaultDataverse) { String name = tre.getIdent().second.getValue(); TypeSignature typeSignature = new TypeSignature( tre.getIdent().first == null ? defaultDataverse : tre.getIdent().first.getValue(), name); List<TypeSignature> refList = incompleteTopLevelTypeReferences.get(name); if (refList == null) { refList = new LinkedList<>(); incompleteTopLevelTypeReferences.put( new TypeSignature(tre.getIdent().first == null ? defaultDataverse : tre.getIdent().first.getValue(), tre.getIdent().second.getValue()), refList); } refList.add(typeSignature); }
throw new AlgebricksException("Cannot redefine builtin type " + typeName + " ."); TypeSignature typeSignature = new TypeSignature(typeDataverse, typeName); switch (typeExpr.getTypeKind()) { case TYPEREFERENCE: { TypeReferenceExpression tre = (TypeReferenceExpression) typeExpr; IAType t = solveTypeReference(new TypeSignature( tre.getIdent().first == null ? typeDataverse : tre.getIdent().first.getValue(), tre.getIdent().second.getValue()), typeMap);
case TYPEREFERENCE: { TypeReferenceExpression tre = (TypeReferenceExpression) texpr; TypeSignature signature = new TypeSignature( tre.getIdent().first == null ? defaultDataverse : tre.getIdent().first.getValue(), tre.getIdent().second.getValue());
public void translate() throws AlgebricksException { String defaultDataverse = getDefaultDataverse(); types = new HashMap<>(); typeDataGenMap = new HashMap<>(); for (Statement stmt : statements) { if (stmt.getKind() == Statement.Kind.TYPE_DECL) { TypeDecl td = (TypeDecl) stmt; String typeDataverse = td.getDataverseName() == null ? defaultDataverse : td.getDataverseName().getValue(); Map<TypeSignature, IAType> typeInStmt = TypeTranslator.computeTypes(mdTxnCtx, td.getTypeDef(), td.getIdent().getValue(), typeDataverse, types); types.putAll(typeInStmt); TypeSignature signature = new TypeSignature(typeDataverse, td.getIdent().getValue()); TypeDataGen tdg = td.getDatagenAnnotation(); if (tdg != null) { typeDataGenMap.put(signature, tdg); } } } }
TypeSignature typeSignature = new TypeSignature(dataverseName, indexName); fieldType = typeMap.get(typeSignature); overridesFieldTypes = true;
TypeSignature signature = new TypeSignature( tre.getIdent().first == null ? defaultDataverse : tre.getIdent().first.getValue(), tre.getIdent().second.getValue());
Map<TypeSignature, IAType> typeMap = TypeTranslator.computeTypes(mdTxnCtx, stmtCreateType.getTypeDef(), stmtCreateType.getIdent().getValue(), dataverseName); TypeSignature typeSignature = new TypeSignature(dataverseName, typeName); IAType type = typeMap.get(typeSignature); MetadataManager.INSTANCE.addDatatype(mdTxnCtx, new Datatype(dataverseName, typeName, type, false));