From 921049ba02797202dc7178533776a459b5d4c87b Mon Sep 17 00:00:00 2001 From: Fusioon Date: Sat, 7 Sep 2024 10:12:37 +0200 Subject: [PATCH] Fix dangling error when typing delegate, disallow method body after delegate type --- IDEHelper/Compiler/BfReducer.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/IDEHelper/Compiler/BfReducer.cpp b/IDEHelper/Compiler/BfReducer.cpp index bf8a7771..72a93b0a 100644 --- a/IDEHelper/Compiler/BfReducer.cpp +++ b/IDEHelper/Compiler/BfReducer.cpp @@ -8911,10 +8911,15 @@ BfAstNode* BfReducer::CreateTopLevelObject(BfTokenNode* tokenNode, BfAttributeDi methodDecl->mGenericConstraintsDeclaration = NULL; } + if (methodDecl->mBody != NULL) + { + Fail("Unexpected method body after delegate/function type", methodDecl->mBody); + } + if (failed) return typeDeclaration; - if (methodDecl->mEndSemicolon == NULL) + if ((methodDecl->mEndSemicolon == NULL) && (methodDecl->mCloseParen != NULL)) FailAfter("Expected ';'", methodDecl->mCloseParen); //MEMBER_SET(methodDecl, mReturnType, retType);