diff --git a/clang/include/clang/Tooling/Syntax/Nodes.h b/clang/include/clang/Tooling/Syntax/Nodes.h --- a/clang/include/clang/Tooling/Syntax/Nodes.h +++ b/clang/include/clang/Tooling/Syntax/Nodes.h @@ -100,13 +100,13 @@ MemberPointer, UnqualifiedId, ParameterDeclarationList, + CallArguments, // Nested Name Specifiers. NestedNameSpecifier, GlobalNameSpecifier, DecltypeNameSpecifier, IdentifierNameSpecifier, SimpleTemplateNameSpecifier, - CallArguments }; /// For debugging purposes. raw_ostream &operator<<(raw_ostream &OS, NodeKind K); @@ -114,6 +114,8 @@ /// A relation between a parent and child node, e.g. 'left-hand-side of /// a binary expression'. Used for implementing accessors. /// +/// In general `NodeRole`s should be named the same as their accessors. +/// /// Some roles describe parent/child relations that occur multiple times in /// language grammar. We define only one role to describe all instances of such /// recurring relations. For example, grammar for both "if" and "while" @@ -124,12 +126,6 @@ /// opening paren), we define a role for this token and use it across all /// grammar rules with the same requirement. Names of such reusable roles end /// with a ~Token or a ~Keyword suffix. -/// -/// Some roles are assigned only to child nodes of one specific parent syntax -/// node type. Names of such roles start with the name of the parent syntax tree -/// node type. For example, a syntax node with a role -/// BinaryOperatorExpression_leftHandSide can only appear as a child of a -/// BinaryOperatorExpression node. enum class NodeRole : uint8_t { // Roles common to multiple node kinds. /// A node without a parent @@ -144,7 +140,7 @@ IntroducerKeyword, /// A token that represents a literal, e.g. 'nullptr', '1', 'true', etc. LiteralToken, - /// Tokens or Keywords + /// Tokens or Keywords. ArrowToken, ExternKeyword, TemplateKeyword, @@ -152,38 +148,37 @@ /// statement, e.g. loop body for while, for, etc; inner statement for case, /// default, etc. BodyStatement, - List_element, - List_delimiter, + /// List API roles. + ListElement, + ListDelimiter, // Roles specific to particular node kinds. - OperatorExpression_operatorToken, - UnaryOperatorExpression_operand, - BinaryOperatorExpression_leftHandSide, - BinaryOperatorExpression_rightHandSide, - CaseStatement_value, - IfStatement_thenStatement, - IfStatement_elseKeyword, - IfStatement_elseStatement, - ReturnStatement_value, - ExpressionStatement_expression, - CompoundStatement_statement, - StaticAssertDeclaration_condition, - StaticAssertDeclaration_message, - SimpleDeclaration_declarator, - TemplateDeclaration_declaration, - ExplicitTemplateInstantiation_declaration, - ArraySubscript_sizeExpression, - TrailingReturnType_declarator, - ParametersAndQualifiers_parameters, - ParametersAndQualifiers_trailingReturn, - IdExpression_id, - IdExpression_qualifier, - ParenExpression_subExpression, - MemberExpression_object, - MemberExpression_accessToken, - MemberExpression_member, - CallExpression_callee, - CallExpression_arguments, + OperatorToken, + Operand, + LeftHandSide, + RightHandSide, + ReturnValue, + CaseValue, + ThenStatement, + ElseKeyword, + ElseStatement, + Expression, + Statement, + Condition, + Message, + Declarator, + Declaration, + Size, + Parameters, + TrailingReturn, + UnqualifiedId, + Qualifier, + SubExpression, + Object, + AccessToken, + Member, + Callee, + Arguments, }; /// For debugging purposes. raw_ostream &operator<<(raw_ostream &OS, NodeRole R); @@ -656,7 +651,7 @@ return N->kind() == NodeKind::CaseStatement; } Leaf *caseKeyword(); - Expression *value(); + Expression *caseValue(); Statement *body(); }; @@ -736,7 +731,7 @@ return N->kind() == NodeKind::ReturnStatement; } Leaf *returnKeyword(); - Expression *value(); + Expression *returnValue(); }; /// for ( : ) @@ -972,7 +967,7 @@ } // TODO: add an accessor for the "static" keyword. Leaf *lbracket(); - Expression *sizeExpression(); + Expression *size(); Leaf *rbracket(); }; @@ -986,6 +981,8 @@ } // TODO: add accessors for specifiers. Leaf *arrowToken(); + // FIXME: This should be a `type-id` following the grammar. Fix this once we + // have a representation of `type-id`s. SimpleDeclarator *declarator(); }; diff --git a/clang/lib/Tooling/Syntax/BuildTree.cpp b/clang/lib/Tooling/Syntax/BuildTree.cpp --- a/clang/lib/Tooling/Syntax/BuildTree.cpp +++ b/clang/lib/Tooling/Syntax/BuildTree.cpp @@ -662,7 +662,7 @@ Builder.markChildToken(S->getLBracLoc(), NodeRole::OpenParen); for (auto *Child : S->body()) - Builder.markStmtChild(Child, NodeRole::CompoundStatement_statement); + Builder.markStmtChild(Child, NodeRole::Statement); Builder.markChildToken(S->getRBracLoc(), NodeRole::CloseParen); Builder.foldNode(Builder.getStmtRange(S), @@ -873,8 +873,8 @@ auto *NS = BuildNameSpecifier(it); if (!NS) return false; - Builder.markChild(NS, syntax::NodeRole::List_element); - Builder.markChildToken(it.getEndLoc(), syntax::NodeRole::List_delimiter); + Builder.markChild(NS, syntax::NodeRole::ListElement); + Builder.markChildToken(it.getEndLoc(), syntax::NodeRole::ListDelimiter); } Builder.foldNode(Builder.getRange(QualifierLoc.getSourceRange()), new (allocator()) syntax::NestedNameSpecifier, @@ -887,7 +887,7 @@ SourceRange UnqualifiedIdLoc, ASTPtr From) { if (QualifierLoc) { - Builder.markChild(QualifierLoc, syntax::NodeRole::IdExpression_qualifier); + Builder.markChild(QualifierLoc, syntax::NodeRole::Qualifier); if (TemplateKeywordLoc.isValid()) Builder.markChildToken(TemplateKeywordLoc, syntax::NodeRole::TemplateKeyword); @@ -896,7 +896,7 @@ auto *TheUnqualifiedId = new (allocator()) syntax::UnqualifiedId; Builder.foldNode(Builder.getRange(UnqualifiedIdLoc), TheUnqualifiedId, nullptr); - Builder.markChild(TheUnqualifiedId, syntax::NodeRole::IdExpression_id); + Builder.markChild(TheUnqualifiedId, syntax::NodeRole::UnqualifiedId); auto IdExpressionBeginLoc = QualifierLoc ? QualifierLoc.getBeginLoc() : UnqualifiedIdLoc.getBegin(); @@ -923,13 +923,10 @@ S->getQualifierLoc(), S->getTemplateKeywordLoc(), SourceRange(S->getMemberLoc(), S->getEndLoc()), nullptr); - Builder.markChild(TheIdExpression, - syntax::NodeRole::MemberExpression_member); + Builder.markChild(TheIdExpression, syntax::NodeRole::Member); - Builder.markExprChild(S->getBase(), - syntax::NodeRole::MemberExpression_object); - Builder.markChildToken(S->getOperatorLoc(), - syntax::NodeRole::MemberExpression_accessToken); + Builder.markExprChild(S->getBase(), syntax::NodeRole::Object); + Builder.markChildToken(S->getOperatorLoc(), syntax::NodeRole::AccessToken); Builder.foldNode(Builder.getExprRange(S), new (allocator()) syntax::MemberExpression, S); @@ -963,8 +960,7 @@ bool WalkUpFromParenExpr(ParenExpr *S) { Builder.markChildToken(S->getLParen(), syntax::NodeRole::OpenParen); - Builder.markExprChild(S->getSubExpr(), - syntax::NodeRole::ParenExpression_subExpression); + Builder.markExprChild(S->getSubExpr(), syntax::NodeRole::SubExpression); Builder.markChildToken(S->getRParen(), syntax::NodeRole::CloseParen); Builder.foldNode(Builder.getExprRange(S), new (allocator()) syntax::ParenExpression, S); @@ -1015,9 +1011,8 @@ bool WalkUpFromUnaryOperator(UnaryOperator *S) { Builder.markChildToken(S->getOperatorLoc(), - syntax::NodeRole::OperatorExpression_operatorToken); - Builder.markExprChild(S->getSubExpr(), - syntax::NodeRole::UnaryOperatorExpression_operand); + syntax::NodeRole::OperatorToken); + Builder.markExprChild(S->getSubExpr(), syntax::NodeRole::Operand); if (S->isPostfix()) Builder.foldNode(Builder.getExprRange(S), @@ -1032,12 +1027,10 @@ } bool WalkUpFromBinaryOperator(BinaryOperator *S) { - Builder.markExprChild( - S->getLHS(), syntax::NodeRole::BinaryOperatorExpression_leftHandSide); + Builder.markExprChild(S->getLHS(), syntax::NodeRole::LeftHandSide); Builder.markChildToken(S->getOperatorLoc(), - syntax::NodeRole::OperatorExpression_operatorToken); - Builder.markExprChild( - S->getRHS(), syntax::NodeRole::BinaryOperatorExpression_rightHandSide); + syntax::NodeRole::OperatorToken); + Builder.markExprChild(S->getRHS(), syntax::NodeRole::RightHandSide); Builder.foldNode(Builder.getExprRange(S), new (allocator()) syntax::BinaryOperatorExpression, S); return true; @@ -1045,12 +1038,11 @@ syntax::CallArguments *buildCallArguments(CallExpr::arg_range Args) { for (const auto &Arg : Args) { - Builder.markExprChild(Arg, syntax::NodeRole::List_element); + Builder.markExprChild(Arg, syntax::NodeRole::ListElement); const auto *DelimiterToken = std::next(Builder.findToken(Arg->getEndLoc())); if (DelimiterToken->kind() == clang::tok::TokenKind::comma) - Builder.markChildToken(DelimiterToken, - syntax::NodeRole::List_delimiter); + Builder.markChildToken(DelimiterToken, syntax::NodeRole::ListDelimiter); } auto *Arguments = new (allocator()) syntax::CallArguments; @@ -1063,8 +1055,7 @@ } bool WalkUpFromCallExpr(CallExpr *S) { - Builder.markExprChild(S->getCallee(), - syntax::NodeRole::CallExpression_callee); + Builder.markExprChild(S->getCallee(), syntax::NodeRole::Callee); const auto *LParenToken = std::next(Builder.findToken(S->getCallee()->getEndLoc())); @@ -1074,7 +1065,7 @@ Builder.markChildToken(LParenToken, syntax::NodeRole::OpenParen); Builder.markChild(buildCallArguments(S->arguments()), - syntax::NodeRole::CallExpression_arguments); + syntax::NodeRole::Arguments); Builder.markChildToken(S->getRParenLoc(), syntax::NodeRole::CloseParen); @@ -1109,41 +1100,31 @@ bool WalkUpFromCXXOperatorCallExpr(CXXOperatorCallExpr *S) { switch (getOperatorNodeKind(*S)) { case syntax::NodeKind::BinaryOperatorExpression: - Builder.markExprChild( - S->getArg(0), - syntax::NodeRole::BinaryOperatorExpression_leftHandSide); - Builder.markChildToken( - S->getOperatorLoc(), - syntax::NodeRole::OperatorExpression_operatorToken); - Builder.markExprChild( - S->getArg(1), - syntax::NodeRole::BinaryOperatorExpression_rightHandSide); + Builder.markExprChild(S->getArg(0), syntax::NodeRole::LeftHandSide); + Builder.markChildToken(S->getOperatorLoc(), + syntax::NodeRole::OperatorToken); + Builder.markExprChild(S->getArg(1), syntax::NodeRole::RightHandSide); Builder.foldNode(Builder.getExprRange(S), new (allocator()) syntax::BinaryOperatorExpression, S); return true; case syntax::NodeKind::PrefixUnaryOperatorExpression: - Builder.markChildToken( - S->getOperatorLoc(), - syntax::NodeRole::OperatorExpression_operatorToken); - Builder.markExprChild(S->getArg(0), - syntax::NodeRole::UnaryOperatorExpression_operand); + Builder.markChildToken(S->getOperatorLoc(), + syntax::NodeRole::OperatorToken); + Builder.markExprChild(S->getArg(0), syntax::NodeRole::Operand); Builder.foldNode(Builder.getExprRange(S), new (allocator()) syntax::PrefixUnaryOperatorExpression, S); return true; case syntax::NodeKind::PostfixUnaryOperatorExpression: - Builder.markChildToken( - S->getOperatorLoc(), - syntax::NodeRole::OperatorExpression_operatorToken); - Builder.markExprChild(S->getArg(0), - syntax::NodeRole::UnaryOperatorExpression_operand); + Builder.markChildToken(S->getOperatorLoc(), + syntax::NodeRole::OperatorToken); + Builder.markExprChild(S->getArg(0), syntax::NodeRole::Operand); Builder.foldNode(Builder.getExprRange(S), new (allocator()) syntax::PostfixUnaryOperatorExpression, S); return true; case syntax::NodeKind::CallExpression: { - Builder.markExprChild(S->getArg(0), - syntax::NodeRole::CallExpression_callee); + Builder.markExprChild(S->getArg(0), syntax::NodeRole::Callee); const auto *LParenToken = std::next(Builder.findToken(S->getArg(0)->getEndLoc())); @@ -1154,7 +1135,7 @@ Builder.markChild(buildCallArguments(CallExpr::arg_range( S->arg_begin() + 1, S->arg_end())), - syntax::NodeRole::CallExpression_arguments); + syntax::NodeRole::Arguments); Builder.markChildToken(S->getRParenLoc(), syntax::NodeRole::CloseParen); @@ -1201,8 +1182,7 @@ // Declarator chunks, they are produced by type locs and some clang::Decls. bool WalkUpFromArrayTypeLoc(ArrayTypeLoc L) { Builder.markChildToken(L.getLBracketLoc(), syntax::NodeRole::OpenParen); - Builder.markExprChild(L.getSizeExpr(), - syntax::NodeRole::ArraySubscript_sizeExpression); + Builder.markExprChild(L.getSizeExpr(), syntax::NodeRole::Size); Builder.markChildToken(L.getRBracketLoc(), syntax::NodeRole::CloseParen); Builder.foldNode(Builder.getRange(L.getLBracketLoc(), L.getRBracketLoc()), new (allocator()) syntax::ArraySubscript, L); @@ -1212,11 +1192,10 @@ syntax::ParameterDeclarationList * buildParameterDeclarationList(ArrayRef Params) { for (auto *P : Params) { - Builder.markChild(P, syntax::NodeRole::List_element); + Builder.markChild(P, syntax::NodeRole::ListElement); const auto *DelimiterToken = std::next(Builder.findToken(P->getEndLoc())); if (DelimiterToken->kind() == clang::tok::TokenKind::comma) - Builder.markChildToken(DelimiterToken, - syntax::NodeRole::List_delimiter); + Builder.markChildToken(DelimiterToken, syntax::NodeRole::ListDelimiter); } auto *Parameters = new (allocator()) syntax::ParameterDeclarationList; if (!Params.empty()) @@ -1230,7 +1209,7 @@ Builder.markChildToken(L.getLParenLoc(), syntax::NodeRole::OpenParen); Builder.markChild(buildParameterDeclarationList(L.getParams()), - syntax::NodeRole::ParametersAndQualifiers_parameters); + syntax::NodeRole::Parameters); Builder.markChildToken(L.getRParenLoc(), syntax::NodeRole::CloseParen); Builder.foldNode(Builder.getRange(L.getLParenLoc(), L.getEndLoc()), @@ -1244,8 +1223,7 @@ auto *TrailingReturnTokens = BuildTrailingReturn(L); // Finish building the node for parameters. - Builder.markChild(TrailingReturnTokens, - syntax::NodeRole::ParametersAndQualifiers_trailingReturn); + Builder.markChild(TrailingReturnTokens, syntax::NodeRole::TrailingReturn); return WalkUpFromFunctionTypeLoc(L); } @@ -1293,7 +1271,7 @@ bool WalkUpFromCaseStmt(CaseStmt *S) { Builder.markChildToken(S->getKeywordLoc(), syntax::NodeRole::IntroducerKeyword); - Builder.markExprChild(S->getLHS(), syntax::NodeRole::CaseStatement_value); + Builder.markExprChild(S->getLHS(), syntax::NodeRole::CaseValue); Builder.markStmtChild(S->getSubStmt(), syntax::NodeRole::BodyStatement); Builder.foldNode(Builder.getStmtRange(S), new (allocator()) syntax::CaseStatement, S); @@ -1311,12 +1289,9 @@ bool WalkUpFromIfStmt(IfStmt *S) { Builder.markChildToken(S->getIfLoc(), syntax::NodeRole::IntroducerKeyword); - Builder.markStmtChild(S->getThen(), - syntax::NodeRole::IfStatement_thenStatement); - Builder.markChildToken(S->getElseLoc(), - syntax::NodeRole::IfStatement_elseKeyword); - Builder.markStmtChild(S->getElse(), - syntax::NodeRole::IfStatement_elseStatement); + Builder.markStmtChild(S->getThen(), syntax::NodeRole::ThenStatement); + Builder.markChildToken(S->getElseLoc(), syntax::NodeRole::ElseKeyword); + Builder.markStmtChild(S->getElse(), syntax::NodeRole::ElseStatement); Builder.foldNode(Builder.getStmtRange(S), new (allocator()) syntax::IfStatement, S); return true; @@ -1358,8 +1333,7 @@ bool WalkUpFromReturnStmt(ReturnStmt *S) { Builder.markChildToken(S->getReturnLoc(), syntax::NodeRole::IntroducerKeyword); - Builder.markExprChild(S->getRetValue(), - syntax::NodeRole::ReturnStatement_value); + Builder.markExprChild(S->getRetValue(), syntax::NodeRole::ReturnValue); Builder.foldNode(Builder.getStmtRange(S), new (allocator()) syntax::ReturnStatement, S); return true; @@ -1380,10 +1354,8 @@ } bool WalkUpFromStaticAssertDecl(StaticAssertDecl *S) { - Builder.markExprChild(S->getAssertExpr(), - syntax::NodeRole::StaticAssertDeclaration_condition); - Builder.markExprChild(S->getMessage(), - syntax::NodeRole::StaticAssertDeclaration_message); + Builder.markExprChild(S->getAssertExpr(), syntax::NodeRole::Condition); + Builder.markExprChild(S->getMessage(), syntax::NodeRole::Message); Builder.foldNode(Builder.getDeclarationRange(S), new (allocator()) syntax::StaticAssertDeclaration, S); return true; @@ -1476,7 +1448,7 @@ if (Range.getBegin().isValid()) { auto *N = new (allocator()) syntax::SimpleDeclarator; Builder.foldNode(Builder.getRange(Range), N, nullptr); - Builder.markChild(N, syntax::NodeRole::SimpleDeclaration_declarator); + Builder.markChild(N, syntax::NodeRole::Declarator); } if (Builder.isResponsibleForCreatingDeclaration(D)) { @@ -1510,8 +1482,7 @@ auto Tokens = llvm::makeArrayRef(Arrow, Return.end()); Builder.markChildToken(Arrow, syntax::NodeRole::ArrowToken); if (ReturnDeclarator) - Builder.markChild(ReturnDeclarator, - syntax::NodeRole::TrailingReturnType_declarator); + Builder.markChild(ReturnDeclarator, syntax::NodeRole::Declarator); auto *R = new (allocator()) syntax::TrailingReturnType; Builder.foldNode(Tokens, R, L); return R; @@ -1525,9 +1496,7 @@ assert(TemplateKW && TemplateKW->kind() == tok::kw_template); Builder.markChildToken(ExternKW, syntax::NodeRole::ExternKeyword); Builder.markChildToken(TemplateKW, syntax::NodeRole::IntroducerKeyword); - Builder.markChild( - InnerDeclaration, - syntax::NodeRole::ExplicitTemplateInstantiation_declaration); + Builder.markChild(InnerDeclaration, syntax::NodeRole::Declaration); Builder.foldNode( Range, new (allocator()) syntax::ExplicitTemplateInstantiation, From); } @@ -1540,7 +1509,7 @@ auto *N = new (allocator()) syntax::TemplateDeclaration; Builder.foldNode(Range, N, From); - Builder.markChild(N, syntax::NodeRole::TemplateDeclaration_declaration); + Builder.markChild(N, syntax::NodeRole::Declaration); return N; } @@ -1592,7 +1561,7 @@ if (Expr *ChildExpr = dyn_cast(Child)) { // This is an expression in a statement position, consume the trailing // semicolon and form an 'ExpressionStatement' node. - markExprChild(ChildExpr, NodeRole::ExpressionStatement_expression); + markExprChild(ChildExpr, NodeRole::Expression); ChildNode = new (allocator()) syntax::ExpressionStatement; // (!) 'getStmtRange()' ensures this covers a trailing semicolon. Pending.foldChildren(Arena, getStmtRange(Child), ChildNode); diff --git a/clang/lib/Tooling/Syntax/Nodes.cpp b/clang/lib/Tooling/Syntax/Nodes.cpp --- a/clang/lib/Tooling/Syntax/Nodes.cpp +++ b/clang/lib/Tooling/Syntax/Nodes.cpp @@ -162,66 +162,62 @@ return OS << "TemplateKeyword"; case syntax::NodeRole::BodyStatement: return OS << "BodyStatement"; - case syntax::NodeRole::List_element: - return OS << "List_element"; - case syntax::NodeRole::List_delimiter: - return OS << "List_delimiter"; - case syntax::NodeRole::CaseStatement_value: - return OS << "CaseStatement_value"; - case syntax::NodeRole::IfStatement_thenStatement: - return OS << "IfStatement_thenStatement"; - case syntax::NodeRole::IfStatement_elseKeyword: - return OS << "IfStatement_elseKeyword"; - case syntax::NodeRole::IfStatement_elseStatement: - return OS << "IfStatement_elseStatement"; - case syntax::NodeRole::OperatorExpression_operatorToken: - return OS << "OperatorExpression_operatorToken"; - case syntax::NodeRole::UnaryOperatorExpression_operand: - return OS << "UnaryOperatorExpression_operand"; - case syntax::NodeRole::BinaryOperatorExpression_leftHandSide: - return OS << "BinaryOperatorExpression_leftHandSide"; - case syntax::NodeRole::BinaryOperatorExpression_rightHandSide: - return OS << "BinaryOperatorExpression_rightHandSide"; - case syntax::NodeRole::ReturnStatement_value: - return OS << "ReturnStatement_value"; - case syntax::NodeRole::ExpressionStatement_expression: - return OS << "ExpressionStatement_expression"; - case syntax::NodeRole::CompoundStatement_statement: - return OS << "CompoundStatement_statement"; - case syntax::NodeRole::StaticAssertDeclaration_condition: - return OS << "StaticAssertDeclaration_condition"; - case syntax::NodeRole::StaticAssertDeclaration_message: - return OS << "StaticAssertDeclaration_message"; - case syntax::NodeRole::SimpleDeclaration_declarator: - return OS << "SimpleDeclaration_declarator"; - case syntax::NodeRole::TemplateDeclaration_declaration: - return OS << "TemplateDeclaration_declaration"; - case syntax::NodeRole::ExplicitTemplateInstantiation_declaration: - return OS << "ExplicitTemplateInstantiation_declaration"; - case syntax::NodeRole::ArraySubscript_sizeExpression: - return OS << "ArraySubscript_sizeExpression"; - case syntax::NodeRole::TrailingReturnType_declarator: - return OS << "TrailingReturnType_declarator"; - case syntax::NodeRole::ParametersAndQualifiers_parameters: - return OS << "ParametersAndQualifiers_parameters"; - case syntax::NodeRole::ParametersAndQualifiers_trailingReturn: - return OS << "ParametersAndQualifiers_trailingReturn"; - case syntax::NodeRole::IdExpression_id: - return OS << "IdExpression_id"; - case syntax::NodeRole::IdExpression_qualifier: - return OS << "IdExpression_qualifier"; - case syntax::NodeRole::ParenExpression_subExpression: - return OS << "ParenExpression_subExpression"; - case syntax::NodeRole::MemberExpression_object: - return OS << "MemberExpression_object"; - case syntax::NodeRole::MemberExpression_accessToken: - return OS << "MemberExpression_accessToken"; - case syntax::NodeRole::MemberExpression_member: - return OS << "MemberExpression_member"; - case syntax::NodeRole::CallExpression_callee: - return OS << "CallExpression_callee"; - case syntax::NodeRole::CallExpression_arguments: - return OS << "CallExpression_arguments"; + case syntax::NodeRole::ListElement: + return OS << "ListElement"; + case syntax::NodeRole::ListDelimiter: + return OS << "ListDelimiter"; + case syntax::NodeRole::CaseValue: + return OS << "CaseValue"; + case syntax::NodeRole::ReturnValue: + return OS << "ReturnValue"; + case syntax::NodeRole::ThenStatement: + return OS << "ThenStatement"; + case syntax::NodeRole::ElseKeyword: + return OS << "ElseKeyword"; + case syntax::NodeRole::ElseStatement: + return OS << "ElseStatement"; + case syntax::NodeRole::OperatorToken: + return OS << "OperatorToken"; + case syntax::NodeRole::Operand: + return OS << "Operand"; + case syntax::NodeRole::LeftHandSide: + return OS << "LeftHandSide"; + case syntax::NodeRole::RightHandSide: + return OS << "RightHandSide"; + case syntax::NodeRole::Expression: + return OS << "Expression"; + case syntax::NodeRole::Statement: + return OS << "Statement"; + case syntax::NodeRole::Condition: + return OS << "Condition"; + case syntax::NodeRole::Message: + return OS << "Message"; + case syntax::NodeRole::Declarator: + return OS << "Declarator"; + case syntax::NodeRole::Declaration: + return OS << "Declaration"; + case syntax::NodeRole::Size: + return OS << "Size"; + case syntax::NodeRole::Parameters: + return OS << "Parameters"; + case syntax::NodeRole::TrailingReturn: + return OS << "TrailingReturn"; + case syntax::NodeRole::UnqualifiedId: + return OS << "UnqualifiedId"; + case syntax::NodeRole::Qualifier: + return OS << "Qualifier"; + case syntax::NodeRole::SubExpression: + return OS << "SubExpression"; + case syntax::NodeRole::Object: + return OS << "Object"; + case syntax::NodeRole::AccessToken: + return OS << "AccessToken"; + case syntax::NodeRole::Member: + return OS << "Member"; + case syntax::NodeRole::Callee: + return OS << "Callee"; + case syntax::NodeRole::Arguments: + return OS << "Arguments"; } llvm_unreachable("invalid role"); } @@ -295,8 +291,7 @@ } syntax::Expression *syntax::MemberExpression::object() { - return cast_or_null( - findChild(syntax::NodeRole::MemberExpression_object)); + return cast_or_null(findChild(syntax::NodeRole::Object)); } syntax::Leaf *syntax::MemberExpression::templateKeyword() { @@ -306,17 +301,17 @@ syntax::Leaf *syntax::MemberExpression::accessToken() { return llvm::cast_or_null( - findChild(syntax::NodeRole::MemberExpression_accessToken)); + findChild(syntax::NodeRole::AccessToken)); } syntax::IdExpression *syntax::MemberExpression::member() { return cast_or_null( - findChild(syntax::NodeRole::MemberExpression_member)); + findChild(syntax::NodeRole::Member)); } syntax::NestedNameSpecifier *syntax::IdExpression::qualifier() { return cast_or_null( - findChild(syntax::NodeRole::IdExpression_qualifier)); + findChild(syntax::NodeRole::Qualifier)); } syntax::Leaf *syntax::IdExpression::templateKeyword() { @@ -326,7 +321,7 @@ syntax::UnqualifiedId *syntax::IdExpression::unqualifiedId() { return cast_or_null( - findChild(syntax::NodeRole::IdExpression_id)); + findChild(syntax::NodeRole::UnqualifiedId)); } syntax::Leaf *syntax::ParenExpression::openParen() { @@ -335,7 +330,7 @@ syntax::Expression *syntax::ParenExpression::subExpression() { return cast_or_null( - findChild(syntax::NodeRole::ParenExpression_subExpression)); + findChild(syntax::NodeRole::SubExpression)); } syntax::Leaf *syntax::ParenExpression::closeParen() { @@ -353,32 +348,28 @@ syntax::Expression *syntax::BinaryOperatorExpression::lhs() { return cast_or_null( - findChild(syntax::NodeRole::BinaryOperatorExpression_leftHandSide)); + findChild(syntax::NodeRole::LeftHandSide)); } syntax::Leaf *syntax::UnaryOperatorExpression::operatorToken() { - return cast_or_null( - findChild(syntax::NodeRole::OperatorExpression_operatorToken)); + return cast_or_null(findChild(syntax::NodeRole::OperatorToken)); } syntax::Expression *syntax::UnaryOperatorExpression::operand() { - return cast_or_null( - findChild(syntax::NodeRole::UnaryOperatorExpression_operand)); + return cast_or_null(findChild(syntax::NodeRole::Operand)); } syntax::Leaf *syntax::BinaryOperatorExpression::operatorToken() { - return cast_or_null( - findChild(syntax::NodeRole::OperatorExpression_operatorToken)); + return cast_or_null(findChild(syntax::NodeRole::OperatorToken)); } syntax::Expression *syntax::BinaryOperatorExpression::rhs() { return cast_or_null( - findChild(syntax::NodeRole::BinaryOperatorExpression_rightHandSide)); + findChild(syntax::NodeRole::RightHandSide)); } syntax::Expression *syntax::CallExpression::callee() { - return cast_or_null( - findChild(syntax::NodeRole::CallExpression_callee)); + return cast_or_null(findChild(syntax::NodeRole::Callee)); } syntax::Leaf *syntax::CallExpression::openParen() { @@ -387,7 +378,7 @@ syntax::CallArguments *syntax::CallExpression::arguments() { return cast_or_null( - findChild(syntax::NodeRole::CallExpression_arguments)); + findChild(syntax::NodeRole::Arguments)); } syntax::Leaf *syntax::CallExpression::closeParen() { @@ -409,9 +400,9 @@ findChild(syntax::NodeRole::IntroducerKeyword)); } -syntax::Expression *syntax::CaseStatement::value() { +syntax::Expression *syntax::CaseStatement::caseValue() { return cast_or_null( - findChild(syntax::NodeRole::CaseStatement_value)); + findChild(syntax::NodeRole::CaseValue)); } syntax::Statement *syntax::CaseStatement::body() { @@ -436,17 +427,16 @@ syntax::Statement *syntax::IfStatement::thenStatement() { return cast_or_null( - findChild(syntax::NodeRole::IfStatement_thenStatement)); + findChild(syntax::NodeRole::ThenStatement)); } syntax::Leaf *syntax::IfStatement::elseKeyword() { - return cast_or_null( - findChild(syntax::NodeRole::IfStatement_elseKeyword)); + return cast_or_null(findChild(syntax::NodeRole::ElseKeyword)); } syntax::Statement *syntax::IfStatement::elseStatement() { return cast_or_null( - findChild(syntax::NodeRole::IfStatement_elseStatement)); + findChild(syntax::NodeRole::ElseStatement)); } syntax::Leaf *syntax::ForStatement::forKeyword() { @@ -484,9 +474,9 @@ findChild(syntax::NodeRole::IntroducerKeyword)); } -syntax::Expression *syntax::ReturnStatement::value() { +syntax::Expression *syntax::ReturnStatement::returnValue() { return cast_or_null( - findChild(syntax::NodeRole::ReturnStatement_value)); + findChild(syntax::NodeRole::ReturnValue)); } syntax::Leaf *syntax::RangeBasedForStatement::forKeyword() { @@ -501,7 +491,7 @@ syntax::Expression *syntax::ExpressionStatement::expression() { return cast_or_null( - findChild(syntax::NodeRole::ExpressionStatement_expression)); + findChild(syntax::NodeRole::Expression)); } syntax::Leaf *syntax::CompoundStatement::lbrace() { @@ -511,7 +501,7 @@ std::vector syntax::CompoundStatement::statements() { std::vector Children; for (auto *C = firstChild(); C; C = C->nextSibling()) { - assert(C->role() == syntax::NodeRole::CompoundStatement_statement); + assert(C->role() == syntax::NodeRole::Statement); Children.push_back(cast(C)); } return Children; @@ -523,19 +513,18 @@ syntax::Expression *syntax::StaticAssertDeclaration::condition() { return cast_or_null( - findChild(syntax::NodeRole::StaticAssertDeclaration_condition)); + findChild(syntax::NodeRole::Condition)); } syntax::Expression *syntax::StaticAssertDeclaration::message() { - return cast_or_null( - findChild(syntax::NodeRole::StaticAssertDeclaration_message)); + return cast_or_null(findChild(syntax::NodeRole::Message)); } std::vector syntax::SimpleDeclaration::declarators() { std::vector Children; for (auto *C = firstChild(); C; C = C->nextSibling()) { - if (C->role() == syntax::NodeRole::SimpleDeclaration_declarator) + if (C->role() == syntax::NodeRole::Declarator) Children.push_back(cast(C)); } return Children; @@ -548,7 +537,7 @@ syntax::Declaration *syntax::TemplateDeclaration::declaration() { return cast_or_null( - findChild(syntax::NodeRole::TemplateDeclaration_declaration)); + findChild(syntax::NodeRole::Declaration)); } syntax::Leaf *syntax::ExplicitTemplateInstantiation::templateKeyword() { @@ -562,7 +551,7 @@ syntax::Declaration *syntax::ExplicitTemplateInstantiation::declaration() { return cast_or_null( - findChild(syntax::NodeRole::ExplicitTemplateInstantiation_declaration)); + findChild(syntax::NodeRole::Declaration)); } syntax::Leaf *syntax::ParenDeclarator::lparen() { @@ -577,9 +566,8 @@ return cast_or_null(findChild(syntax::NodeRole::OpenParen)); } -syntax::Expression *syntax::ArraySubscript::sizeExpression() { - return cast_or_null( - findChild(syntax::NodeRole::ArraySubscript_sizeExpression)); +syntax::Expression *syntax::ArraySubscript::size() { + return cast_or_null(findChild(syntax::NodeRole::Size)); } syntax::Leaf *syntax::ArraySubscript::rbracket() { @@ -592,7 +580,7 @@ syntax::SimpleDeclarator *syntax::TrailingReturnType::declarator() { return cast_or_null( - findChild(syntax::NodeRole::TrailingReturnType_declarator)); + findChild(syntax::NodeRole::Declarator)); } syntax::Leaf *syntax::ParametersAndQualifiers::lparen() { @@ -602,7 +590,7 @@ syntax::ParameterDeclarationList * syntax::ParametersAndQualifiers::parameters() { return cast_or_null( - findChild(syntax::NodeRole::ParametersAndQualifiers_parameters)); + findChild(syntax::NodeRole::Parameters)); } syntax::Leaf *syntax::ParametersAndQualifiers::rparen() { @@ -611,5 +599,5 @@ syntax::TrailingReturnType *syntax::ParametersAndQualifiers::trailingReturn() { return cast_or_null( - findChild(syntax::NodeRole::ParametersAndQualifiers_trailingReturn)); + findChild(syntax::NodeRole::TrailingReturn)); } diff --git a/clang/lib/Tooling/Syntax/Tree.cpp b/clang/lib/Tooling/Syntax/Tree.cpp --- a/clang/lib/Tooling/Syntax/Tree.cpp +++ b/clang/lib/Tooling/Syntax/Tree.cpp @@ -276,14 +276,14 @@ syntax::Node *elementWithoutDelimiter = nullptr; for (auto *C = firstChild(); C; C = C->nextSibling()) { switch (C->role()) { - case syntax::NodeRole::List_element: { + case syntax::NodeRole::ListElement: { if (elementWithoutDelimiter) { children.push_back({elementWithoutDelimiter, nullptr}); } elementWithoutDelimiter = C; break; } - case syntax::NodeRole::List_delimiter: { + case syntax::NodeRole::ListDelimiter: { children.push_back({elementWithoutDelimiter, cast(C)}); elementWithoutDelimiter = nullptr; break; @@ -321,14 +321,14 @@ syntax::Node *elementWithoutDelimiter = nullptr; for (auto *C = firstChild(); C; C = C->nextSibling()) { switch (C->role()) { - case syntax::NodeRole::List_element: { + case syntax::NodeRole::ListElement: { if (elementWithoutDelimiter) { children.push_back(elementWithoutDelimiter); } elementWithoutDelimiter = C; break; } - case syntax::NodeRole::List_delimiter: { + case syntax::NodeRole::ListDelimiter: { children.push_back(elementWithoutDelimiter); elementWithoutDelimiter = nullptr; break; diff --git a/clang/unittests/Tooling/Syntax/BuildTreeTest.cpp b/clang/unittests/Tooling/Syntax/BuildTreeTest.cpp --- a/clang/unittests/Tooling/Syntax/BuildTreeTest.cpp +++ b/clang/unittests/Tooling/Syntax/BuildTreeTest.cpp @@ -27,7 +27,7 @@ TranslationUnit Detached |-SimpleDeclaration | |-'int' -| |-SimpleDeclarator SimpleDeclaration_declarator +| |-SimpleDeclarator Declarator | | |-'main' | | `-ParametersAndQualifiers | | |-'(' OpenParen @@ -37,7 +37,7 @@ | `-'}' CloseParen `-SimpleDeclaration |-'void' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'foo' | `-ParametersAndQualifiers | |-'(' OpenParen @@ -58,12 +58,12 @@ TranslationUnit Detached |-SimpleDeclaration | |-'int' -| |-SimpleDeclarator SimpleDeclaration_declarator +| |-SimpleDeclarator Declarator | | `-'a' | `-';' `-SimpleDeclaration |-'int' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'b' | |-'=' | `-IntegerLiteralExpression @@ -81,19 +81,19 @@ TranslationUnit Detached `-SimpleDeclaration |-'void' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'foo' | `-ParametersAndQualifiers | |-'(' OpenParen - | |-ParameterDeclarationList ParametersAndQualifiers_parameters - | | |-SimpleDeclaration List_element + | |-ParameterDeclarationList Parameters + | | |-SimpleDeclaration ListElement | | | |-'int' - | | | `-SimpleDeclarator SimpleDeclaration_declarator + | | | `-SimpleDeclarator Declarator | | | `-'a' - | | |-',' List_delimiter - | | `-SimpleDeclaration List_element + | | |-',' ListDelimiter + | | `-SimpleDeclaration ListElement | | |-'int' - | | `-SimpleDeclarator SimpleDeclaration_declarator + | | `-SimpleDeclarator Declarator | | `-'b' | `-')' CloseParen `-CompoundStatement @@ -111,34 +111,34 @@ } )cpp", {R"txt( -IfStatement CompoundStatement_statement +IfStatement Statement |-'if' IntroducerKeyword |-'(' |-IntegerLiteralExpression | `-'1' LiteralToken |-')' -`-CompoundStatement IfStatement_thenStatement +`-CompoundStatement ThenStatement |-'{' OpenParen `-'}' CloseParen )txt", R"txt( -IfStatement CompoundStatement_statement +IfStatement Statement |-'if' IntroducerKeyword |-'(' |-IntegerLiteralExpression | `-'1' LiteralToken |-')' -|-CompoundStatement IfStatement_thenStatement +|-CompoundStatement ThenStatement | |-'{' OpenParen | `-'}' CloseParen -|-'else' IfStatement_elseKeyword -`-IfStatement IfStatement_elseStatement +|-'else' ElseKeyword +`-IfStatement ElseStatement |-'if' IntroducerKeyword |-'(' |-IntegerLiteralExpression | `-'0' LiteralToken |-')' - `-CompoundStatement IfStatement_thenStatement + `-CompoundStatement ThenStatement |-'{' OpenParen `-'}' CloseParen )txt"})); @@ -152,7 +152,7 @@ } )cpp", {R"txt( -ForStatement CompoundStatement_statement +ForStatement Statement |-'for' IntroducerKeyword |-'(' |-';' @@ -177,16 +177,16 @@ } )cpp", {R"txt( -RangeBasedForStatement CompoundStatement_statement +RangeBasedForStatement Statement |-'for' IntroducerKeyword |-'(' |-SimpleDeclaration | |-'int' -| |-SimpleDeclarator SimpleDeclaration_declarator +| |-SimpleDeclarator Declarator | | `-'x' | `-':' |-IdExpression -| `-UnqualifiedId IdExpression_id +| `-UnqualifiedId UnqualifiedId | `-'a' |-')' `-EmptyStatement BodyStatement @@ -202,10 +202,10 @@ } )cpp", {R"txt( -DeclarationStatement CompoundStatement_statement +DeclarationStatement Statement |-SimpleDeclaration | |-'int' -| `-SimpleDeclarator SimpleDeclaration_declarator +| `-SimpleDeclarator Declarator | |-'a' | |-'=' | `-IntegerLiteralExpression @@ -225,7 +225,7 @@ } )cpp", {R"txt( -SwitchStatement CompoundStatement_statement +SwitchStatement Statement |-'switch' IntroducerKeyword |-'(' |-IntegerLiteralExpression @@ -233,9 +233,9 @@ |-')' `-CompoundStatement BodyStatement |-'{' OpenParen - |-CaseStatement CompoundStatement_statement + |-CaseStatement Statement | |-'case' IntroducerKeyword - | |-IntegerLiteralExpression CaseStatement_value + | |-IntegerLiteralExpression CaseValue | | `-'0' LiteralToken | |-':' | `-DefaultStatement BodyStatement @@ -255,7 +255,7 @@ } )cpp", {R"txt( -WhileStatement CompoundStatement_statement +WhileStatement Statement |-'while' IntroducerKeyword |-'(' |-IntegerLiteralExpression @@ -263,10 +263,10 @@ |-')' `-CompoundStatement BodyStatement |-'{' OpenParen - |-ContinueStatement CompoundStatement_statement + |-ContinueStatement Statement | |-'continue' IntroducerKeyword | `-';' - |-BreakStatement CompoundStatement_statement + |-BreakStatement Statement | |-'break' IntroducerKeyword | `-';' `-'}' CloseParen @@ -284,12 +284,12 @@ } )cpp", {R"txt( -UnknownStatement CompoundStatement_statement +UnknownStatement Statement |-'foo' |-':' `-ReturnStatement |-'return' IntroducerKeyword - |-IntegerLiteralExpression ReturnStatement_value + |-IntegerLiteralExpression ReturnValue | `-'100' LiteralToken `-';' )txt"})); @@ -309,40 +309,40 @@ TranslationUnit Detached `-SimpleDeclaration |-'void' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'test' | `-ParametersAndQualifiers | |-'(' OpenParen | `-')' CloseParen `-CompoundStatement |-'{' OpenParen - |-ExpressionStatement CompoundStatement_statement - | |-CallExpression ExpressionStatement_expression - | | |-IdExpression CallExpression_callee - | | | `-UnqualifiedId IdExpression_id + |-ExpressionStatement Statement + | |-CallExpression Expression + | | |-IdExpression Callee + | | | `-UnqualifiedId UnqualifiedId | | | `-'test' | | |-'(' OpenParen | | `-')' CloseParen | `-';' - |-IfStatement CompoundStatement_statement + |-IfStatement Statement | |-'if' IntroducerKeyword | |-'(' | |-IntegerLiteralExpression | | `-'1' LiteralToken | |-')' - | |-ExpressionStatement IfStatement_thenStatement - | | |-CallExpression ExpressionStatement_expression - | | | |-IdExpression CallExpression_callee - | | | | `-UnqualifiedId IdExpression_id + | |-ExpressionStatement ThenStatement + | | |-CallExpression Expression + | | | |-IdExpression Callee + | | | | `-UnqualifiedId UnqualifiedId | | | | `-'test' | | | |-'(' OpenParen | | | `-')' CloseParen | | `-';' - | |-'else' IfStatement_elseKeyword - | `-ExpressionStatement IfStatement_elseStatement - | |-CallExpression ExpressionStatement_expression - | | |-IdExpression CallExpression_callee - | | | `-UnqualifiedId IdExpression_id + | |-'else' ElseKeyword + | `-ExpressionStatement ElseStatement + | |-CallExpression Expression + | | |-IdExpression Callee + | | | `-UnqualifiedId UnqualifiedId | | | `-'test' | | |-'(' OpenParen | | `-')' CloseParen @@ -359,8 +359,8 @@ } )cpp", {R"txt( -IdExpression ExpressionStatement_expression -`-UnqualifiedId IdExpression_id +IdExpression Expression +`-UnqualifiedId UnqualifiedId `-'a' )txt"})); } @@ -379,19 +379,19 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-IdExpression CallExpression_callee -| `-UnqualifiedId IdExpression_id +CallExpression Expression +|-IdExpression Callee +| `-UnqualifiedId UnqualifiedId | |-'operator' | `-'+' |-'(' OpenParen -|-CallArguments CallExpression_arguments -| |-IdExpression List_element -| | `-UnqualifiedId IdExpression_id +|-CallArguments Arguments +| |-IdExpression ListElement +| | `-UnqualifiedId UnqualifiedId | | `-'x' -| |-',' List_delimiter -| `-IdExpression List_element -| `-UnqualifiedId IdExpression_id +| |-',' ListDelimiter +| `-IdExpression ListElement +| `-UnqualifiedId UnqualifiedId | `-'x' `-')' CloseParen )txt"})); @@ -411,14 +411,14 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-MemberExpression CallExpression_callee -| |-IdExpression MemberExpression_object -| | `-UnqualifiedId IdExpression_id +CallExpression Expression +|-MemberExpression Callee +| |-IdExpression Object +| | `-UnqualifiedId UnqualifiedId | | `-'x' -| |-'.' MemberExpression_accessToken -| `-IdExpression MemberExpression_member -| `-UnqualifiedId IdExpression_id +| |-'.' AccessToken +| `-IdExpression Member +| `-UnqualifiedId UnqualifiedId | |-'operator' | `-'int' |-'(' OpenParen @@ -438,15 +438,15 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-IdExpression CallExpression_callee -| `-UnqualifiedId IdExpression_id +CallExpression Expression +|-IdExpression Callee +| `-UnqualifiedId UnqualifiedId | |-'operator' | |-'""' | `-'_w' |-'(' OpenParen -|-CallArguments CallExpression_arguments -| `-CharacterLiteralExpression List_element +|-CallArguments Arguments +| `-CharacterLiteralExpression ListElement | `-''1'' LiteralToken `-')' CloseParen )txt"})); @@ -464,14 +464,14 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-MemberExpression CallExpression_callee -| |-IdExpression MemberExpression_object -| | `-UnqualifiedId IdExpression_id +CallExpression Expression +|-MemberExpression Callee +| |-IdExpression Object +| | `-UnqualifiedId UnqualifiedId | | `-'x' -| |-'.' MemberExpression_accessToken -| `-IdExpression MemberExpression_member -| `-UnqualifiedId IdExpression_id +| |-'.' AccessToken +| `-IdExpression Member +| `-UnqualifiedId UnqualifiedId | |-'~' | `-'X' |-'(' OpenParen @@ -495,14 +495,14 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-MemberExpression CallExpression_callee -| |-IdExpression MemberExpression_object -| | `-UnqualifiedId IdExpression_id +CallExpression Expression +|-MemberExpression Callee +| |-IdExpression Object +| | `-UnqualifiedId UnqualifiedId | | `-'x' -| |-'.' MemberExpression_accessToken -| `-IdExpression MemberExpression_member -| `-UnqualifiedId IdExpression_id +| |-'.' AccessToken +| `-IdExpression Member +| `-UnqualifiedId UnqualifiedId | `-'~' |-'decltype' |-'(' @@ -526,9 +526,9 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-IdExpression CallExpression_callee -| `-UnqualifiedId IdExpression_id +CallExpression Expression +|-IdExpression Callee +| `-UnqualifiedId UnqualifiedId | |-'f' | |-'<' | |-'int' @@ -558,23 +558,23 @@ {R"txt( SimpleDeclaration |-NestedNameSpecifier -| |-'::' List_delimiter -| |-IdentifierNameSpecifier List_element +| |-'::' ListDelimiter +| |-IdentifierNameSpecifier ListElement | | `-'n' -| `-'::' List_delimiter +| `-'::' ListDelimiter |-'S' -`-SimpleDeclarator SimpleDeclaration_declarator +`-SimpleDeclarator Declarator `-UnknownExpression `-'s1' )txt", R"txt( SimpleDeclaration |-NestedNameSpecifier -| |-IdentifierNameSpecifier List_element +| |-IdentifierNameSpecifier ListElement | | `-'n' -| `-'::' List_delimiter +| `-'::' ListDelimiter |-'S' -`-SimpleDeclarator SimpleDeclaration_declarator +`-SimpleDeclarator Declarator `-UnknownExpression `-'s2' )txt"})); @@ -598,31 +598,31 @@ {R"txt( SimpleDeclaration |-NestedNameSpecifier -| |-'::' List_delimiter -| |-SimpleTemplateNameSpecifier List_element +| |-'::' ListDelimiter +| |-SimpleTemplateNameSpecifier ListElement | | |-'template' | | |-'ST' | | |-'<' | | |-'int' | | `-'>' -| `-'::' List_delimiter +| `-'::' ListDelimiter |-'S' -`-SimpleDeclarator SimpleDeclaration_declarator +`-SimpleDeclarator Declarator `-UnknownExpression `-'s1' )txt", R"txt( SimpleDeclaration |-NestedNameSpecifier -| |-'::' List_delimiter -| |-SimpleTemplateNameSpecifier List_element +| |-'::' ListDelimiter +| |-SimpleTemplateNameSpecifier ListElement | | |-'ST' | | |-'<' | | |-'int' | | `-'>' -| `-'::' List_delimiter +| `-'::' ListDelimiter |-'S' -`-SimpleDeclarator SimpleDeclaration_declarator +`-SimpleDeclarator Declarator `-UnknownExpression `-'s2' )txt"})); @@ -642,18 +642,18 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-IdExpression CallExpression_callee -| |-NestedNameSpecifier IdExpression_qualifier -| | |-DecltypeNameSpecifier List_element +CallExpression Expression +|-IdExpression Callee +| |-NestedNameSpecifier Qualifier +| | |-DecltypeNameSpecifier ListElement | | | |-'decltype' | | | |-'(' | | | |-IdExpression -| | | | `-UnqualifiedId IdExpression_id +| | | | `-UnqualifiedId UnqualifiedId | | | | `-'s' | | | `-')' -| | `-'::' List_delimiter -| `-UnqualifiedId IdExpression_id +| | `-'::' ListDelimiter +| `-UnqualifiedId UnqualifiedId | `-'f' |-'(' OpenParen `-')' CloseParen @@ -676,13 +676,13 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-IdExpression CallExpression_callee -| |-NestedNameSpecifier IdExpression_qualifier -| | |-IdentifierNameSpecifier List_element +CallExpression Expression +|-IdExpression Callee +| |-NestedNameSpecifier Qualifier +| | |-IdentifierNameSpecifier ListElement | | | `-'S' -| | `-'::' List_delimiter -| `-UnqualifiedId IdExpression_id +| | `-'::' ListDelimiter +| `-UnqualifiedId UnqualifiedId | |-'f' | |-'<' | |-'int' @@ -691,14 +691,14 @@ `-')' CloseParen )txt", R"txt( -CallExpression ExpressionStatement_expression -|-IdExpression CallExpression_callee -| |-NestedNameSpecifier IdExpression_qualifier -| | |-IdentifierNameSpecifier List_element +CallExpression Expression +|-IdExpression Callee +| |-NestedNameSpecifier Qualifier +| | |-IdentifierNameSpecifier ListElement | | | `-'S' -| | `-'::' List_delimiter +| | `-'::' ListDelimiter | |-'template' TemplateKeyword -| `-UnqualifiedId IdExpression_id +| `-UnqualifiedId UnqualifiedId | |-'f' | |-'<' | |-'int' @@ -726,22 +726,22 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-IdExpression CallExpression_callee -| |-NestedNameSpecifier IdExpression_qualifier -| | |-'::' List_delimiter -| | |-IdentifierNameSpecifier List_element +CallExpression Expression +|-IdExpression Callee +| |-NestedNameSpecifier Qualifier +| | |-'::' ListDelimiter +| | |-IdentifierNameSpecifier ListElement | | | `-'n' -| | |-'::' List_delimiter -| | |-SimpleTemplateNameSpecifier List_element +| | |-'::' ListDelimiter +| | |-SimpleTemplateNameSpecifier ListElement | | | |-'template' | | | |-'ST' | | | |-'<' | | | |-'int' | | | `-'>' -| | `-'::' List_delimiter +| | `-'::' ListDelimiter | |-'template' TemplateKeyword -| `-UnqualifiedId IdExpression_id +| `-UnqualifiedId UnqualifiedId | |-'f' | |-'<' | |-'int' @@ -770,48 +770,48 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-IdExpression CallExpression_callee -| |-NestedNameSpecifier IdExpression_qualifier -| | |-IdentifierNameSpecifier List_element +CallExpression Expression +|-IdExpression Callee +| |-NestedNameSpecifier Qualifier +| | |-IdentifierNameSpecifier ListElement | | | `-'T' -| | |-'::' List_delimiter -| | |-SimpleTemplateNameSpecifier List_element +| | |-'::' ListDelimiter +| | |-SimpleTemplateNameSpecifier ListElement | | | |-'template' | | | |-'U' | | | |-'<' | | | |-'int' | | | `-'>' -| | `-'::' List_delimiter -| `-UnqualifiedId IdExpression_id +| | `-'::' ListDelimiter +| `-UnqualifiedId UnqualifiedId | `-'f' |-'(' OpenParen `-')' CloseParen )txt", R"txt( -CallExpression ExpressionStatement_expression -|-IdExpression CallExpression_callee -| |-NestedNameSpecifier IdExpression_qualifier -| | |-IdentifierNameSpecifier List_element +CallExpression Expression +|-IdExpression Callee +| |-NestedNameSpecifier Qualifier +| | |-IdentifierNameSpecifier ListElement | | | `-'T' -| | |-'::' List_delimiter -| | |-IdentifierNameSpecifier List_element +| | |-'::' ListDelimiter +| | |-IdentifierNameSpecifier ListElement | | | `-'U' -| | `-'::' List_delimiter -| `-UnqualifiedId IdExpression_id +| | `-'::' ListDelimiter +| `-UnqualifiedId UnqualifiedId | `-'f' |-'(' OpenParen `-')' CloseParen )txt", R"txt( -CallExpression ExpressionStatement_expression -|-IdExpression CallExpression_callee -| |-NestedNameSpecifier IdExpression_qualifier -| | |-IdentifierNameSpecifier List_element +CallExpression Expression +|-IdExpression Callee +| |-NestedNameSpecifier Qualifier +| | |-IdentifierNameSpecifier ListElement | | | `-'T' -| | `-'::' List_delimiter +| | `-'::' ListDelimiter | |-'template' TemplateKeyword -| `-UnqualifiedId IdExpression_id +| `-UnqualifiedId UnqualifiedId | |-'f' | |-'<' | |-IntegerLiteralExpression @@ -835,7 +835,7 @@ }; )cpp", {R"txt( -ThisExpression ReturnStatement_value +ThisExpression ReturnValue `-'this' IntroducerKeyword )txt"})); } @@ -854,12 +854,12 @@ }; )cpp", {R"txt( -MemberExpression ExpressionStatement_expression -|-ThisExpression MemberExpression_object +MemberExpression Expression +|-ThisExpression Object | `-'this' IntroducerKeyword -|-'->' MemberExpression_accessToken -`-IdExpression MemberExpression_member - `-UnqualifiedId IdExpression_id +|-'->' AccessToken +`-IdExpression Member + `-UnqualifiedId UnqualifiedId `-'a' )txt"})); } @@ -878,8 +878,8 @@ }; )cpp", {R"txt( -IdExpression ExpressionStatement_expression -`-UnqualifiedId IdExpression_id +IdExpression Expression +`-UnqualifiedId UnqualifiedId `-'a' )txt"})); } @@ -894,32 +894,32 @@ } )cpp", {R"txt( -ParenExpression ExpressionStatement_expression +ParenExpression Expression |-'(' OpenParen -|-IntegerLiteralExpression ParenExpression_subExpression +|-IntegerLiteralExpression SubExpression | `-'1' LiteralToken `-')' CloseParen )txt", R"txt( -ParenExpression ExpressionStatement_expression +ParenExpression Expression |-'(' OpenParen -|-ParenExpression ParenExpression_subExpression +|-ParenExpression SubExpression | |-'(' OpenParen -| |-IntegerLiteralExpression ParenExpression_subExpression +| |-IntegerLiteralExpression SubExpression | | `-'1' LiteralToken | `-')' CloseParen `-')' CloseParen )txt", R"txt( -ParenExpression ExpressionStatement_expression +ParenExpression Expression |-'(' OpenParen -|-BinaryOperatorExpression ParenExpression_subExpression -| |-IntegerLiteralExpression BinaryOperatorExpression_leftHandSide +|-BinaryOperatorExpression SubExpression +| |-IntegerLiteralExpression LeftHandSide | | `-'1' LiteralToken -| |-'+' OperatorExpression_operatorToken -| `-ParenExpression BinaryOperatorExpression_rightHandSide +| |-'+' OperatorToken +| `-ParenExpression RightHandSide | |-'(' OpenParen -| |-IntegerLiteralExpression ParenExpression_subExpression +| |-IntegerLiteralExpression SubExpression | | `-'2' LiteralToken | `-')' CloseParen `-')' CloseParen @@ -938,7 +938,7 @@ } )cpp", {R"txt( -CharUserDefinedLiteralExpression ExpressionStatement_expression +CharUserDefinedLiteralExpression Expression `-''2'_c' LiteralToken )txt"})); } @@ -958,7 +958,7 @@ } )cpp", {R"txt( -StringUserDefinedLiteralExpression ExpressionStatement_expression +StringUserDefinedLiteralExpression Expression `-'"12"_s' LiteralToken )txt"})); } @@ -981,15 +981,15 @@ } )cpp", {R"txt( -IntegerUserDefinedLiteralExpression ExpressionStatement_expression +IntegerUserDefinedLiteralExpression Expression `-'12_i' LiteralToken )txt", R"txt( -IntegerUserDefinedLiteralExpression ExpressionStatement_expression +IntegerUserDefinedLiteralExpression Expression `-'12_r' LiteralToken )txt", R"txt( -IntegerUserDefinedLiteralExpression ExpressionStatement_expression +IntegerUserDefinedLiteralExpression Expression `-'12_t' LiteralToken )txt"})); } @@ -1012,15 +1012,15 @@ } )cpp", {R"txt( -FloatUserDefinedLiteralExpression ExpressionStatement_expression +FloatUserDefinedLiteralExpression Expression `-'1.2_f' LiteralToken )txt", R"txt( -FloatUserDefinedLiteralExpression ExpressionStatement_expression +FloatUserDefinedLiteralExpression Expression `-'1.2_r' LiteralToken )txt", R"txt( -FloatUserDefinedLiteralExpression ExpressionStatement_expression +FloatUserDefinedLiteralExpression Expression `-'1.2_t' LiteralToken )txt"})); } @@ -1037,11 +1037,11 @@ } )cpp", {R"txt( -IntegerLiteralExpression ExpressionStatement_expression +IntegerLiteralExpression Expression `-'12ll' LiteralToken )txt", R"txt( -IntegerLiteralExpression ExpressionStatement_expression +IntegerLiteralExpression Expression `-'12ull' LiteralToken )txt"})); } @@ -1057,7 +1057,7 @@ } )cpp", {R"txt( -IntegerLiteralExpression ExpressionStatement_expression +IntegerLiteralExpression Expression `-'0b1100' LiteralToken )txt"})); } @@ -1073,7 +1073,7 @@ } )cpp", {R"txt( -IntegerLiteralExpression ExpressionStatement_expression +IntegerLiteralExpression Expression `-'1'2'0ull' LiteralToken )txt"})); } @@ -1091,27 +1091,27 @@ } )cpp", {R"txt( -CharacterLiteralExpression ExpressionStatement_expression +CharacterLiteralExpression Expression `-''a'' LiteralToken )txt", R"txt( -CharacterLiteralExpression ExpressionStatement_expression +CharacterLiteralExpression Expression `-''\n'' LiteralToken )txt", R"txt( -CharacterLiteralExpression ExpressionStatement_expression +CharacterLiteralExpression Expression `-''\x20'' LiteralToken )txt", R"txt( -CharacterLiteralExpression ExpressionStatement_expression +CharacterLiteralExpression Expression `-''\0'' LiteralToken )txt", R"txt( -CharacterLiteralExpression ExpressionStatement_expression +CharacterLiteralExpression Expression `-'L'a'' LiteralToken )txt", R"txt( -CharacterLiteralExpression ExpressionStatement_expression +CharacterLiteralExpression Expression `-'L'α'' LiteralToken )txt"})); } @@ -1130,19 +1130,19 @@ } )cpp", {R"txt( -CharacterLiteralExpression ExpressionStatement_expression +CharacterLiteralExpression Expression `-'u'a'' LiteralToken )txt", R"txt( -CharacterLiteralExpression ExpressionStatement_expression +CharacterLiteralExpression Expression `-'u'構'' LiteralToken )txt", R"txt( -CharacterLiteralExpression ExpressionStatement_expression +CharacterLiteralExpression Expression `-'U'a'' LiteralToken )txt", R"txt( -CharacterLiteralExpression ExpressionStatement_expression +CharacterLiteralExpression Expression `-'U'🌲'' LiteralToken )txt"})); } @@ -1159,11 +1159,11 @@ } )cpp", {R"txt( -CharacterLiteralExpression ExpressionStatement_expression +CharacterLiteralExpression Expression `-'u8'a'' LiteralToken )txt", R"txt( -CharacterLiteralExpression ExpressionStatement_expression +CharacterLiteralExpression Expression `-'u8'\x7f'' LiteralToken )txt"})); } @@ -1179,19 +1179,19 @@ } )cpp", {R"txt( -FloatingLiteralExpression ExpressionStatement_expression +FloatingLiteralExpression Expression `-'1e-2' LiteralToken )txt", R"txt( -FloatingLiteralExpression ExpressionStatement_expression +FloatingLiteralExpression Expression `-'2.' LiteralToken )txt", R"txt( -FloatingLiteralExpression ExpressionStatement_expression +FloatingLiteralExpression Expression `-'.2' LiteralToken )txt", R"txt( -FloatingLiteralExpression ExpressionStatement_expression +FloatingLiteralExpression Expression `-'2.f' LiteralToken )txt"})); } @@ -1210,19 +1210,19 @@ } )cpp", {R"txt( -FloatingLiteralExpression ExpressionStatement_expression +FloatingLiteralExpression Expression `-'0xfp1' LiteralToken )txt", R"txt( -FloatingLiteralExpression ExpressionStatement_expression +FloatingLiteralExpression Expression `-'0xf.p1' LiteralToken )txt", R"txt( -FloatingLiteralExpression ExpressionStatement_expression +FloatingLiteralExpression Expression `-'0x.fp1' LiteralToken )txt", R"txt( -FloatingLiteralExpression ExpressionStatement_expression +FloatingLiteralExpression Expression `-'0xf.fp1f' LiteralToken )txt"})); } @@ -1236,11 +1236,11 @@ } )cpp", {R"txt( -StringLiteralExpression ExpressionStatement_expression +StringLiteralExpression Expression `-'"a\n\0\x20"' LiteralToken )txt", R"txt( -StringLiteralExpression ExpressionStatement_expression +StringLiteralExpression Expression `-'L"αβ"' LiteralToken )txt"})); } @@ -1258,15 +1258,15 @@ } )cpp", {R"txt( -StringLiteralExpression ExpressionStatement_expression +StringLiteralExpression Expression `-'u8"a\x1f\x05"' LiteralToken )txt", R"txt( -StringLiteralExpression ExpressionStatement_expression +StringLiteralExpression Expression `-'u"C++抽象構文木"' LiteralToken )txt", R"txt( -StringLiteralExpression ExpressionStatement_expression +StringLiteralExpression Expression `-'U"📖🌲\n"' LiteralToken )txt"})); } @@ -1288,15 +1288,15 @@ "TranslationUnit Detached\n" "`-SimpleDeclaration\n" " |-'void'\n" - " |-SimpleDeclarator SimpleDeclaration_declarator\n" + " |-SimpleDeclarator Declarator\n" " | |-'test'\n" " | `-ParametersAndQualifiers\n" " | |-'(' OpenParen\n" " | `-')' CloseParen\n" " `-CompoundStatement\n" " |-'{' OpenParen\n" - " |-ExpressionStatement CompoundStatement_statement\n" - " | |-StringLiteralExpression ExpressionStatement_expression\n" + " |-ExpressionStatement Statement\n" + " | |-StringLiteralExpression Expression\n" " | | `-'R\"SyntaxTree(\n" " Hello \"Syntax\" \\\"\n" " )SyntaxTree\"' LiteralToken\n" @@ -1316,11 +1316,11 @@ } )cpp", {R"txt( -BoolLiteralExpression ExpressionStatement_expression +BoolLiteralExpression Expression `-'true' LiteralToken )txt", R"txt( -BoolLiteralExpression ExpressionStatement_expression +BoolLiteralExpression Expression `-'false' LiteralToken )txt"})); } @@ -1336,7 +1336,7 @@ } )cpp", {R"txt( -CxxNullPtrExpression ExpressionStatement_expression +CxxNullPtrExpression Expression `-'nullptr' LiteralToken )txt"})); } @@ -1350,18 +1350,18 @@ } )cpp", {R"txt( -PostfixUnaryOperatorExpression ExpressionStatement_expression -|-IdExpression UnaryOperatorExpression_operand -| `-UnqualifiedId IdExpression_id +PostfixUnaryOperatorExpression Expression +|-IdExpression Operand +| `-UnqualifiedId UnqualifiedId | `-'a' -`-'++' OperatorExpression_operatorToken +`-'++' OperatorToken )txt", R"txt( -PostfixUnaryOperatorExpression ExpressionStatement_expression -|-IdExpression UnaryOperatorExpression_operand -| `-UnqualifiedId IdExpression_id +PostfixUnaryOperatorExpression Expression +|-IdExpression Operand +| `-UnqualifiedId UnqualifiedId | `-'a' -`-'--' OperatorExpression_operatorToken +`-'--' OperatorToken )txt"})); } @@ -1380,73 +1380,73 @@ } )cpp", {R"txt( -PrefixUnaryOperatorExpression ExpressionStatement_expression -|-'--' OperatorExpression_operatorToken -`-IdExpression UnaryOperatorExpression_operand - `-UnqualifiedId IdExpression_id +PrefixUnaryOperatorExpression Expression +|-'--' OperatorToken +`-IdExpression Operand + `-UnqualifiedId UnqualifiedId `-'a' )txt", R"txt( -PrefixUnaryOperatorExpression ExpressionStatement_expression -|-'++' OperatorExpression_operatorToken -`-IdExpression UnaryOperatorExpression_operand - `-UnqualifiedId IdExpression_id +PrefixUnaryOperatorExpression Expression +|-'++' OperatorToken +`-IdExpression Operand + `-UnqualifiedId UnqualifiedId `-'a' )txt", R"txt( -PrefixUnaryOperatorExpression ExpressionStatement_expression -|-'~' OperatorExpression_operatorToken -`-IdExpression UnaryOperatorExpression_operand - `-UnqualifiedId IdExpression_id +PrefixUnaryOperatorExpression Expression +|-'~' OperatorToken +`-IdExpression Operand + `-UnqualifiedId UnqualifiedId `-'a' )txt", R"txt( -PrefixUnaryOperatorExpression ExpressionStatement_expression -|-'-' OperatorExpression_operatorToken -`-IdExpression UnaryOperatorExpression_operand - `-UnqualifiedId IdExpression_id +PrefixUnaryOperatorExpression Expression +|-'-' OperatorToken +`-IdExpression Operand + `-UnqualifiedId UnqualifiedId `-'a' )txt", R"txt( -PrefixUnaryOperatorExpression ExpressionStatement_expression -|-'+' OperatorExpression_operatorToken -`-IdExpression UnaryOperatorExpression_operand - `-UnqualifiedId IdExpression_id +PrefixUnaryOperatorExpression Expression +|-'+' OperatorToken +`-IdExpression Operand + `-UnqualifiedId UnqualifiedId `-'a' )txt", R"txt( -PrefixUnaryOperatorExpression ExpressionStatement_expression -|-'&' OperatorExpression_operatorToken -`-IdExpression UnaryOperatorExpression_operand - `-UnqualifiedId IdExpression_id +PrefixUnaryOperatorExpression Expression +|-'&' OperatorToken +`-IdExpression Operand + `-UnqualifiedId UnqualifiedId `-'a' )txt", R"txt( -PrefixUnaryOperatorExpression ExpressionStatement_expression -|-'*' OperatorExpression_operatorToken -`-IdExpression UnaryOperatorExpression_operand - `-UnqualifiedId IdExpression_id +PrefixUnaryOperatorExpression Expression +|-'*' OperatorToken +`-IdExpression Operand + `-UnqualifiedId UnqualifiedId `-'ap' )txt", R"txt( -PrefixUnaryOperatorExpression ExpressionStatement_expression -|-'!' OperatorExpression_operatorToken -`-IdExpression UnaryOperatorExpression_operand - `-UnqualifiedId IdExpression_id +PrefixUnaryOperatorExpression Expression +|-'!' OperatorToken +`-IdExpression Operand + `-UnqualifiedId UnqualifiedId `-'a' )txt", R"txt( -PrefixUnaryOperatorExpression ExpressionStatement_expression -|-'__real' OperatorExpression_operatorToken -`-IdExpression UnaryOperatorExpression_operand - `-UnqualifiedId IdExpression_id +PrefixUnaryOperatorExpression Expression +|-'__real' OperatorToken +`-IdExpression Operand + `-UnqualifiedId UnqualifiedId `-'a' )txt", R"txt( -PrefixUnaryOperatorExpression ExpressionStatement_expression -|-'__imag' OperatorExpression_operatorToken -`-IdExpression UnaryOperatorExpression_operand - `-UnqualifiedId IdExpression_id +PrefixUnaryOperatorExpression Expression +|-'__imag' OperatorToken +`-IdExpression Operand + `-UnqualifiedId UnqualifiedId `-'a' )txt"})); } @@ -1463,17 +1463,17 @@ } )cpp", {R"txt( -PrefixUnaryOperatorExpression ExpressionStatement_expression -|-'compl' OperatorExpression_operatorToken -`-IdExpression UnaryOperatorExpression_operand - `-UnqualifiedId IdExpression_id +PrefixUnaryOperatorExpression Expression +|-'compl' OperatorToken +`-IdExpression Operand + `-UnqualifiedId UnqualifiedId `-'a' )txt", R"txt( -PrefixUnaryOperatorExpression ExpressionStatement_expression -|-'not' OperatorExpression_operatorToken -`-IdExpression UnaryOperatorExpression_operand - `-UnqualifiedId IdExpression_id +PrefixUnaryOperatorExpression Expression +|-'not' OperatorToken +`-IdExpression Operand + `-UnqualifiedId UnqualifiedId `-'b' )txt"})); } @@ -1492,62 +1492,62 @@ } )cpp", {R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-IntegerLiteralExpression BinaryOperatorExpression_leftHandSide +BinaryOperatorExpression Expression +|-IntegerLiteralExpression LeftHandSide | `-'1' LiteralToken -|-'-' OperatorExpression_operatorToken -`-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide +|-'-' OperatorToken +`-IntegerLiteralExpression RightHandSide `-'2' LiteralToken )txt", R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-IntegerLiteralExpression BinaryOperatorExpression_leftHandSide +BinaryOperatorExpression Expression +|-IntegerLiteralExpression LeftHandSide | `-'1' LiteralToken -|-'==' OperatorExpression_operatorToken -`-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide +|-'==' OperatorToken +`-IntegerLiteralExpression RightHandSide `-'2' LiteralToken )txt", R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-IdExpression BinaryOperatorExpression_leftHandSide -| `-UnqualifiedId IdExpression_id +BinaryOperatorExpression Expression +|-IdExpression LeftHandSide +| `-UnqualifiedId UnqualifiedId | `-'a' -|-'=' OperatorExpression_operatorToken -`-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide +|-'=' OperatorToken +`-IntegerLiteralExpression RightHandSide `-'1' LiteralToken )txt", R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-IdExpression BinaryOperatorExpression_leftHandSide -| `-UnqualifiedId IdExpression_id +BinaryOperatorExpression Expression +|-IdExpression LeftHandSide +| `-UnqualifiedId UnqualifiedId | `-'a' -|-'<<=' OperatorExpression_operatorToken -`-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide +|-'<<=' OperatorToken +`-IntegerLiteralExpression RightHandSide `-'1' LiteralToken )txt", R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-IntegerLiteralExpression BinaryOperatorExpression_leftHandSide +BinaryOperatorExpression Expression +|-IntegerLiteralExpression LeftHandSide | `-'1' LiteralToken -|-'||' OperatorExpression_operatorToken -`-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide +|-'||' OperatorToken +`-IntegerLiteralExpression RightHandSide `-'0' LiteralToken )txt", R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-IntegerLiteralExpression BinaryOperatorExpression_leftHandSide +BinaryOperatorExpression Expression +|-IntegerLiteralExpression LeftHandSide | `-'1' LiteralToken -|-'&' OperatorExpression_operatorToken -`-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide +|-'&' OperatorToken +`-IntegerLiteralExpression RightHandSide `-'2' LiteralToken )txt", R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-IdExpression BinaryOperatorExpression_leftHandSide -| `-UnqualifiedId IdExpression_id +BinaryOperatorExpression Expression +|-IdExpression LeftHandSide +| `-UnqualifiedId UnqualifiedId | `-'a' -|-'!=' OperatorExpression_operatorToken -`-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide +|-'!=' OperatorToken +`-IntegerLiteralExpression RightHandSide `-'3' LiteralToken )txt"})); } @@ -1566,36 +1566,36 @@ } )cpp", {R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-BoolLiteralExpression BinaryOperatorExpression_leftHandSide +BinaryOperatorExpression Expression +|-BoolLiteralExpression LeftHandSide | `-'true' LiteralToken -|-'||' OperatorExpression_operatorToken -`-BoolLiteralExpression BinaryOperatorExpression_rightHandSide +|-'||' OperatorToken +`-BoolLiteralExpression RightHandSide `-'false' LiteralToken )txt", R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-BoolLiteralExpression BinaryOperatorExpression_leftHandSide +BinaryOperatorExpression Expression +|-BoolLiteralExpression LeftHandSide | `-'true' LiteralToken -|-'or' OperatorExpression_operatorToken -`-BoolLiteralExpression BinaryOperatorExpression_rightHandSide +|-'or' OperatorToken +`-BoolLiteralExpression RightHandSide `-'false' LiteralToken )txt", R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-IntegerLiteralExpression BinaryOperatorExpression_leftHandSide +BinaryOperatorExpression Expression +|-IntegerLiteralExpression LeftHandSide | `-'1' LiteralToken -|-'bitand' OperatorExpression_operatorToken -`-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide +|-'bitand' OperatorToken +`-IntegerLiteralExpression RightHandSide `-'2' LiteralToken )txt", R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-IdExpression BinaryOperatorExpression_leftHandSide -| `-UnqualifiedId IdExpression_id +BinaryOperatorExpression Expression +|-IdExpression LeftHandSide +| `-UnqualifiedId UnqualifiedId | `-'a' -|-'xor_eq' OperatorExpression_operatorToken -`-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide +|-'xor_eq' OperatorToken +`-IntegerLiteralExpression RightHandSide `-'3' LiteralToken )txt"})); } @@ -1608,24 +1608,24 @@ } )cpp", {R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-ParenExpression BinaryOperatorExpression_leftHandSide +BinaryOperatorExpression Expression +|-ParenExpression LeftHandSide | |-'(' OpenParen -| |-BinaryOperatorExpression ParenExpression_subExpression -| | |-IntegerLiteralExpression BinaryOperatorExpression_leftHandSide +| |-BinaryOperatorExpression SubExpression +| | |-IntegerLiteralExpression LeftHandSide | | | `-'1' LiteralToken -| | |-'+' OperatorExpression_operatorToken -| | `-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide +| | |-'+' OperatorToken +| | `-IntegerLiteralExpression RightHandSide | | `-'2' LiteralToken | `-')' CloseParen -|-'*' OperatorExpression_operatorToken -`-ParenExpression BinaryOperatorExpression_rightHandSide +|-'*' OperatorToken +`-ParenExpression RightHandSide |-'(' OpenParen - |-BinaryOperatorExpression ParenExpression_subExpression - | |-IntegerLiteralExpression BinaryOperatorExpression_leftHandSide + |-BinaryOperatorExpression SubExpression + | |-IntegerLiteralExpression LeftHandSide | | `-'4' LiteralToken - | |-'/' OperatorExpression_operatorToken - | `-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide + | |-'/' OperatorToken + | `-IntegerLiteralExpression RightHandSide | `-'2' LiteralToken `-')' CloseParen )txt"})); @@ -1640,31 +1640,31 @@ } )cpp", {R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-BinaryOperatorExpression BinaryOperatorExpression_leftHandSide -| |-IdExpression BinaryOperatorExpression_leftHandSide -| | `-UnqualifiedId IdExpression_id +BinaryOperatorExpression Expression +|-BinaryOperatorExpression LeftHandSide +| |-IdExpression LeftHandSide +| | `-UnqualifiedId UnqualifiedId | | `-'a' -| |-'+' OperatorExpression_operatorToken -| `-IdExpression BinaryOperatorExpression_rightHandSide -| `-UnqualifiedId IdExpression_id +| |-'+' OperatorToken +| `-IdExpression RightHandSide +| `-UnqualifiedId UnqualifiedId | `-'b' -|-'+' OperatorExpression_operatorToken -`-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide +|-'+' OperatorToken +`-IntegerLiteralExpression RightHandSide `-'42' LiteralToken )txt", R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-IdExpression BinaryOperatorExpression_leftHandSide -| `-UnqualifiedId IdExpression_id +BinaryOperatorExpression Expression +|-IdExpression LeftHandSide +| `-UnqualifiedId UnqualifiedId | `-'a' -|-'=' OperatorExpression_operatorToken -`-BinaryOperatorExpression BinaryOperatorExpression_rightHandSide - |-IdExpression BinaryOperatorExpression_leftHandSide - | `-UnqualifiedId IdExpression_id +|-'=' OperatorToken +`-BinaryOperatorExpression RightHandSide + |-IdExpression LeftHandSide + | `-UnqualifiedId UnqualifiedId | `-'b' - |-'=' OperatorExpression_operatorToken - `-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide + |-'=' OperatorToken + `-IntegerLiteralExpression RightHandSide `-'42' LiteralToken )txt"})); } @@ -1678,35 +1678,35 @@ } )cpp", {R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-BinaryOperatorExpression BinaryOperatorExpression_leftHandSide -| |-IntegerLiteralExpression BinaryOperatorExpression_leftHandSide +BinaryOperatorExpression Expression +|-BinaryOperatorExpression LeftHandSide +| |-IntegerLiteralExpression LeftHandSide | | `-'1' LiteralToken -| |-'+' OperatorExpression_operatorToken -| `-BinaryOperatorExpression BinaryOperatorExpression_rightHandSide -| |-IntegerLiteralExpression BinaryOperatorExpression_leftHandSide +| |-'+' OperatorToken +| `-BinaryOperatorExpression RightHandSide +| |-IntegerLiteralExpression LeftHandSide | | `-'2' LiteralToken -| |-'*' OperatorExpression_operatorToken -| `-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide +| |-'*' OperatorToken +| `-IntegerLiteralExpression RightHandSide | `-'3' LiteralToken -|-'+' OperatorExpression_operatorToken -`-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide +|-'+' OperatorToken +`-IntegerLiteralExpression RightHandSide `-'4' LiteralToken )txt", R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-BinaryOperatorExpression BinaryOperatorExpression_leftHandSide -| |-IntegerLiteralExpression BinaryOperatorExpression_leftHandSide +BinaryOperatorExpression Expression +|-BinaryOperatorExpression LeftHandSide +| |-IntegerLiteralExpression LeftHandSide | | `-'1' LiteralToken -| |-'%' OperatorExpression_operatorToken -| `-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide +| |-'%' OperatorToken +| `-IntegerLiteralExpression RightHandSide | `-'2' LiteralToken -|-'+' OperatorExpression_operatorToken -`-BinaryOperatorExpression BinaryOperatorExpression_rightHandSide - |-IntegerLiteralExpression BinaryOperatorExpression_leftHandSide +|-'+' OperatorToken +`-BinaryOperatorExpression RightHandSide + |-IntegerLiteralExpression LeftHandSide | `-'3' LiteralToken - |-'*' OperatorExpression_operatorToken - `-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide + |-'*' OperatorToken + `-IntegerLiteralExpression RightHandSide `-'4' LiteralToken )txt"})); } @@ -1725,13 +1725,13 @@ } )cpp", {R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-IdExpression BinaryOperatorExpression_leftHandSide -| `-UnqualifiedId IdExpression_id +BinaryOperatorExpression Expression +|-IdExpression LeftHandSide +| `-UnqualifiedId UnqualifiedId | `-'x' -|-'=' OperatorExpression_operatorToken -`-IdExpression BinaryOperatorExpression_rightHandSide - `-UnqualifiedId IdExpression_id +|-'=' OperatorToken +`-IdExpression RightHandSide + `-UnqualifiedId UnqualifiedId `-'y' )txt"})); } @@ -1753,14 +1753,14 @@ } )cpp", {R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-UnknownExpression BinaryOperatorExpression_leftHandSide +BinaryOperatorExpression Expression +|-UnknownExpression LeftHandSide | `-IdExpression -| `-UnqualifiedId IdExpression_id +| `-UnqualifiedId UnqualifiedId | `-'x' -|-'+' OperatorExpression_operatorToken -`-IdExpression BinaryOperatorExpression_rightHandSide - `-UnqualifiedId IdExpression_id +|-'+' OperatorToken +`-IdExpression RightHandSide + `-UnqualifiedId UnqualifiedId `-'y' )txt"})); } @@ -1779,13 +1779,13 @@ } )cpp", {R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-IdExpression BinaryOperatorExpression_leftHandSide -| `-UnqualifiedId IdExpression_id +BinaryOperatorExpression Expression +|-IdExpression LeftHandSide +| `-UnqualifiedId UnqualifiedId | `-'x' -|-'<' OperatorExpression_operatorToken -`-IdExpression BinaryOperatorExpression_rightHandSide - `-UnqualifiedId IdExpression_id +|-'<' OperatorToken +`-IdExpression RightHandSide + `-UnqualifiedId UnqualifiedId `-'y' )txt"})); } @@ -1804,13 +1804,13 @@ } )cpp", {R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-IdExpression BinaryOperatorExpression_leftHandSide -| `-UnqualifiedId IdExpression_id +BinaryOperatorExpression Expression +|-IdExpression LeftHandSide +| `-UnqualifiedId UnqualifiedId | `-'x' -|-'<<' OperatorExpression_operatorToken -`-IdExpression BinaryOperatorExpression_rightHandSide - `-UnqualifiedId IdExpression_id +|-'<<' OperatorToken +`-IdExpression RightHandSide + `-UnqualifiedId UnqualifiedId `-'y' )txt"})); } @@ -1829,13 +1829,13 @@ } )cpp", {R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-IdExpression BinaryOperatorExpression_leftHandSide -| `-UnqualifiedId IdExpression_id +BinaryOperatorExpression Expression +|-IdExpression LeftHandSide +| `-UnqualifiedId UnqualifiedId | `-'x' -|-',' OperatorExpression_operatorToken -`-IdExpression BinaryOperatorExpression_rightHandSide - `-UnqualifiedId IdExpression_id +|-',' OperatorToken +`-IdExpression RightHandSide + `-UnqualifiedId UnqualifiedId `-'y' )txt"})); } @@ -1854,13 +1854,13 @@ } )cpp", {R"txt( -BinaryOperatorExpression ExpressionStatement_expression -|-IdExpression BinaryOperatorExpression_leftHandSide -| `-UnqualifiedId IdExpression_id +BinaryOperatorExpression Expression +|-IdExpression LeftHandSide +| `-UnqualifiedId UnqualifiedId | `-'xp' -|-'->*' OperatorExpression_operatorToken -`-IdExpression BinaryOperatorExpression_rightHandSide - `-UnqualifiedId IdExpression_id +|-'->*' OperatorToken +`-IdExpression RightHandSide + `-UnqualifiedId UnqualifiedId `-'pmi' )txt"})); } @@ -1879,10 +1879,10 @@ } )cpp", {R"txt( -PrefixUnaryOperatorExpression ExpressionStatement_expression -|-'!' OperatorExpression_operatorToken -`-IdExpression UnaryOperatorExpression_operand - `-UnqualifiedId IdExpression_id +PrefixUnaryOperatorExpression Expression +|-'!' OperatorToken +`-IdExpression Operand + `-UnqualifiedId UnqualifiedId `-'x' )txt"})); } @@ -1901,10 +1901,10 @@ } )cpp", {R"txt( -PrefixUnaryOperatorExpression ExpressionStatement_expression -|-'&' OperatorExpression_operatorToken -`-IdExpression UnaryOperatorExpression_operand - `-UnqualifiedId IdExpression_id +PrefixUnaryOperatorExpression Expression +|-'&' OperatorToken +`-IdExpression Operand + `-UnqualifiedId UnqualifiedId `-'x' )txt"})); } @@ -1923,10 +1923,10 @@ } )cpp", {R"txt( -PrefixUnaryOperatorExpression ExpressionStatement_expression -|-'++' OperatorExpression_operatorToken -`-IdExpression UnaryOperatorExpression_operand - `-UnqualifiedId IdExpression_id +PrefixUnaryOperatorExpression Expression +|-'++' OperatorToken +`-IdExpression Operand + `-UnqualifiedId UnqualifiedId `-'x' )txt"})); } @@ -1945,11 +1945,11 @@ } )cpp", {R"txt( -PostfixUnaryOperatorExpression ExpressionStatement_expression -|-IdExpression UnaryOperatorExpression_operand -| `-UnqualifiedId IdExpression_id +PostfixUnaryOperatorExpression Expression +|-IdExpression Operand +| `-UnqualifiedId UnqualifiedId | `-'x' -`-'++' OperatorExpression_operatorToken +`-'++' OperatorToken )txt"})); } @@ -1964,13 +1964,13 @@ } )cpp", {R"txt( -MemberExpression ExpressionStatement_expression -|-IdExpression MemberExpression_object -| `-UnqualifiedId IdExpression_id +MemberExpression Expression +|-IdExpression Object +| `-UnqualifiedId UnqualifiedId | `-'s' -|-'.' MemberExpression_accessToken -`-IdExpression MemberExpression_member - `-UnqualifiedId IdExpression_id +|-'.' AccessToken +`-IdExpression Member + `-UnqualifiedId UnqualifiedId `-'a' )txt"})); } @@ -1989,13 +1989,13 @@ } )cpp", {R"txt( -MemberExpression ExpressionStatement_expression -|-IdExpression MemberExpression_object -| `-UnqualifiedId IdExpression_id +MemberExpression Expression +|-IdExpression Object +| `-UnqualifiedId UnqualifiedId | `-'s' -|-'.' MemberExpression_accessToken -`-IdExpression MemberExpression_member - `-UnqualifiedId IdExpression_id +|-'.' AccessToken +`-IdExpression Member + `-UnqualifiedId UnqualifiedId `-'a' )txt"})); } @@ -2011,13 +2011,13 @@ } )cpp", {R"txt( -MemberExpression ExpressionStatement_expression -|-IdExpression MemberExpression_object -| `-UnqualifiedId IdExpression_id +MemberExpression Expression +|-IdExpression Object +| `-UnqualifiedId UnqualifiedId | `-'sp' -|-'->' MemberExpression_accessToken -`-IdExpression MemberExpression_member - `-UnqualifiedId IdExpression_id +|-'->' AccessToken +`-IdExpression Member + `-UnqualifiedId UnqualifiedId `-'a' )txt"})); } @@ -2033,18 +2033,18 @@ } )cpp", {R"txt( -MemberExpression ExpressionStatement_expression -|-MemberExpression MemberExpression_object -| |-IdExpression MemberExpression_object -| | `-UnqualifiedId IdExpression_id +MemberExpression Expression +|-MemberExpression Object +| |-IdExpression Object +| | `-UnqualifiedId UnqualifiedId | | `-'s' -| |-'.' MemberExpression_accessToken -| `-IdExpression MemberExpression_member -| `-UnqualifiedId IdExpression_id +| |-'.' AccessToken +| `-IdExpression Member +| `-UnqualifiedId UnqualifiedId | `-'next' -|-'->' MemberExpression_accessToken -`-IdExpression MemberExpression_member - `-UnqualifiedId IdExpression_id +|-'->' AccessToken +`-IdExpression Member + `-UnqualifiedId UnqualifiedId `-'next' )txt"})); } @@ -2063,14 +2063,14 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-MemberExpression CallExpression_callee -| |-IdExpression MemberExpression_object -| | `-UnqualifiedId IdExpression_id +CallExpression Expression +|-MemberExpression Callee +| |-IdExpression Object +| | `-UnqualifiedId UnqualifiedId | | `-'s' -| |-'.' MemberExpression_accessToken -| `-IdExpression MemberExpression_member -| `-UnqualifiedId IdExpression_id +| |-'.' AccessToken +| `-IdExpression Member +| `-UnqualifiedId UnqualifiedId | |-'operator' | `-'!' |-'(' OpenParen @@ -2097,14 +2097,14 @@ {R"txt( CompoundStatement |-'{' OpenParen -|-ExpressionStatement CompoundStatement_statement -| `-MemberExpression ExpressionStatement_expression -| |-IdExpression MemberExpression_object -| | `-UnqualifiedId IdExpression_id +|-ExpressionStatement Statement +| `-MemberExpression Expression +| |-IdExpression Object +| | `-UnqualifiedId UnqualifiedId | | `-'s' -| |-'.' MemberExpression_accessToken -| `-IdExpression MemberExpression_member -| `-UnqualifiedId IdExpression_id +| |-'.' AccessToken +| `-IdExpression Member +| `-UnqualifiedId UnqualifiedId | `-'x' |-'<' |-'int' @@ -2129,14 +2129,14 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-MemberExpression CallExpression_callee -| |-IdExpression MemberExpression_object -| | `-UnqualifiedId IdExpression_id +CallExpression Expression +|-MemberExpression Callee +| |-IdExpression Object +| | `-UnqualifiedId UnqualifiedId | | `-'sp' -| |-'->' MemberExpression_accessToken -| `-IdExpression MemberExpression_member -| `-UnqualifiedId IdExpression_id +| |-'->' AccessToken +| `-IdExpression Member +| `-UnqualifiedId UnqualifiedId | |-'f' | |-'<' | |-'int' @@ -2161,15 +2161,15 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-MemberExpression CallExpression_callee -| |-IdExpression MemberExpression_object -| | `-UnqualifiedId IdExpression_id +CallExpression Expression +|-MemberExpression Callee +| |-IdExpression Object +| | `-UnqualifiedId UnqualifiedId | | `-'s' -| |-'.' MemberExpression_accessToken +| |-'.' AccessToken | |-'template' -| `-IdExpression MemberExpression_member -| `-UnqualifiedId IdExpression_id +| `-IdExpression Member +| `-UnqualifiedId UnqualifiedId | |-'f' | |-'<' | |-'int' @@ -2195,36 +2195,36 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-MemberExpression CallExpression_callee -| |-IdExpression MemberExpression_object -| | `-UnqualifiedId IdExpression_id +CallExpression Expression +|-MemberExpression Callee +| |-IdExpression Object +| | `-UnqualifiedId UnqualifiedId | | `-'s' -| |-'.' MemberExpression_accessToken -| `-IdExpression MemberExpression_member -| |-NestedNameSpecifier IdExpression_qualifier -| | |-IdentifierNameSpecifier List_element +| |-'.' AccessToken +| `-IdExpression Member +| |-NestedNameSpecifier Qualifier +| | |-IdentifierNameSpecifier ListElement | | | `-'Base' -| | `-'::' List_delimiter -| `-UnqualifiedId IdExpression_id +| | `-'::' ListDelimiter +| `-UnqualifiedId UnqualifiedId | `-'f' |-'(' OpenParen `-')' CloseParen )txt", R"txt( -CallExpression ExpressionStatement_expression -|-MemberExpression CallExpression_callee -| |-IdExpression MemberExpression_object -| | `-UnqualifiedId IdExpression_id +CallExpression Expression +|-MemberExpression Callee +| |-IdExpression Object +| | `-UnqualifiedId UnqualifiedId | | `-'s' -| |-'.' MemberExpression_accessToken -| `-IdExpression MemberExpression_member -| |-NestedNameSpecifier IdExpression_qualifier -| | |-'::' List_delimiter -| | |-IdentifierNameSpecifier List_element +| |-'.' AccessToken +| `-IdExpression Member +| |-NestedNameSpecifier Qualifier +| | |-'::' ListDelimiter +| | |-IdentifierNameSpecifier ListElement | | | `-'S' -| | `-'::' List_delimiter -| `-UnqualifiedId IdExpression_id +| | `-'::' ListDelimiter +| `-UnqualifiedId UnqualifiedId | |-'~' | `-'S' |-'(' OpenParen @@ -2256,31 +2256,31 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-MemberExpression CallExpression_callee -| |-CallExpression MemberExpression_object -| | |-MemberExpression CallExpression_callee -| | | |-IdExpression MemberExpression_object -| | | | `-UnqualifiedId IdExpression_id +CallExpression Expression +|-MemberExpression Callee +| |-CallExpression Object +| | |-MemberExpression Callee +| | | |-IdExpression Object +| | | | `-UnqualifiedId UnqualifiedId | | | | `-'sp' -| | | |-'->' MemberExpression_accessToken -| | | `-IdExpression MemberExpression_member -| | | `-UnqualifiedId IdExpression_id +| | | |-'->' AccessToken +| | | `-IdExpression Member +| | | `-UnqualifiedId UnqualifiedId | | | `-'getU' | | |-'(' OpenParen | | `-')' CloseParen -| |-'.' MemberExpression_accessToken -| `-IdExpression MemberExpression_member -| |-NestedNameSpecifier IdExpression_qualifier -| | |-SimpleTemplateNameSpecifier List_element +| |-'.' AccessToken +| `-IdExpression Member +| |-NestedNameSpecifier Qualifier +| | |-SimpleTemplateNameSpecifier ListElement | | | |-'template' | | | |-'U' | | | |-'<' | | | |-'int' | | | `-'>' -| | `-'::' List_delimiter +| | `-'::' ListDelimiter | |-'template' TemplateKeyword -| `-UnqualifiedId IdExpression_id +| `-UnqualifiedId UnqualifiedId | |-'f' | |-'<' | |-'int' @@ -2304,14 +2304,14 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-MemberExpression CallExpression_callee -| |-IdExpression MemberExpression_object -| | `-UnqualifiedId IdExpression_id +CallExpression Expression +|-MemberExpression Callee +| |-IdExpression Object +| | `-UnqualifiedId UnqualifiedId | | `-'s' -| |-'.' MemberExpression_accessToken -| `-IdExpression MemberExpression_member -| `-UnqualifiedId IdExpression_id +| |-'.' AccessToken +| `-IdExpression Member +| `-UnqualifiedId UnqualifiedId | `-'f' |-'(' OpenParen `-')' CloseParen @@ -2332,9 +2332,9 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-IdExpression CallExpression_callee -| `-UnqualifiedId IdExpression_id +CallExpression Expression +|-IdExpression Callee +| `-UnqualifiedId UnqualifiedId | `-'s' |-'(' OpenParen `-')' CloseParen @@ -2355,10 +2355,10 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-CallExpression CallExpression_callee -| |-IdExpression CallExpression_callee -| | `-UnqualifiedId IdExpression_id +CallExpression Expression +|-CallExpression Callee +| |-IdExpression Callee +| | `-UnqualifiedId UnqualifiedId | | `-'s' | |-'(' OpenParen | `-')' CloseParen @@ -2386,37 +2386,37 @@ }; )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-MemberExpression CallExpression_callee -| |-ThisExpression MemberExpression_object +CallExpression Expression +|-MemberExpression Callee +| |-ThisExpression Object | | `-'this' IntroducerKeyword -| |-'->' MemberExpression_accessToken -| `-IdExpression MemberExpression_member -| `-UnqualifiedId IdExpression_id +| |-'->' AccessToken +| `-IdExpression Member +| `-UnqualifiedId UnqualifiedId | `-'f' |-'(' OpenParen `-')' CloseParen )txt", R"txt( -CallExpression ExpressionStatement_expression -|-IdExpression CallExpression_callee -| `-UnqualifiedId IdExpression_id +CallExpression Expression +|-IdExpression Callee +| `-UnqualifiedId UnqualifiedId | `-'f' |-'(' OpenParen `-')' CloseParen )txt", R"txt( -CallExpression ExpressionStatement_expression -|-MemberExpression CallExpression_callee -| |-ThisExpression MemberExpression_object +CallExpression Expression +|-MemberExpression Callee +| |-ThisExpression Object | | `-'this' IntroducerKeyword -| |-'->' MemberExpression_accessToken -| `-IdExpression MemberExpression_member -| |-NestedNameSpecifier IdExpression_qualifier -| | |-IdentifierNameSpecifier List_element +| |-'->' AccessToken +| `-IdExpression Member +| |-NestedNameSpecifier Qualifier +| | |-IdentifierNameSpecifier ListElement | | | `-'Base' -| | `-'::' List_delimiter -| `-UnqualifiedId IdExpression_id +| | `-'::' ListDelimiter +| `-UnqualifiedId UnqualifiedId | `-'f' |-'(' OpenParen `-')' CloseParen @@ -2436,21 +2436,21 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-IdExpression CallExpression_callee -| `-UnqualifiedId IdExpression_id +CallExpression Expression +|-IdExpression Callee +| `-UnqualifiedId UnqualifiedId | `-'pf' |-'(' OpenParen `-')' CloseParen )txt", R"txt( -CallExpression ExpressionStatement_expression -|-ParenExpression CallExpression_callee +CallExpression Expression +|-ParenExpression Callee | |-'(' OpenParen -| |-PrefixUnaryOperatorExpression ParenExpression_subExpression -| | |-'*' OperatorExpression_operatorToken -| | `-IdExpression UnaryOperatorExpression_operand -| | `-UnqualifiedId IdExpression_id +| |-PrefixUnaryOperatorExpression SubExpression +| | |-'*' OperatorToken +| | `-IdExpression Operand +| | `-UnqualifiedId UnqualifiedId | | `-'pf' | `-')' CloseParen |-'(' OpenParen @@ -2474,16 +2474,16 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-ParenExpression CallExpression_callee +CallExpression Expression +|-ParenExpression Callee | |-'(' OpenParen -| |-BinaryOperatorExpression ParenExpression_subExpression -| | |-IdExpression BinaryOperatorExpression_leftHandSide -| | | `-UnqualifiedId IdExpression_id +| |-BinaryOperatorExpression SubExpression +| | |-IdExpression LeftHandSide +| | | `-UnqualifiedId UnqualifiedId | | | `-'s' -| | |-'.*' OperatorExpression_operatorToken -| | `-IdExpression BinaryOperatorExpression_rightHandSide -| | `-UnqualifiedId IdExpression_id +| | |-'.*' OperatorToken +| | `-IdExpression RightHandSide +| | `-UnqualifiedId UnqualifiedId | | `-'pmf' | `-')' CloseParen |-'(' OpenParen @@ -2503,10 +2503,10 @@ } )cpp", {R"txt( -ExpressionStatement CompoundStatement_statement -|-CallExpression ExpressionStatement_expression -| |-IdExpression CallExpression_callee -| | `-UnqualifiedId IdExpression_id +ExpressionStatement Statement +|-CallExpression Expression +| |-IdExpression Callee +| | `-UnqualifiedId UnqualifiedId | | `-'f' | |-'(' OpenParen | `-')' CloseParen @@ -2526,14 +2526,14 @@ } )cpp", {R"txt( -ExpressionStatement CompoundStatement_statement -|-CallExpression ExpressionStatement_expression -| |-IdExpression CallExpression_callee -| | `-UnqualifiedId IdExpression_id +ExpressionStatement Statement +|-CallExpression Expression +| |-IdExpression Callee +| | `-UnqualifiedId UnqualifiedId | | `-'f' | |-'(' OpenParen -| |-CallArguments CallExpression_arguments -| | `-IntegerLiteralExpression List_element +| |-CallArguments Arguments +| | `-IntegerLiteralExpression ListElement | | `-'1' LiteralToken | `-')' CloseParen `-';' @@ -2552,20 +2552,20 @@ } )cpp", {R"txt( -ExpressionStatement CompoundStatement_statement -|-CallExpression ExpressionStatement_expression -| |-IdExpression CallExpression_callee -| | `-UnqualifiedId IdExpression_id +ExpressionStatement Statement +|-CallExpression Expression +| |-IdExpression Callee +| | `-UnqualifiedId UnqualifiedId | | `-'f' | |-'(' OpenParen -| |-CallArguments CallExpression_arguments -| | |-IntegerLiteralExpression List_element +| |-CallArguments Arguments +| | |-IntegerLiteralExpression ListElement | | | `-'1' LiteralToken -| | |-',' List_delimiter -| | |-CharacterLiteralExpression List_element +| | |-',' ListDelimiter +| | |-CharacterLiteralExpression ListElement | | | `-''2'' LiteralToken -| | |-',' List_delimiter -| | `-FloatingLiteralExpression List_element +| | |-',' ListDelimiter +| | `-FloatingLiteralExpression ListElement | | `-'3.' LiteralToken | `-')' CloseParen `-';' @@ -2584,19 +2584,19 @@ } )cpp", {R"txt( -ExpressionStatement CompoundStatement_statement -|-CallExpression ExpressionStatement_expression -| |-IdExpression CallExpression_callee -| | `-UnqualifiedId IdExpression_id +ExpressionStatement Statement +|-CallExpression Expression +| |-IdExpression Callee +| | `-UnqualifiedId UnqualifiedId | | `-'f' | |-'(' OpenParen -| |-CallArguments CallExpression_arguments -| | `-BinaryOperatorExpression List_element -| | |-IdExpression BinaryOperatorExpression_leftHandSide -| | | `-UnqualifiedId IdExpression_id +| |-CallArguments Arguments +| | `-BinaryOperatorExpression ListElement +| | |-IdExpression LeftHandSide +| | | `-UnqualifiedId UnqualifiedId | | | `-'a' -| | |-'=' OperatorExpression_operatorToken -| | `-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide +| | |-'=' OperatorToken +| | `-IntegerLiteralExpression RightHandSide | | `-'1' LiteralToken | `-')' CloseParen `-';' @@ -2615,14 +2615,14 @@ } )cpp", {R"txt( -ExpressionStatement CompoundStatement_statement -|-CallExpression ExpressionStatement_expression -| |-IdExpression CallExpression_callee -| | `-UnqualifiedId IdExpression_id +ExpressionStatement Statement +|-CallExpression Expression +| |-IdExpression Callee +| | `-UnqualifiedId UnqualifiedId | | `-'f' | |-'(' OpenParen -| |-CallArguments CallExpression_arguments -| | `-UnknownExpression List_element +| |-CallArguments Arguments +| | `-UnknownExpression ListElement | | `-UnknownExpression | | |-'{' | | `-'}' @@ -2648,14 +2648,14 @@ } )cpp", {R"txt( -ExpressionStatement CompoundStatement_statement -|-CallExpression ExpressionStatement_expression -| |-IdExpression CallExpression_callee -| | `-UnqualifiedId IdExpression_id +ExpressionStatement Statement +|-CallExpression Expression +| |-IdExpression Callee +| | `-UnqualifiedId UnqualifiedId | | `-'f' | |-'(' OpenParen -| |-CallArguments CallExpression_arguments -| | `-UnknownExpression List_element +| |-CallArguments Arguments +| | `-UnknownExpression ListElement | | `-UnknownExpression | | |-'{' | | |-IntegerLiteralExpression @@ -2688,14 +2688,14 @@ } )cpp", {R"txt( -ExpressionStatement CompoundStatement_statement -|-CallExpression ExpressionStatement_expression -| |-IdExpression CallExpression_callee -| | `-UnqualifiedId IdExpression_id +ExpressionStatement Statement +|-CallExpression Expression +| |-IdExpression Callee +| | `-UnqualifiedId UnqualifiedId | | `-'f' | |-'(' OpenParen -| |-CallArguments CallExpression_arguments -| | `-UnknownExpression List_element +| |-CallArguments Arguments +| | `-UnknownExpression ListElement | | `-UnknownExpression | | |-'{' | | |-UnknownExpression @@ -2730,14 +2730,14 @@ } )cpp", {R"txt( -CallExpression ExpressionStatement_expression -|-UnknownExpression CallExpression_callee +CallExpression Expression +|-UnknownExpression Callee | `-'test' |-'(' OpenParen -|-CallArguments CallExpression_arguments -| `-UnknownExpression List_element +|-CallArguments Arguments +| `-UnknownExpression ListElement | |-IdExpression -| | `-UnqualifiedId IdExpression_id +| | `-UnqualifiedId UnqualifiedId | | `-'args' | `-'...' `-')' CloseParen @@ -2754,20 +2754,20 @@ TranslationUnit Detached |-SimpleDeclaration | |-'int' -| |-SimpleDeclarator SimpleDeclaration_declarator +| |-SimpleDeclarator Declarator | | |-'*' | | `-'a' | |-',' -| |-SimpleDeclarator SimpleDeclaration_declarator +| |-SimpleDeclarator Declarator | | `-'b' | `-';' `-SimpleDeclaration |-'int' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'*' | `-'c' |-',' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | `-'d' `-';' )txt")); @@ -2783,11 +2783,11 @@ `-SimpleDeclaration |-'typedef' |-'int' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'*' | `-'a' |-',' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | `-'b' `-';' )txt")); @@ -2805,32 +2805,32 @@ TranslationUnit Detached `-SimpleDeclaration |-'void' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'foo' | `-ParametersAndQualifiers | |-'(' OpenParen | `-')' CloseParen `-CompoundStatement |-'{' OpenParen - |-DeclarationStatement CompoundStatement_statement + |-DeclarationStatement Statement | |-SimpleDeclaration | | |-'int' - | | |-SimpleDeclarator SimpleDeclaration_declarator + | | |-SimpleDeclarator Declarator | | | |-'*' | | | `-'a' | | |-',' - | | `-SimpleDeclarator SimpleDeclaration_declarator + | | `-SimpleDeclarator Declarator | | `-'b' | `-';' - |-DeclarationStatement CompoundStatement_statement + |-DeclarationStatement Statement | |-SimpleDeclaration | | |-'typedef' | | |-'int' - | | |-SimpleDeclarator SimpleDeclaration_declarator + | | |-SimpleDeclarator Declarator | | | |-'*' | | | `-'ta' | | |-',' - | | `-SimpleDeclarator SimpleDeclaration_declarator + | | `-SimpleDeclarator Declarator | | `-'tb' | `-';' `-'}' CloseParen @@ -2858,7 +2858,7 @@ | |-'*' | `-')' |-')' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | `-'size_t' `-';' )txt")); @@ -2957,7 +2957,7 @@ |-'using' |-'namespace' |-NestedNameSpecifier -| `-'::' List_delimiter +| `-'::' ListDelimiter |-'ns' `-';' )txt"})); @@ -2976,9 +2976,9 @@ UsingDeclaration |-'using' |-NestedNameSpecifier -| |-IdentifierNameSpecifier List_element +| |-IdentifierNameSpecifier ListElement | | `-'ns' -| `-'::' List_delimiter +| `-'::' ListDelimiter |-'a' `-';' )txt"})); @@ -2999,9 +2999,9 @@ UsingDeclaration |-'using' |-NestedNameSpecifier -| |-IdentifierNameSpecifier List_element +| |-IdentifierNameSpecifier ListElement | | `-'T' -| `-'::' List_delimiter +| `-'::' ListDelimiter |-'foo' `-';' )txt", @@ -3010,9 +3010,9 @@ |-'using' |-'typename' |-NestedNameSpecifier -| |-IdentifierNameSpecifier List_element +| |-IdentifierNameSpecifier ListElement | | `-'T' -| `-'::' List_delimiter +| `-'::' ListDelimiter |-'bar' `-';' )txt"})); @@ -3053,7 +3053,7 @@ SimpleDeclaration |-'struct' |-'Y' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-'*' | `-'y1' `-';' @@ -3081,7 +3081,7 @@ |-'Y' |-'{' |-'}' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-'*' | `-'y2' `-';' @@ -3091,7 +3091,7 @@ |-'struct' |-'{' |-'}' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-'*' | `-'a1' `-';' @@ -3112,7 +3112,7 @@ SimpleDeclaration |-'static' |-'void' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-'f' | `-ParametersAndQualifiers | |-'(' OpenParen @@ -3135,7 +3135,7 @@ )cpp", {R"txt( SimpleDeclaration -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-'operator' | |-'int' | `-ParametersAndQualifiers @@ -3157,14 +3157,14 @@ TranslationUnit Detached `-SimpleDeclaration |-'unsigned' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'operator' | |-'""' | |-'_c' | `-ParametersAndQualifiers | |-'(' OpenParen - | |-ParameterDeclarationList ParametersAndQualifiers_parameters - | | `-SimpleDeclaration List_element + | |-ParameterDeclarationList Parameters + | | `-SimpleDeclaration ListElement | | `-'char' | `-')' CloseParen `-';' @@ -3182,7 +3182,7 @@ )cpp", R"txt( TranslationUnit Detached -`-TemplateDeclaration TemplateDeclaration_declaration +`-TemplateDeclaration Declaration |-'template' IntroducerKeyword |-'<' |-SimpleDeclaration @@ -3191,7 +3191,7 @@ |-'>' `-SimpleDeclaration |-'unsigned' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'operator' | |-'""' | |-'_t' @@ -3215,17 +3215,17 @@ {R"txt( SimpleDeclaration |-'X' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-'&' | |-'operator' | |-'=' | `-ParametersAndQualifiers | |-'(' OpenParen -| |-ParameterDeclarationList ParametersAndQualifiers_parameters -| | `-SimpleDeclaration List_element +| |-ParameterDeclarationList Parameters +| | `-SimpleDeclaration ListElement | | |-'const' | | |-'X' -| | `-SimpleDeclarator SimpleDeclaration_declarator +| | `-SimpleDeclarator Declarator | | `-'&' | `-')' CloseParen `-';' @@ -3247,19 +3247,19 @@ `-SimpleDeclaration |-'friend' |-'X' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'operator' | |-'+' | `-ParametersAndQualifiers | |-'(' OpenParen - | |-ParameterDeclarationList ParametersAndQualifiers_parameters - | | |-SimpleDeclaration List_element + | |-ParameterDeclarationList Parameters + | | |-SimpleDeclaration ListElement | | | `-'X' - | | |-',' List_delimiter - | | `-SimpleDeclaration List_element + | | |-',' ListDelimiter + | | `-SimpleDeclaration ListElement | | |-'const' | | |-'X' - | | `-SimpleDeclarator SimpleDeclaration_declarator + | | `-SimpleDeclarator Declarator | | `-'&' | `-')' CloseParen `-';' @@ -3277,7 +3277,7 @@ )cpp", R"txt( TranslationUnit Detached -`-TemplateDeclaration TemplateDeclaration_declaration +`-TemplateDeclaration Declaration |-'template' IntroducerKeyword |-'<' |-UnknownDeclaration @@ -3304,7 +3304,7 @@ )cpp", R"txt( TranslationUnit Detached -`-TemplateDeclaration TemplateDeclaration_declaration +`-TemplateDeclaration Declaration |-'template' IntroducerKeyword |-'<' |-UnknownDeclaration @@ -3313,7 +3313,7 @@ |-'>' `-SimpleDeclaration |-'T' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'f' | `-ParametersAndQualifiers | |-'(' OpenParen @@ -3332,7 +3332,7 @@ )cpp", R"txt( TranslationUnit Detached -`-TemplateDeclaration TemplateDeclaration_declaration +`-TemplateDeclaration Declaration |-'template' IntroducerKeyword |-'<' |-UnknownDeclaration @@ -3341,7 +3341,7 @@ |-'>' `-SimpleDeclaration |-'T' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'var' | |-'=' | `-IntegerLiteralExpression @@ -3362,7 +3362,7 @@ }; )cpp", {R"txt( -TemplateDeclaration TemplateDeclaration_declaration +TemplateDeclaration Declaration |-'template' IntroducerKeyword |-'<' |-UnknownDeclaration @@ -3372,7 +3372,7 @@ `-SimpleDeclaration |-'static' |-'U' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'f' | `-ParametersAndQualifiers | |-'(' OpenParen @@ -3395,7 +3395,7 @@ )cpp", R"txt( TranslationUnit Detached -`-TemplateDeclaration TemplateDeclaration_declaration +`-TemplateDeclaration Declaration |-'template' IntroducerKeyword |-'<' |-UnknownDeclaration @@ -3406,7 +3406,7 @@ |-'struct' |-'X' |-'{' - |-TemplateDeclaration TemplateDeclaration_declaration + |-TemplateDeclaration Declaration | |-'template' IntroducerKeyword | |-'<' | |-UnknownDeclaration @@ -3415,7 +3415,7 @@ | |-'>' | `-SimpleDeclaration | |-'U' - | |-SimpleDeclarator SimpleDeclaration_declarator + | |-SimpleDeclarator Declarator | | |-'foo' | | `-ParametersAndQualifiers | | |-'(' OpenParen @@ -3446,7 +3446,7 @@ |-'namespace' |-'n' |-'{' - |-TemplateDeclaration TemplateDeclaration_declaration + |-TemplateDeclaration Declaration | |-'template' IntroducerKeyword | |-'<' | |-UnknownDeclaration @@ -3457,7 +3457,7 @@ | |-'struct' | |-'ST' | |-'{' - | |-TemplateDeclaration TemplateDeclaration_declaration + | |-TemplateDeclaration Declaration | | |-'template' IntroducerKeyword | | |-'<' | | |-UnknownDeclaration @@ -3467,7 +3467,7 @@ | | `-SimpleDeclaration | | |-'static' | | |-'U' - | | |-SimpleDeclarator SimpleDeclaration_declarator + | | |-SimpleDeclarator Declarator | | | |-'f' | | | `-ParametersAndQualifiers | | | |-'(' OpenParen @@ -3489,7 +3489,7 @@ [[template struct X::Y {};]] )cpp", {R"txt( -TemplateDeclaration TemplateDeclaration_declaration +TemplateDeclaration Declaration |-'template' IntroducerKeyword |-'<' |-UnknownDeclaration @@ -3499,12 +3499,12 @@ `-SimpleDeclaration |-'struct' |-NestedNameSpecifier - | |-SimpleTemplateNameSpecifier List_element + | |-SimpleTemplateNameSpecifier ListElement | | |-'X' | | |-'<' | | |-'T' | | `-'>' - | `-'::' List_delimiter + | `-'::' ListDelimiter |-'Y' |-'{' |-'}' @@ -3524,7 +3524,7 @@ {R"txt( ExplicitTemplateInstantiation |-'template' IntroducerKeyword -`-SimpleDeclaration ExplicitTemplateInstantiation_declaration +`-SimpleDeclaration Declaration |-'struct' |-'X' |-'<' @@ -3547,7 +3547,7 @@ ExplicitTemplateInstantiation |-'extern' ExternKeyword |-'template' IntroducerKeyword -`-SimpleDeclaration ExplicitTemplateInstantiation_declaration +`-SimpleDeclaration Declaration |-'struct' |-'X' |-'<' @@ -3567,7 +3567,7 @@ [[template struct X {};]] )cpp", {R"txt( -TemplateDeclaration TemplateDeclaration_declaration +TemplateDeclaration Declaration |-'template' IntroducerKeyword |-'<' |-UnknownDeclaration @@ -3597,7 +3597,7 @@ [[template <> struct X {};]] )cpp", {R"txt( -TemplateDeclaration TemplateDeclaration_declaration +TemplateDeclaration Declaration |-'template' IntroducerKeyword |-'<' |-'>' @@ -3638,10 +3638,10 @@ `-StaticAssertDeclaration |-'static_assert' |-'(' - |-BoolLiteralExpression StaticAssertDeclaration_condition + |-BoolLiteralExpression Condition | `-'true' LiteralToken |-',' - |-StringLiteralExpression StaticAssertDeclaration_message + |-StringLiteralExpression Message | `-'"message"' LiteralToken |-')' `-';' @@ -3661,7 +3661,7 @@ `-StaticAssertDeclaration |-'static_assert' |-'(' - |-BoolLiteralExpression StaticAssertDeclaration_condition + |-BoolLiteralExpression Condition | `-'true' LiteralToken |-')' `-';' @@ -3684,7 +3684,7 @@ | |-'"C"' | `-SimpleDeclaration | |-'int' -| |-SimpleDeclarator SimpleDeclaration_declarator +| |-SimpleDeclarator Declarator | | `-'a' | `-';' `-LinkageSpecificationDeclaration @@ -3693,12 +3693,12 @@ |-'{' |-SimpleDeclaration | |-'int' - | |-SimpleDeclarator SimpleDeclaration_declarator + | |-SimpleDeclarator Declarator | | `-'b' | `-';' |-SimpleDeclaration | |-'int' - | |-SimpleDeclarator SimpleDeclaration_declarator + | |-SimpleDeclarator Declarator | | `-'c' | `-';' `-'}' @@ -3718,28 +3718,28 @@ TranslationUnit Detached `-SimpleDeclaration |-'void' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'test' | `-ParametersAndQualifiers | |-'(' OpenParen | `-')' CloseParen `-CompoundStatement |-'{' OpenParen - |-IfStatement CompoundStatement_statement + |-IfStatement Statement | |-'if' IntroducerKeyword unmodifiable | |-'(' unmodifiable | |-BinaryOperatorExpression unmodifiable - | | |-IntegerLiteralExpression BinaryOperatorExpression_leftHandSide unmodifiable + | | |-IntegerLiteralExpression LeftHandSide unmodifiable | | | `-'1' LiteralToken unmodifiable - | | |-'+' OperatorExpression_operatorToken unmodifiable - | | `-IntegerLiteralExpression BinaryOperatorExpression_rightHandSide unmodifiable + | | |-'+' OperatorToken unmodifiable + | | `-IntegerLiteralExpression RightHandSide unmodifiable | | `-'1' LiteralToken unmodifiable | |-')' unmodifiable - | |-CompoundStatement IfStatement_thenStatement unmodifiable + | |-CompoundStatement ThenStatement unmodifiable | | |-'{' OpenParen unmodifiable | | `-'}' CloseParen unmodifiable - | |-'else' IfStatement_elseKeyword - | `-CompoundStatement IfStatement_elseStatement + | |-'else' ElseKeyword + | `-CompoundStatement ElseStatement | |-'{' OpenParen | `-'}' CloseParen `-'}' CloseParen @@ -3767,24 +3767,24 @@ TranslationUnit Detached `-SimpleDeclaration |-'void' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'test' | `-ParametersAndQualifiers | |-'(' OpenParen | `-')' CloseParen `-CompoundStatement |-'{' OpenParen - |-CompoundStatement CompoundStatement_statement + |-CompoundStatement Statement | |-'{' OpenParen - | |-ExpressionStatement CompoundStatement_statement - | | |-IntegerLiteralExpression ExpressionStatement_expression + | |-ExpressionStatement Statement + | | |-IntegerLiteralExpression Expression | | | `-'1' LiteralToken | | `-';' | `-'}' CloseParen - |-CompoundStatement CompoundStatement_statement + |-CompoundStatement Statement | |-'{' OpenParen - | |-ExpressionStatement CompoundStatement_statement - | | |-IntegerLiteralExpression ExpressionStatement_expression + | |-ExpressionStatement Statement + | | |-IntegerLiteralExpression Expression | | | `-'2' LiteralToken | | `-';' | `-'}' CloseParen @@ -3801,11 +3801,11 @@ TranslationUnit Detached `-SimpleDeclaration |-'int' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'a' | `-ArraySubscript | |-'[' OpenParen - | |-IntegerLiteralExpression ArraySubscript_sizeExpression + | |-IntegerLiteralExpression Size | | `-'10' LiteralToken | `-']' CloseParen `-';' @@ -3821,21 +3821,21 @@ TranslationUnit Detached `-SimpleDeclaration |-'int' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'b' | |-ArraySubscript | | |-'[' OpenParen - | | |-IntegerLiteralExpression ArraySubscript_sizeExpression + | | |-IntegerLiteralExpression Size | | | `-'1' LiteralToken | | `-']' CloseParen | |-ArraySubscript | | |-'[' OpenParen - | | |-IntegerLiteralExpression ArraySubscript_sizeExpression + | | |-IntegerLiteralExpression Size | | | `-'2' LiteralToken | | `-']' CloseParen | `-ArraySubscript | |-'[' OpenParen - | |-IntegerLiteralExpression ArraySubscript_sizeExpression + | |-IntegerLiteralExpression Size | | `-'3' LiteralToken | `-']' CloseParen `-';' @@ -3851,7 +3851,7 @@ TranslationUnit Detached `-SimpleDeclaration |-'int' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'c' | |-ArraySubscript | | |-'[' OpenParen @@ -3885,19 +3885,19 @@ TranslationUnit Detached `-SimpleDeclaration |-'void' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'f' | `-ParametersAndQualifiers | |-'(' OpenParen - | |-ParameterDeclarationList ParametersAndQualifiers_parameters - | | `-SimpleDeclaration List_element + | |-ParameterDeclarationList Parameters + | | `-SimpleDeclaration ListElement | | |-'int' - | | `-SimpleDeclarator SimpleDeclaration_declarator + | | `-SimpleDeclarator Declarator | | |-'xs' | | `-ArraySubscript | | |-'[' OpenParen | | |-'static' - | | |-IntegerLiteralExpression ArraySubscript_sizeExpression + | | |-IntegerLiteralExpression Size | | | `-'10' LiteralToken | | `-']' CloseParen | `-')' CloseParen @@ -3914,7 +3914,7 @@ TranslationUnit Detached `-SimpleDeclaration |-'int' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'func' | `-ParametersAndQualifiers | |-'(' OpenParen @@ -3934,46 +3934,46 @@ TranslationUnit Detached |-SimpleDeclaration | |-'int' -| |-SimpleDeclarator SimpleDeclaration_declarator +| |-SimpleDeclarator Declarator | | |-'func1' | | `-ParametersAndQualifiers | | |-'(' OpenParen -| | |-ParameterDeclarationList ParametersAndQualifiers_parameters -| | | `-SimpleDeclaration List_element +| | |-ParameterDeclarationList Parameters +| | | `-SimpleDeclaration ListElement | | | |-'int' -| | | `-SimpleDeclarator SimpleDeclaration_declarator +| | | `-SimpleDeclarator Declarator | | | `-'a' | | `-')' CloseParen | `-';' |-SimpleDeclaration | |-'int' -| |-SimpleDeclarator SimpleDeclaration_declarator +| |-SimpleDeclarator Declarator | | |-'func2' | | `-ParametersAndQualifiers | | |-'(' OpenParen -| | |-ParameterDeclarationList ParametersAndQualifiers_parameters -| | | `-SimpleDeclaration List_element +| | |-ParameterDeclarationList Parameters +| | | `-SimpleDeclaration ListElement | | | |-'int' -| | | `-SimpleDeclarator SimpleDeclaration_declarator +| | | `-SimpleDeclarator Declarator | | | |-'*' | | | `-'ap' | | `-')' CloseParen | `-';' `-SimpleDeclaration |-'int' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'func3' | `-ParametersAndQualifiers | |-'(' OpenParen - | |-ParameterDeclarationList ParametersAndQualifiers_parameters - | | |-SimpleDeclaration List_element + | |-ParameterDeclarationList Parameters + | | |-SimpleDeclaration ListElement | | | |-'int' - | | | `-SimpleDeclarator SimpleDeclaration_declarator + | | | `-SimpleDeclarator Declarator | | | `-'a' - | | |-',' List_delimiter - | | `-SimpleDeclaration List_element + | | |-',' ListDelimiter + | | `-SimpleDeclaration ListElement | | |-'float' - | | `-SimpleDeclarator SimpleDeclaration_declarator + | | `-SimpleDeclarator Declarator | | `-'b' | `-')' CloseParen `-';' @@ -3991,39 +3991,39 @@ TranslationUnit Detached |-SimpleDeclaration | |-'int' -| |-SimpleDeclarator SimpleDeclaration_declarator +| |-SimpleDeclarator Declarator | | |-'func1' | | `-ParametersAndQualifiers | | |-'(' OpenParen -| | |-ParameterDeclarationList ParametersAndQualifiers_parameters -| | | `-SimpleDeclaration List_element +| | |-ParameterDeclarationList Parameters +| | | `-SimpleDeclaration ListElement | | | `-'int' | | `-')' CloseParen | `-';' |-SimpleDeclaration | |-'int' -| |-SimpleDeclarator SimpleDeclaration_declarator +| |-SimpleDeclarator Declarator | | |-'func2' | | `-ParametersAndQualifiers | | |-'(' OpenParen -| | |-ParameterDeclarationList ParametersAndQualifiers_parameters -| | | `-SimpleDeclaration List_element +| | |-ParameterDeclarationList Parameters +| | | `-SimpleDeclaration ListElement | | | |-'int' -| | | `-SimpleDeclarator SimpleDeclaration_declarator +| | | `-SimpleDeclarator Declarator | | | `-'*' | | `-')' CloseParen | `-';' `-SimpleDeclaration |-'int' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'func3' | `-ParametersAndQualifiers | |-'(' OpenParen - | |-ParameterDeclarationList ParametersAndQualifiers_parameters - | | |-SimpleDeclaration List_element + | |-ParameterDeclarationList Parameters + | | |-SimpleDeclaration ListElement | | | `-'int' - | | |-',' List_delimiter - | | `-SimpleDeclaration List_element + | | |-',' ListDelimiter + | | `-SimpleDeclaration ListElement | | `-'float' | `-')' CloseParen `-';' @@ -4043,15 +4043,15 @@ {R"txt( SimpleDeclaration |-'void' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-'test' | `-ParametersAndQualifiers | |-'(' OpenParen -| |-ParameterDeclarationList ParametersAndQualifiers_parameters -| | |-SimpleDeclaration List_element +| |-ParameterDeclarationList Parameters +| | |-SimpleDeclaration ListElement | | | `-'T' -| | |-',' List_delimiter -| | `-SimpleDeclaration List_element +| | |-',' ListDelimiter +| | `-SimpleDeclaration ListElement | | |-'Args' | | `-'...' | `-')' CloseParen @@ -4072,20 +4072,20 @@ {R"txt( SimpleDeclaration |-'void' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-'test' | `-ParametersAndQualifiers | |-'(' OpenParen -| |-ParameterDeclarationList ParametersAndQualifiers_parameters -| | |-SimpleDeclaration List_element +| |-ParameterDeclarationList Parameters +| | |-SimpleDeclaration ListElement | | | |-'T' -| | | `-SimpleDeclarator SimpleDeclaration_declarator +| | | `-SimpleDeclarator Declarator | | | `-'t' -| | |-',' List_delimiter -| | `-SimpleDeclaration List_element +| | |-',' ListDelimiter +| | `-SimpleDeclaration ListElement | | |-'Args' | | |-'...' -| | `-SimpleDeclarator SimpleDeclaration_declarator +| | `-SimpleDeclarator Declarator | | `-'args' | `-')' CloseParen `-';' @@ -4105,15 +4105,15 @@ TranslationUnit Detached `-SimpleDeclaration |-'void' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'test' | `-ParametersAndQualifiers | |-'(' OpenParen - | |-ParameterDeclarationList ParametersAndQualifiers_parameters - | | |-SimpleDeclaration List_element + | |-ParameterDeclarationList Parameters + | | |-SimpleDeclaration ListElement | | | `-'int' - | | |-',' List_delimiter - | | `-SimpleDeclaration List_element + | | |-',' ListDelimiter + | | `-SimpleDeclaration ListElement | | `-'char' | |-'...' | `-')' CloseParen @@ -4134,28 +4134,28 @@ TranslationUnit Detached `-SimpleDeclaration |-'int' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'func' | `-ParametersAndQualifiers | |-'(' OpenParen - | |-ParameterDeclarationList ParametersAndQualifiers_parameters - | | |-SimpleDeclaration List_element + | |-ParameterDeclarationList Parameters + | | |-SimpleDeclaration ListElement | | | |-'const' | | | |-'int' - | | | `-SimpleDeclarator SimpleDeclaration_declarator + | | | `-SimpleDeclarator Declarator | | | `-'a' - | | |-',' List_delimiter - | | |-SimpleDeclaration List_element + | | |-',' ListDelimiter + | | |-SimpleDeclaration ListElement | | | |-'volatile' | | | |-'int' - | | | `-SimpleDeclarator SimpleDeclaration_declarator + | | | `-SimpleDeclarator Declarator | | | `-'b' - | | |-',' List_delimiter - | | `-SimpleDeclaration List_element + | | |-',' ListDelimiter + | | `-SimpleDeclaration ListElement | | |-'const' | | |-'volatile' | | |-'int' - | | `-SimpleDeclarator SimpleDeclaration_declarator + | | `-SimpleDeclarator Declarator | | `-'c' | `-')' CloseParen `-';' @@ -4174,14 +4174,14 @@ TranslationUnit Detached `-SimpleDeclaration |-'int' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'func' | `-ParametersAndQualifiers | |-'(' OpenParen - | |-ParameterDeclarationList ParametersAndQualifiers_parameters - | | `-SimpleDeclaration List_element + | |-ParameterDeclarationList Parameters + | | `-SimpleDeclaration ListElement | | |-'int' - | | `-SimpleDeclarator SimpleDeclaration_declarator + | | `-SimpleDeclarator Declarator | | |-'&' | | `-'a' | `-')' CloseParen @@ -4201,14 +4201,14 @@ TranslationUnit Detached `-SimpleDeclaration |-'int' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'func' | `-ParametersAndQualifiers | |-'(' OpenParen - | |-ParameterDeclarationList ParametersAndQualifiers_parameters - | | `-SimpleDeclaration List_element + | |-ParameterDeclarationList Parameters + | | `-SimpleDeclaration ListElement | | |-'int' - | | `-SimpleDeclarator SimpleDeclaration_declarator + | | `-SimpleDeclarator Declarator | | |-'&&' | | `-'a' | `-')' CloseParen @@ -4234,7 +4234,7 @@ |-'{' |-SimpleDeclaration | |-'int' - | |-SimpleDeclarator SimpleDeclaration_declarator + | |-SimpleDeclarator Declarator | | |-'a' | | `-ParametersAndQualifiers | | |-'(' OpenParen @@ -4260,7 +4260,7 @@ {R"txt( SimpleDeclaration |-'int' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-'b' | `-ParametersAndQualifiers | |-'(' OpenParen @@ -4271,7 +4271,7 @@ R"txt( SimpleDeclaration |-'int' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-'c' | `-ParametersAndQualifiers | |-'(' OpenParen @@ -4282,7 +4282,7 @@ R"txt( SimpleDeclaration |-'int' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-'d' | `-ParametersAndQualifiers | |-'(' OpenParen @@ -4306,7 +4306,7 @@ {R"txt( SimpleDeclaration |-'int' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-'e' | `-ParametersAndQualifiers | |-'(' OpenParen @@ -4329,7 +4329,7 @@ {R"txt( SimpleDeclaration |-'int' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-'f' | `-ParametersAndQualifiers | |-'(' OpenParen @@ -4351,12 +4351,12 @@ TranslationUnit Detached `-SimpleDeclaration |-'auto' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'foo' | `-ParametersAndQualifiers | |-'(' OpenParen | |-')' CloseParen - | `-TrailingReturnType ParametersAndQualifiers_trailingReturn + | `-TrailingReturnType TrailingReturn | |-'->' ArrowToken | `-'int' `-';' @@ -4379,7 +4379,7 @@ {R"txt( SimpleDeclaration |-'int' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-'a' | `-ParametersAndQualifiers | |-'(' OpenParen @@ -4392,7 +4392,7 @@ R"txt( SimpleDeclaration |-'int' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-'b' | `-ParametersAndQualifiers | |-'(' OpenParen @@ -4406,7 +4406,7 @@ R"txt( SimpleDeclaration |-'int' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-'c' | `-ParametersAndQualifiers | |-'(' OpenParen @@ -4420,7 +4420,7 @@ R"txt( SimpleDeclaration |-'int' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-'d' | `-ParametersAndQualifiers | |-'(' OpenParen @@ -4448,7 +4448,7 @@ TranslationUnit Detached |-SimpleDeclaration | |-'int' -| |-SimpleDeclarator SimpleDeclaration_declarator +| |-SimpleDeclarator Declarator | | |-'a' | | `-ParametersAndQualifiers | | |-'(' OpenParen @@ -4457,7 +4457,7 @@ | `-';' `-SimpleDeclaration |-'int' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'b' | `-ParametersAndQualifiers | |-'(' OpenParen @@ -4483,7 +4483,7 @@ TranslationUnit Detached |-SimpleDeclaration | |-'int' -| |-SimpleDeclarator SimpleDeclaration_declarator +| |-SimpleDeclarator Declarator | | `-ParenDeclarator | | |-'(' OpenParen | | |-'a' @@ -4491,7 +4491,7 @@ | `-';' |-SimpleDeclaration | |-'int' -| |-SimpleDeclarator SimpleDeclaration_declarator +| |-SimpleDeclarator Declarator | | |-'*' | | `-ParenDeclarator | | |-'(' OpenParen @@ -4500,7 +4500,7 @@ | `-';' |-SimpleDeclaration | |-'int' -| |-SimpleDeclarator SimpleDeclaration_declarator +| |-SimpleDeclarator Declarator | | |-ParenDeclarator | | | |-'(' OpenParen | | | |-'*' @@ -4508,14 +4508,14 @@ | | | `-')' CloseParen | | `-ParametersAndQualifiers | | |-'(' OpenParen -| | |-ParameterDeclarationList ParametersAndQualifiers_parameters -| | | `-SimpleDeclaration List_element +| | |-ParameterDeclarationList Parameters +| | | `-SimpleDeclaration ListElement | | | `-'int' | | `-')' CloseParen | `-';' `-SimpleDeclaration |-'int' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'*' | |-ParenDeclarator | | |-'(' OpenParen @@ -4523,8 +4523,8 @@ | | `-')' CloseParen | `-ParametersAndQualifiers | |-'(' OpenParen - | |-ParameterDeclarationList ParametersAndQualifiers_parameters - | | `-SimpleDeclaration List_element + | |-ParameterDeclarationList Parameters + | | `-SimpleDeclaration ListElement | | `-'int' | `-')' CloseParen `-';' @@ -4542,18 +4542,18 @@ |-SimpleDeclaration | |-'const' | |-'int' -| |-SimpleDeclarator SimpleDeclaration_declarator +| |-SimpleDeclarator Declarator | | |-'west' | | |-'=' | | `-PrefixUnaryOperatorExpression -| | |-'-' OperatorExpression_operatorToken -| | `-IntegerLiteralExpression UnaryOperatorExpression_operand +| | |-'-' OperatorToken +| | `-IntegerLiteralExpression Operand | | `-'1' LiteralToken | `-';' `-SimpleDeclaration |-'int' |-'const' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'east' | |-'=' | `-IntegerLiteralExpression @@ -4573,7 +4573,7 @@ |-'const' |-'int' |-'const' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'universal' | |-'=' | `-IntegerLiteralExpression @@ -4593,7 +4593,7 @@ |-'const' |-'int' |-'const' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'*' | |-'const' | |-'*' @@ -4615,29 +4615,29 @@ TranslationUnit Detached `-SimpleDeclaration |-'auto' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'foo' | `-ParametersAndQualifiers | |-'(' OpenParen | |-')' CloseParen - | `-TrailingReturnType ParametersAndQualifiers_trailingReturn + | `-TrailingReturnType TrailingReturn | |-'->' ArrowToken | |-'auto' - | `-SimpleDeclarator TrailingReturnType_declarator + | `-SimpleDeclarator Declarator | |-ParenDeclarator | | |-'(' OpenParen | | |-'*' | | `-')' CloseParen | `-ParametersAndQualifiers | |-'(' OpenParen - | |-ParameterDeclarationList ParametersAndQualifiers_parameters - | | `-SimpleDeclaration List_element + | |-ParameterDeclarationList Parameters + | | `-SimpleDeclaration ListElement | | `-'int' | |-')' CloseParen - | `-TrailingReturnType ParametersAndQualifiers_trailingReturn + | `-TrailingReturnType TrailingReturn | |-'->' ArrowToken | |-'double' - | `-SimpleDeclarator TrailingReturnType_declarator + | `-SimpleDeclarator Declarator | `-'*' `-';' )txt")); @@ -4656,7 +4656,7 @@ {R"txt( SimpleDeclaration |-'int' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-MemberPointer | | |-'X' | | |-'::' @@ -4668,7 +4668,7 @@ SimpleDeclaration |-'const' |-'int' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-MemberPointer | | |-'X' | | |-'::' @@ -4696,7 +4696,7 @@ {R"txt( SimpleDeclaration |-'void' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-ParenDeclarator | | |-'(' OpenParen | | |-MemberPointer @@ -4713,7 +4713,7 @@ R"txt( SimpleDeclaration |-'void' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-ParenDeclarator | | |-'(' OpenParen | | |-MemberPointer @@ -4725,11 +4725,11 @@ | | `-')' CloseParen | `-ParametersAndQualifiers | |-'(' OpenParen -| |-ParameterDeclarationList ParametersAndQualifiers_parameters -| | `-SimpleDeclaration List_element +| |-ParameterDeclarationList Parameters +| | `-SimpleDeclaration ListElement | | |-'const' | | |-'int' -| | `-SimpleDeclarator SimpleDeclaration_declarator +| | `-SimpleDeclarator Declarator | | `-'*' | `-')' CloseParen `-';' @@ -4737,7 +4737,7 @@ R"txt( SimpleDeclaration |-'void' -|-SimpleDeclarator SimpleDeclaration_declarator +|-SimpleDeclarator Declarator | |-ParenDeclarator | | |-'(' OpenParen | | |-'X' @@ -4750,14 +4750,14 @@ | | `-')' CloseParen | `-ParametersAndQualifiers | |-'(' OpenParen -| |-ParameterDeclarationList ParametersAndQualifiers_parameters -| | |-SimpleDeclaration List_element +| |-ParameterDeclarationList Parameters +| | |-SimpleDeclaration ListElement | | | |-'const' | | | |-'int' -| | | `-SimpleDeclarator SimpleDeclaration_declarator +| | | `-SimpleDeclarator Declarator | | | `-'*' -| | |-',' List_delimiter -| | `-SimpleDeclaration List_element +| | |-',' ListDelimiter +| | `-SimpleDeclaration ListElement | | `-'char' | `-')' CloseParen `-';' @@ -4773,19 +4773,19 @@ TranslationUnit Detached `-SimpleDeclaration |-'void' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'x' | `-ParametersAndQualifiers | |-'(' OpenParen - | |-ParameterDeclarationList ParametersAndQualifiers_parameters - | | |-SimpleDeclaration List_element + | |-ParameterDeclarationList Parameters + | | |-SimpleDeclaration ListElement | | | |-'char' - | | | `-SimpleDeclarator SimpleDeclaration_declarator + | | | `-SimpleDeclarator Declarator | | | `-'a' - | | |-',' List_delimiter - | | `-SimpleDeclaration List_element + | | |-',' ListDelimiter + | | `-SimpleDeclaration ListElement | | |-'short' - | | `-SimpleDeclarator SimpleDeclaration_declarator + | | `-SimpleDeclarator Declarator | | |-ParenDeclarator | | | |-'(' OpenParen | | | |-'*' @@ -4793,8 +4793,8 @@ | | | `-')' CloseParen | | `-ParametersAndQualifiers | | |-'(' OpenParen - | | |-ParameterDeclarationList ParametersAndQualifiers_parameters - | | | `-SimpleDeclaration List_element + | | |-ParameterDeclarationList Parameters + | | | `-SimpleDeclaration ListElement | | | `-'int' | | `-')' CloseParen | `-')' CloseParen @@ -4811,19 +4811,19 @@ TranslationUnit Detached `-SimpleDeclaration |-'void' - |-SimpleDeclarator SimpleDeclaration_declarator + |-SimpleDeclarator Declarator | |-'x' | `-ParametersAndQualifiers | |-'(' OpenParen - | |-ParameterDeclarationList ParametersAndQualifiers_parameters - | | |-SimpleDeclaration List_element + | |-ParameterDeclarationList Parameters + | | |-SimpleDeclaration ListElement | | | |-'char' - | | | `-SimpleDeclarator SimpleDeclaration_declarator + | | | `-SimpleDeclarator Declarator | | | `-'a' - | | |-',' List_delimiter - | | |-SimpleDeclaration List_element + | | |-',' ListDelimiter + | | |-SimpleDeclaration ListElement | | | |-'short' - | | | `-SimpleDeclarator SimpleDeclaration_declarator + | | | `-SimpleDeclarator Declarator | | | |-ParenDeclarator | | | | |-'(' OpenParen | | | | |-'*' @@ -4831,14 +4831,14 @@ | | | | `-')' CloseParen | | | `-ParametersAndQualifiers | | | |-'(' OpenParen - | | | |-ParameterDeclarationList ParametersAndQualifiers_parameters - | | | | `-SimpleDeclaration List_element + | | | |-ParameterDeclarationList Parameters + | | | | `-SimpleDeclaration ListElement | | | | `-'int' | | | `-')' CloseParen - | | |-',' List_delimiter - | | `-SimpleDeclaration List_element + | | |-',' ListDelimiter + | | `-SimpleDeclaration ListElement | | |-'long' - | | `-SimpleDeclarator SimpleDeclaration_declarator + | | `-SimpleDeclarator Declarator | | |-ParenDeclarator | | | |-'(' OpenParen | | | |-'*' @@ -4847,8 +4847,8 @@ | | | `-')' CloseParen | | `-ParametersAndQualifiers | | |-'(' OpenParen - | | |-ParameterDeclarationList ParametersAndQualifiers_parameters - | | | `-SimpleDeclaration List_element + | | |-ParameterDeclarationList Parameters + | | | `-SimpleDeclaration ListElement | | | |-'long' | | | `-'long' | | `-')' CloseParen