diff --git a/src/maple_ir/src/parser.cpp b/src/maple_ir/src/parser.cpp index aa382fea18e915f9be3ed1a969024ce37ad50bb0..a2ed490eff41e3a4380ce6f7be1cf6ada697c6ba 100644 --- a/src/maple_ir/src/parser.cpp +++ b/src/maple_ir/src/parser.cpp @@ -849,7 +849,7 @@ bool MIRParser::ParseStructType(TyIdx &styIdx) { MIRType *prevType = GlobalTables::GetTypeTable().GetTypeFromTyIdx(styIdx); ASSERT(prevType->GetKind() == kTypeStruct || prevType->GetKind() == kTypeStructIncomplete, "type kind should be consistent."); - if (static_cast(prevType)->IsIncomplete() && !(structType.IsIncomplete())) { + if (prevType->IsIncomplete() && !(structType.IsIncomplete())) { structType.SetNameStrIdx(prevType->GetNameStrIdx()); structType.SetTypeIndex(styIdx); GlobalTables::GetTypeTable().SetTypeWithTyIdx(styIdx, *structType.CopyMIRTypeNode()); @@ -880,7 +880,7 @@ bool MIRParser::ParseClassType(TyIdx &styidx) { MIRType *prevType = GlobalTables::GetTypeTable().GetTypeFromTyIdx(styidx); ASSERT(prevType->GetKind() == kTypeClass || prevType->GetKind() == kTypeClassIncomplete, "type kind should be consistent."); - if (static_cast(prevType)->IsIncomplete() && !(classType.IsIncomplete())) { + if (prevType->IsIncomplete() && !(classType.IsIncomplete())) { classType.SetNameStrIdx(prevType->GetNameStrIdx()); classType.SetTypeIndex(styidx); GlobalTables::GetTypeTable().SetTypeWithTyIdx(styidx, *classType.CopyMIRTypeNode()); @@ -921,9 +921,9 @@ bool MIRParser::ParseInterfaceType(TyIdx &sTyIdx) { } if (sTyIdx != 0u) { MIRType *prevType = GlobalTables::GetTypeTable().GetTypeFromTyIdx(sTyIdx); - ASSERT(prevType->GetKind() == kTypeInterface || prevType->GetKind() == kTypeInterfaceIncomplete, + ASSERT(prevType->GetKind() == kTypeInterface || prevType->IsIncomplete(), "type kind should be consistent."); - if (static_cast(prevType)->IsIncomplete() && !(interfaceType.IsIncomplete())) { + if (prevType->IsIncomplete() && !(interfaceType.IsIncomplete())) { interfaceType.SetNameStrIdx(prevType->GetNameStrIdx()); interfaceType.SetTypeIndex(sTyIdx); GlobalTables::GetTypeTable().SetTypeWithTyIdx(sTyIdx, *interfaceType.CopyMIRTypeNode()); @@ -1511,9 +1511,6 @@ bool MIRParser::ParseTypedef() { Error("error passing derived type at "); return false; } - if (prevTyIdx != 0u) { - return true; - } // for class/interface types, prev_tyidx could also be set during processing // so we check again right before SetGStrIdxToTyIdx if (isLocal) {