示例#1
0
 std::string visitUnionType(const UnionType& type) const {
     std::string str = visitType(type);
     str+="[";
     bool first=true;
     for(auto unionType: type.getElementTypes()) { 
         if(first) first = false; else str+=",";
         str+=visit(*unionType);
     } 
     str+="]";
     return str;
 }
示例#2
0
 std::string visitRecordType(const RecordType& type) const {
     std::string str = visitType(type);
     str+="{";
     bool first=true;
     for(auto field: type.getFields()) { 
         if(first) first = false; else str+=",";
         str+=field.name;
         str+="#";
         str+=visit(field.type);
     }
     str+="}";
     return str;
 }
示例#3
0
文件: resolve.cpp 项目: zeux/aike
static void resolveType(ResolveNames& rs, Ty* type)
{
	visitType(type, resolveTypeInstance, rs);
}