From 865e70d73af98a422eba5c9797fbde558bff1ac7 Mon Sep 17 00:00:00 2001 From: Fusioon Date: Sun, 9 Mar 2025 02:48:39 +0100 Subject: [PATCH] Expect semicolon after expression body property --- IDEHelper/Compiler/BfPrinter.cpp | 1 + IDEHelper/Compiler/BfReducer.cpp | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/IDEHelper/Compiler/BfPrinter.cpp b/IDEHelper/Compiler/BfPrinter.cpp index dd8442d7..c66c1ede 100644 --- a/IDEHelper/Compiler/BfPrinter.cpp +++ b/IDEHelper/Compiler/BfPrinter.cpp @@ -2839,6 +2839,7 @@ void BfPrinter::Visit(BfPropertyDeclaration* propertyDeclaration) for (auto method : propertyDeclaration->mMethods) { QueueVisitChild(method->mBody); + QueueVisitChild(method->mEndSemicolon); } } diff --git a/IDEHelper/Compiler/BfReducer.cpp b/IDEHelper/Compiler/BfReducer.cpp index 334931d7..653e5367 100644 --- a/IDEHelper/Compiler/BfReducer.cpp +++ b/IDEHelper/Compiler/BfReducer.cpp @@ -7769,6 +7769,10 @@ BfAstNode* BfReducer::ReadTypeMember(BfAstNode* node, bool declStarted, int dept { MEMBER_SET(method, mBody, expr); propertyDeclaration->SetSrcEnd(expr->GetSrcEnd()); + + auto endSemicolon = ExpectTokenAfter(expr, BfToken_Semicolon); + if (endSemicolon != NULL) + MEMBER_SET(method, mEndSemicolon, endSemicolon); } methods.Add(method);