diff --git a/IDEHelper/Compiler/BfModuleTypeUtils.cpp b/IDEHelper/Compiler/BfModuleTypeUtils.cpp index f44c2c22..2ef13cd8 100644 --- a/IDEHelper/Compiler/BfModuleTypeUtils.cpp +++ b/IDEHelper/Compiler/BfModuleTypeUtils.cpp @@ -7130,6 +7130,11 @@ BfType* BfModule::ResolveTypeRef(BfTypeReference* typeRef, BfPopulateType popula } } + if (typeRef->ToString() == "Issue.I?") + { + NOP; + } + BfResolvedTypeSet::LookupContext lookupCtx; lookupCtx.mRootTypeRef = typeRef; lookupCtx.mRootTypeDef = typeDef; diff --git a/IDEHelper/Compiler/BfResolvedTypeUtils.cpp b/IDEHelper/Compiler/BfResolvedTypeUtils.cpp index ee630ddf..be5ab16f 100644 --- a/IDEHelper/Compiler/BfResolvedTypeUtils.cpp +++ b/IDEHelper/Compiler/BfResolvedTypeUtils.cpp @@ -3065,6 +3065,8 @@ BfTypeDef* BfResolvedTypeSet::LookupContext::ResolveToTypeDef(BfTypeReference* t auto type = mModule->ResolveTypeRef(typeReference, BfPopulateType_Identity, BfResolveTypeRefFlag_AllowGenericParamConstValue); if (type == NULL) return NULL; + if (type->IsPrimitiveType()) + return ((BfPrimitiveType*)type)->mTypeDef; auto typeInst = type->ToTypeInstance(); if (typeInst == NULL) return NULL; @@ -3259,18 +3261,9 @@ bool BfResolvedTypeSet::Equals(BfType* lhs, BfTypeReference* rhs, LookupContext* return true; } - if (!rhs->IsTypeDefTypeReference()) - return false; - BfPrimitiveType* lhsPrimType = (BfPrimitiveType*)lhs; auto rhsTypeDef = ctx->ResolveToTypeDef(rhs); return lhsPrimType->mTypeDef == rhsTypeDef; - -// auto rhsTypeDefTypeRef = BfNodeDynCast(rhs); -// if (rhsTypeDefTypeRef == NULL) -// return false; -// BfPrimitiveType* lhsPrimType = (BfPrimitiveType*)lhs; -// return lhsPrimType->mTypeDef == rhsTypeDefTypeRef->mTypeDef; } else if (lhs->IsPointer()) {