diff --git a/shared/cplusplus/PrettyPrinter.cpp b/shared/cplusplus/PrettyPrinter.cpp index 4adc69e78c3158b1495b51166fdcd2f249cb6f7f..891a63020cd6de11c1cb964043e27539e064710c 100644 --- a/shared/cplusplus/PrettyPrinter.cpp +++ b/shared/cplusplus/PrettyPrinter.cpp @@ -145,12 +145,16 @@ bool PrettyPrinter::visit(AttributeAST *ast) bool PrettyPrinter::visit(BaseSpecifierAST *ast) { if (ast->token_virtual && ast->token_access_specifier) { - out << "virtual "; + out << "virtual"; + out << ' '; out << spell(ast->token_access_specifier); + out << ' '; } else if (ast->token_virtual) { out << "virtual"; + out << ' '; } else if (ast->token_access_specifier) { out << spell(ast->token_access_specifier); + out << ' '; } accept(ast->name); return false; @@ -234,6 +238,7 @@ bool PrettyPrinter::visit(ClassSpecifierAST *ast) out << ", "; } } + newline(); out << '{'; if (ast->member_specifiers) { indent(); diff --git a/tests/manual/cplusplus/tests/t1.cpp b/tests/manual/cplusplus/tests/t1.cpp index 75c4666d55b3c1a75d22c957ee409009151471e2..8687efb48f440bf5bf2f53515f8f004b8928e136 100644 --- a/tests/manual/cplusplus/tests/t1.cpp +++ b/tests/manual/cplusplus/tests/t1.cpp @@ -22,3 +22,7 @@ class Class { } }; +class Derived: public Class { +}; + +class Derived2: public Class, public virtual Derived {};