From f43da38dbbfcea985f213713ce93bc88ff52560d Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Tue, 19 Nov 2024 09:08:15 -0500 Subject: [PATCH] Fixed null token crash while typing 'Program.this' --- IDEHelper/Compiler/BfReducer.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/IDEHelper/Compiler/BfReducer.cpp b/IDEHelper/Compiler/BfReducer.cpp index 73776fcb..09b11340 100644 --- a/IDEHelper/Compiler/BfReducer.cpp +++ b/IDEHelper/Compiler/BfReducer.cpp @@ -8327,15 +8327,17 @@ BfObjectCreateExpression* BfReducer::CreateObjectCreateExpression(BfAstNode* all if (objectCreateExpr->mCtorExplicit != NULL) { - nextToken = BfNodeDynCast(mVisitorPos.GetNext()); - if ((nextToken->mToken != NULL) && (nextToken->mToken == BfToken_LChevron)) + if (nextToken = BfNodeDynCast(mVisitorPos.GetNext())) { - mVisitorPos.MoveNext(); - auto genericParamsDecl = CreateGenericArguments(nextToken, true); - if (genericParamsDecl == NULL) - return objectCreateExpr; - MEMBER_SET(objectCreateExpr->mCtorExplicit, mGenericArgs, genericParamsDecl); - objectCreateExpr->mSrcEnd = objectCreateExpr->mCtorExplicit->mSrcEnd; + if ((nextToken->mToken != NULL) && (nextToken->mToken == BfToken_LChevron)) + { + mVisitorPos.MoveNext(); + auto genericParamsDecl = CreateGenericArguments(nextToken, true); + if (genericParamsDecl == NULL) + return objectCreateExpr; + MEMBER_SET(objectCreateExpr->mCtorExplicit, mGenericArgs, genericParamsDecl); + objectCreateExpr->mSrcEnd = objectCreateExpr->mCtorExplicit->mSrcEnd; + } } }