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()); }