diff --git a/IDEHelper/Compiler/BfPrinter.cpp b/IDEHelper/Compiler/BfPrinter.cpp index 0eef2e09..839eb634 100644 --- a/IDEHelper/Compiler/BfPrinter.cpp +++ b/IDEHelper/Compiler/BfPrinter.cpp @@ -2354,9 +2354,13 @@ void BfPrinter::Visit(BfConstructorDeclaration* ctorDeclaration) { //Visit((BfAstNode*)ctorDeclaration); - QueueVisitChild(ctorDeclaration->mAttributes); ExpectNewLine(); - ExpectSpace(); + if (ctorDeclaration->mAttributes != NULL) + { + QueueVisitChild(ctorDeclaration->mAttributes); + ExpectNewLine(); + } + QueueVisitChild(ctorDeclaration->mProtectionSpecifier); ExpectSpace(); QueueVisitChild(ctorDeclaration->mNewSpecifier); @@ -2950,6 +2954,11 @@ void BfPrinter::Visit(BfTypeDeclaration* typeDeclaration) SetAndRestoreValue prevBlockMember(mCurBlockMember, member); if (auto fieldDecl = BfNodeDynCast(member)) ExpectNewLine(); + else if (auto tokenNode = BfNodeDynCast(member)) + { + mVirtualNewLineIdx = mNextStateModify.mWantNewLineIdx; + mNextStateModify.mExpectingSpace = false; + } VisitChild(member); } ExpectUnindent();