From 323e69bbd6a7ec9f688f0d8ce541d86c3398fe73 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Sat, 19 Mar 2022 07:35:28 -0700 Subject: [PATCH] Fixed errors with null param typeref --- IDEHelper/Compiler/BfModule.cpp | 4 ++-- IDEHelper/Compiler/BfSystem.cpp | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index c4ed52e8..ef617ede 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -23120,12 +23120,12 @@ void BfModule::DoMethodDeclaration(BfMethodDeclaration* methodDeclaration, bool if (closureCaptureEntry != NULL) resolvedParamType = closureCaptureEntry->mType; - else if (paramDef->mTypeRef->IsA()) + else if ((paramDef->mTypeRef != NULL) && (paramDef->mTypeRef->IsA())) { Fail("Cannot declare 'let' parameters", paramDef->mTypeRef); resolvedParamType = mContext->mBfObjectType; } - else if (paramDef->mTypeRef->IsA()) + else if ((paramDef->mTypeRef != NULL) && (paramDef->mTypeRef->IsA())) { if (methodDef->mMethodType != BfMethodType_Mixin) { diff --git a/IDEHelper/Compiler/BfSystem.cpp b/IDEHelper/Compiler/BfSystem.cpp index ae5200f2..aa191f9e 100644 --- a/IDEHelper/Compiler/BfSystem.cpp +++ b/IDEHelper/Compiler/BfSystem.cpp @@ -614,7 +614,8 @@ String BfMethodDef::ToString() methodText += ", "; if (paramDef->mParamKind == BfParamKind_Params) methodText += "params "; - paramDef->mTypeRef->ToString(methodText); + if (paramDef->mTypeRef != NULL) + paramDef->mTypeRef->ToString(methodText); methodText += " "; methodText += paramDef->mName; if ((paramDef->mParamDeclaration != NULL) && (paramDef->mParamDeclaration->mInitializer != NULL)) @@ -3618,7 +3619,7 @@ int BfSystem::GetGenericParamIdx(const Array& genericParams, int BfSystem::GetGenericParamIdx(const Array& genericParams, BfTypeReference* typeRef) { - if (!typeRef->IsA()) + if ((typeRef == NULL) || (!typeRef->IsA())) return -1; return GetGenericParamIdx(genericParams, typeRef->ToString()); }