diff --git a/IDEHelper/Compiler/BfModuleTypeUtils.cpp b/IDEHelper/Compiler/BfModuleTypeUtils.cpp index f96bc707..0bcef30e 100644 --- a/IDEHelper/Compiler/BfModuleTypeUtils.cpp +++ b/IDEHelper/Compiler/BfModuleTypeUtils.cpp @@ -8864,7 +8864,10 @@ BfType* BfModule::ResolveTypeRef(BfTypeReference* typeRef, BfPopulateType popula auto returnType = ResolveTypeRef(delegateTypeRef->mReturnType, NULL, BfPopulateType_Declaration); if (returnType == NULL) + { + failed = true; returnType = GetPrimitiveType(BfTypeCode_Var); + } _CheckType(returnType); BfType* functionThisType = NULL; diff --git a/IDEHelper/Compiler/BfResolvedTypeUtils.cpp b/IDEHelper/Compiler/BfResolvedTypeUtils.cpp index 83110855..5aee5c92 100644 --- a/IDEHelper/Compiler/BfResolvedTypeUtils.cpp +++ b/IDEHelper/Compiler/BfResolvedTypeUtils.cpp @@ -2848,7 +2848,7 @@ int BfResolvedTypeSet::Hash(BfTypeReference* typeRef, LookupContext* ctx, BfHash { return DirectHash(typeRef, ctx, flags); } - else if (auto genericInstTypeRef = BfNodeDynCastExact(typeRef)) + if (auto genericInstTypeRef = BfNodeDynCastExact(typeRef)) { //BfType* type = NULL; BfTypeDef* elementTypeDef = ctx->mModule->ResolveGenericInstanceDef(genericInstTypeRef, NULL, ctx->mResolveFlags); @@ -2926,9 +2926,6 @@ int BfResolvedTypeSet::Hash(BfTypeReference* typeRef, LookupContext* ctx, BfHash HashGenericArguments(genericInstTypeRef, ctx, hashVal); - /*for (auto genericArg : genericInstTypeRef->mGenericArguments) - hashVal = ((hashVal ^ (Hash(genericArg, ctx))) << 5) - hashVal;*/ - return hashVal; } else if (auto tupleTypeRef = BfNodeDynCastExact(typeRef))