1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-14 14:24:10 +02:00

Fixed errors with null param typeref

This commit is contained in:
Brian Fiete 2022-03-19 07:35:28 -07:00
parent 332bebe4ff
commit 323e69bbd6
2 changed files with 5 additions and 4 deletions

View file

@ -23120,12 +23120,12 @@ void BfModule::DoMethodDeclaration(BfMethodDeclaration* methodDeclaration, bool
if (closureCaptureEntry != NULL) if (closureCaptureEntry != NULL)
resolvedParamType = closureCaptureEntry->mType; resolvedParamType = closureCaptureEntry->mType;
else if (paramDef->mTypeRef->IsA<BfLetTypeReference>()) else if ((paramDef->mTypeRef != NULL) && (paramDef->mTypeRef->IsA<BfLetTypeReference>()))
{ {
Fail("Cannot declare 'let' parameters", paramDef->mTypeRef); Fail("Cannot declare 'let' parameters", paramDef->mTypeRef);
resolvedParamType = mContext->mBfObjectType; resolvedParamType = mContext->mBfObjectType;
} }
else if (paramDef->mTypeRef->IsA<BfVarTypeReference>()) else if ((paramDef->mTypeRef != NULL) && (paramDef->mTypeRef->IsA<BfVarTypeReference>()))
{ {
if (methodDef->mMethodType != BfMethodType_Mixin) if (methodDef->mMethodType != BfMethodType_Mixin)
{ {

View file

@ -614,6 +614,7 @@ String BfMethodDef::ToString()
methodText += ", "; methodText += ", ";
if (paramDef->mParamKind == BfParamKind_Params) if (paramDef->mParamKind == BfParamKind_Params)
methodText += "params "; methodText += "params ";
if (paramDef->mTypeRef != NULL)
paramDef->mTypeRef->ToString(methodText); paramDef->mTypeRef->ToString(methodText);
methodText += " "; methodText += " ";
methodText += paramDef->mName; methodText += paramDef->mName;
@ -3618,7 +3619,7 @@ int BfSystem::GetGenericParamIdx(const Array<BfGenericParamDef*>& genericParams,
int BfSystem::GetGenericParamIdx(const Array<BfGenericParamDef*>& genericParams, BfTypeReference* typeRef) int BfSystem::GetGenericParamIdx(const Array<BfGenericParamDef*>& genericParams, BfTypeReference* typeRef)
{ {
if (!typeRef->IsA<BfNamedTypeReference>()) if ((typeRef == NULL) || (!typeRef->IsA<BfNamedTypeReference>()))
return -1; return -1;
return GetGenericParamIdx(genericParams, typeRef->ToString()); return GetGenericParamIdx(genericParams, typeRef->ToString());
} }