//------------------------------------------------------------ // TypeInfo生成 static TypeInfo createTypeInfo( TypePath aTP , bool aIsConst , bool aIsIn , bool aIsRef ) { BuiltInType builtInType = aTP.BuiltInType; TypeInfo.TypeKind kind = TypeInfo.TypeKind.VALUE; if (builtInType == BuiltInType.Void) { kind = TypeInfo.TypeKind.UNKNOWN; } if (aIsIn) { if (aTP.BuiltInType == BuiltInType.Unknown) { aIsConst = true; aIsRef = true; } else { aIsConst = true; } } return(new TypeInfo( new TypeInfo.TypeSymbol(builtInType) , kind , new TypeInfo.TypeAttribute(aIsConst, aIsRef) )); }
//------------------------------------------------------------ // TypeInfoを生成する。 public TypeInfo CreateTypeInfo(TypePath typePath) { BuiltInType builtInType = typePath.BuiltInType; TypeInfo.TypeKind kind = TypeInfo.TypeKind.VALUE; if (builtInType == BuiltInType.Void) { kind = TypeInfo.TypeKind.UNKNOWN; } return(new TypeInfo( new TypeInfo.TypeSymbol(builtInType) , kind , new TypeInfo.TypeAttribute(false, false) )); }