diff --git a/src/language/ASTBuilder.cpp b/src/language/ASTBuilder.cpp index 82a60d54dce5ee68f5559a8c0c85e5ed9f4afc12..1952dc39f9bf42d2fa9ee66f435b6d62baf0104b 100644 --- a/src/language/ASTBuilder.cpp +++ b/src/language/ASTBuilder.cpp @@ -116,7 +116,7 @@ struct ASTBuilder::simplify_statement_bloc : parse_tree::apply<ASTBuilder::simpl static void transform(std::unique_ptr<ASTNode>& n, States&&... st) { - if (n->children.size() == 1) { + if ((n->id == typeid(language::statement_bloc) or n->id == typeid(language::bloc)) and (n->children.size() == 1)) { if (not n->children[0]->is<language::declaration>()) { n->remove_content(); n = std::move(n->children.back()); @@ -134,7 +134,8 @@ struct ASTBuilder::simplify_for_statement_bloc : parse_tree::apply<ASTBuilder::s static void transform(std::unique_ptr<ASTNode>& n, States&&... st) { - if (n->children.size() == 1) { + if ((n->id == typeid(language::for_statement_bloc) or n->id == typeid(language::bloc)) and + (n->children.size() == 1)) { n->remove_content(); n = std::move(n->children.back()); transform(n, st...);