Lines Matching refs:syntax

164 static syntax::NodeKind getOperatorNodeKind(const CXXOperatorCallExpr &E) {  in getOperatorNodeKind()
197 return syntax::NodeKind::BinaryOperatorExpression; in getOperatorNodeKind()
200 return syntax::NodeKind::PrefixUnaryOperatorExpression; in getOperatorNodeKind()
206 return syntax::NodeKind::PrefixUnaryOperatorExpression; in getOperatorNodeKind()
208 return syntax::NodeKind::PostfixUnaryOperatorExpression; in getOperatorNodeKind()
219 return syntax::NodeKind::PrefixUnaryOperatorExpression; in getOperatorNodeKind()
221 return syntax::NodeKind::BinaryOperatorExpression; in getOperatorNodeKind()
225 return syntax::NodeKind::BinaryOperatorExpression; in getOperatorNodeKind()
234 return syntax::NodeKind::UnknownExpression; in getOperatorNodeKind()
236 return syntax::NodeKind::CallExpression; in getOperatorNodeKind()
322 void add(ASTPtr From, syntax::Tree *To) { in add()
331 void add(NestedNameSpecifierLoc From, syntax::Tree *To) { in add()
340 syntax::Tree *find(ASTPtr P) const { return Nodes.lookup(P); } in find()
342 syntax::Tree *find(NestedNameSpecifierLoc P) const { in find()
347 llvm::DenseMap<ASTPtr, syntax::Tree *> Nodes;
348 llvm::DenseMap<NestedNameSpecifierLoc, syntax::Tree *> NNSNodes;
367 class syntax::TreeBuilder {
369 TreeBuilder(syntax::Arena &Arena) : Arena(Arena), Pending(Arena) { in TreeBuilder()
381 void foldNode(ArrayRef<syntax::Token> Range, syntax::Tree *New, ASTPtr From) { in foldNode()
388 void foldNode(ArrayRef<syntax::Token> Range, syntax::Tree *New, TypeLoc L) { in foldNode()
393 void foldNode(llvm::ArrayRef<syntax::Token> Range, syntax::Tree *New, in foldNode()
403 void foldList(ArrayRef<syntax::Token> SuperRange, syntax::List *New, in foldList()
427 void markChildToken(const syntax::Token *T, NodeRole R);
430 void markChild(syntax::Node *N, NodeRole R);
437 syntax::TranslationUnit *finalize() && { in finalize()
444 new (Arena.getAllocator()) syntax::TranslationUnit); in finalize()
446 auto *TU = cast<syntax::TranslationUnit>(std::move(Pending).finalize()); in finalize()
452 const syntax::Token *findToken(SourceLocation L) const;
455 ArrayRef<syntax::Token> getRange(SourceRange Range) const { in getRange()
463 ArrayRef<syntax::Token> getRange(SourceLocation First, in getRange()
472 ArrayRef<syntax::Token>
506 ArrayRef<syntax::Token> getDeclarationRange(Decl *D) { in getDeclarationRange()
507 ArrayRef<syntax::Token> Tokens; in getDeclarationRange()
516 ArrayRef<syntax::Token> getExprRange(const Expr *E) const { in getExprRange()
522 ArrayRef<syntax::Token> getStmtRange(const Stmt *S) const { in getStmtRange()
535 ArrayRef<syntax::Token> maybeAppendSemicolon(ArrayRef<syntax::Token> Tokens, in maybeAppendSemicolon()
546 ArrayRef<syntax::Token>
547 withTrailingSemicolon(ArrayRef<syntax::Token> Tokens) const { in withTrailingSemicolon()
556 void setRole(syntax::Node *N, NodeRole R) { in setRole()
568 Forest(syntax::Arena &A) { in Forest()
574 auto *L = new (A.getAllocator()) syntax::Leaf(&T); in Forest()
581 void assignRole(ArrayRef<syntax::Token> Range, syntax::NodeRole Role) { in assignRole()
596 ArrayRef<syntax::Token> shrinkToFitList(ArrayRef<syntax::Token> Range) { in shrinkToFitList()
609 return Role == syntax::NodeRole::ListElement || in shrinkToFitList()
610 Role == syntax::NodeRole::ListDelimiter; in shrinkToFitList()
619 return ArrayRef<syntax::Token>(BeginListChildren->first, in shrinkToFitList()
624 void foldChildren(const syntax::Arena &A, ArrayRef<syntax::Token> Tokens, in foldChildren()
625 syntax::Tree *Node) { in foldChildren()
657 syntax::Node *finalize() && { in finalize()
664 std::string str(const syntax::Arena &A) const { in str()
684 std::map<const syntax::Token *, syntax::Node *> Trees;
690 syntax::Arena &Arena;
692 llvm::DenseMap<SourceLocation, const syntax::Token *> LocationToToken;
701 explicit BuildTreeVisitor(ASTContext &Context, syntax::TreeBuilder &Builder) in BuildTreeVisitor()
717 new (allocator()) syntax::UnknownDeclaration(), D); in VisitDecl()
731 cast<syntax::SimpleDeclaration>(handleFreeStandingTagDecl(C)); in TraverseClassTemplateSpecializationDecl()
756 syntax::Declaration *handleFreeStandingTagDecl(TagDecl *C) { in handleFreeStandingTagDecl()
760 syntax::Declaration *Result = new (allocator()) syntax::SimpleDeclaration; in handleFreeStandingTagDecl()
785 using NodeRole = syntax::NodeRole; in WalkUpFromCompoundStmt()
793 new (allocator()) syntax::CompoundStatement, S); in WalkUpFromCompoundStmt()
800 new (allocator()) syntax::UnknownStatement, S); in WalkUpFromStmt()
868 new (allocator()) syntax::UnknownExpression, E); in WalkUpFromExpr()
881 syntax::UserDefinedLiteralExpression *
885 return new (allocator()) syntax::IntegerUserDefinedLiteralExpression; in buildUserDefinedLiteral()
887 return new (allocator()) syntax::FloatUserDefinedLiteralExpression; in buildUserDefinedLiteral()
889 return new (allocator()) syntax::CharUserDefinedLiteralExpression; in buildUserDefinedLiteral()
891 return new (allocator()) syntax::StringUserDefinedLiteralExpression; in buildUserDefinedLiteral()
906 return new (allocator()) syntax::IntegerUserDefinedLiteralExpression; in buildUserDefinedLiteral()
909 return new (allocator()) syntax::FloatUserDefinedLiteralExpression; in buildUserDefinedLiteral()
916 Builder.markChildToken(S->getBeginLoc(), syntax::NodeRole::LiteralToken); in WalkUpFromUserDefinedLiteral()
948 syntax::NodeKind getNameSpecifierKind(const NestedNameSpecifier &NNS) { in getNameSpecifierKind()
951 return syntax::NodeKind::GlobalNameSpecifier; in getNameSpecifierKind()
955 return syntax::NodeKind::IdentifierNameSpecifier; in getNameSpecifierKind()
957 return syntax::NodeKind::SimpleTemplateNameSpecifier; in getNameSpecifierKind()
962 return syntax::NodeKind::DecltypeNameSpecifier; in getNameSpecifierKind()
965 return syntax::NodeKind::SimpleTemplateNameSpecifier; in getNameSpecifierKind()
966 return syntax::NodeKind::IdentifierNameSpecifier; in getNameSpecifierKind()
975 syntax::NameSpecifier *
981 case syntax::NodeKind::GlobalNameSpecifier: in buildNameSpecifier()
982 return new (allocator()) syntax::GlobalNameSpecifier; in buildNameSpecifier()
983 case syntax::NodeKind::IdentifierNameSpecifier: { in buildNameSpecifier()
986 syntax::NodeRole::Unknown); in buildNameSpecifier()
987 auto *NS = new (allocator()) syntax::IdentifierNameSpecifier; in buildNameSpecifier()
991 case syntax::NodeKind::SimpleTemplateNameSpecifier: { in buildNameSpecifier()
997 auto *NS = new (allocator()) syntax::SimpleTemplateNameSpecifier; in buildNameSpecifier()
1001 case syntax::NodeKind::DecltypeNameSpecifier: { in buildNameSpecifier()
1005 auto *NS = new (allocator()) syntax::DecltypeNameSpecifier; in buildNameSpecifier()
1029 Builder.markChild(NS, syntax::NodeRole::ListElement); in TraverseNestedNameSpecifierLoc()
1030 Builder.markChildToken(It.getEndLoc(), syntax::NodeRole::ListDelimiter); in TraverseNestedNameSpecifierLoc()
1033 new (allocator()) syntax::NestedNameSpecifier, in TraverseNestedNameSpecifierLoc()
1038 syntax::IdExpression *buildIdExpression(NestedNameSpecifierLoc QualifierLoc, in buildIdExpression()
1043 Builder.markChild(QualifierLoc, syntax::NodeRole::Qualifier); in buildIdExpression()
1046 syntax::NodeRole::TemplateKeyword); in buildIdExpression()
1049 auto *TheUnqualifiedId = new (allocator()) syntax::UnqualifiedId; in buildIdExpression()
1052 Builder.markChild(TheUnqualifiedId, syntax::NodeRole::UnqualifiedId); in buildIdExpression()
1057 auto *TheIdExpression = new (allocator()) syntax::IdExpression; in buildIdExpression()
1079 Builder.markChild(TheIdExpression, syntax::NodeRole::Member); in WalkUpFromMemberExpr()
1081 Builder.markExprChild(S->getBase(), syntax::NodeRole::Object); in WalkUpFromMemberExpr()
1082 Builder.markChildToken(S->getOperatorLoc(), syntax::NodeRole::AccessToken); in WalkUpFromMemberExpr()
1085 new (allocator()) syntax::MemberExpression, S); in WalkUpFromMemberExpr()
1107 syntax::NodeRole::IntroducerKeyword); in WalkUpFromCXXThisExpr()
1109 new (allocator()) syntax::ThisExpression, S); in WalkUpFromCXXThisExpr()
1115 Builder.markChildToken(S->getLParen(), syntax::NodeRole::OpenParen); in WalkUpFromParenExpr()
1116 Builder.markExprChild(S->getSubExpr(), syntax::NodeRole::SubExpression); in WalkUpFromParenExpr()
1117 Builder.markChildToken(S->getRParen(), syntax::NodeRole::CloseParen); in WalkUpFromParenExpr()
1119 new (allocator()) syntax::ParenExpression, S); in WalkUpFromParenExpr()
1124 Builder.markChildToken(S->getLocation(), syntax::NodeRole::LiteralToken); in WalkUpFromIntegerLiteral()
1126 new (allocator()) syntax::IntegerLiteralExpression, S); in WalkUpFromIntegerLiteral()
1131 Builder.markChildToken(S->getLocation(), syntax::NodeRole::LiteralToken); in WalkUpFromCharacterLiteral()
1133 new (allocator()) syntax::CharacterLiteralExpression, S); in WalkUpFromCharacterLiteral()
1138 Builder.markChildToken(S->getLocation(), syntax::NodeRole::LiteralToken); in WalkUpFromFloatingLiteral()
1140 new (allocator()) syntax::FloatingLiteralExpression, S); in WalkUpFromFloatingLiteral()
1145 Builder.markChildToken(S->getBeginLoc(), syntax::NodeRole::LiteralToken); in WalkUpFromStringLiteral()
1147 new (allocator()) syntax::StringLiteralExpression, S); in WalkUpFromStringLiteral()
1152 Builder.markChildToken(S->getLocation(), syntax::NodeRole::LiteralToken); in WalkUpFromCXXBoolLiteralExpr()
1154 new (allocator()) syntax::BoolLiteralExpression, S); in WalkUpFromCXXBoolLiteralExpr()
1159 Builder.markChildToken(S->getLocation(), syntax::NodeRole::LiteralToken); in WalkUpFromCXXNullPtrLiteralExpr()
1161 new (allocator()) syntax::CxxNullPtrExpression, S); in WalkUpFromCXXNullPtrLiteralExpr()
1167 syntax::NodeRole::OperatorToken); in WalkUpFromUnaryOperator()
1168 Builder.markExprChild(S->getSubExpr(), syntax::NodeRole::Operand); in WalkUpFromUnaryOperator()
1172 new (allocator()) syntax::PostfixUnaryOperatorExpression, in WalkUpFromUnaryOperator()
1176 new (allocator()) syntax::PrefixUnaryOperatorExpression, in WalkUpFromUnaryOperator()
1183 Builder.markExprChild(S->getLHS(), syntax::NodeRole::LeftHandSide); in WalkUpFromBinaryOperator()
1185 syntax::NodeRole::OperatorToken); in WalkUpFromBinaryOperator()
1186 Builder.markExprChild(S->getRHS(), syntax::NodeRole::RightHandSide); in WalkUpFromBinaryOperator()
1188 new (allocator()) syntax::BinaryOperatorExpression, S); in WalkUpFromBinaryOperator()
1194 syntax::CallArguments *
1198 Builder.markExprChild(Arg, syntax::NodeRole::ListElement); in buildCallArguments()
1202 Builder.markChildToken(DelimiterToken, syntax::NodeRole::ListDelimiter); in buildCallArguments()
1205 auto *Arguments = new (allocator()) syntax::CallArguments; in buildCallArguments()
1215 Builder.markExprChild(S->getCallee(), syntax::NodeRole::Callee); in WalkUpFromCallExpr()
1222 Builder.markChildToken(LParenToken, syntax::NodeRole::OpenParen); in WalkUpFromCallExpr()
1225 syntax::NodeRole::Arguments); in WalkUpFromCallExpr()
1227 Builder.markChildToken(S->getRParenLoc(), syntax::NodeRole::CloseParen); in WalkUpFromCallExpr()
1230 new (allocator()) syntax::CallExpression, S); in WalkUpFromCallExpr()
1256 syntax::NodeKind::PostfixUnaryOperatorExpression); in TraverseCXXOperatorCallExpr()
1267 case syntax::NodeKind::BinaryOperatorExpression: in WalkUpFromCXXOperatorCallExpr()
1268 Builder.markExprChild(S->getArg(0), syntax::NodeRole::LeftHandSide); in WalkUpFromCXXOperatorCallExpr()
1270 syntax::NodeRole::OperatorToken); in WalkUpFromCXXOperatorCallExpr()
1271 Builder.markExprChild(S->getArg(1), syntax::NodeRole::RightHandSide); in WalkUpFromCXXOperatorCallExpr()
1273 new (allocator()) syntax::BinaryOperatorExpression, S); in WalkUpFromCXXOperatorCallExpr()
1275 case syntax::NodeKind::PrefixUnaryOperatorExpression: in WalkUpFromCXXOperatorCallExpr()
1277 syntax::NodeRole::OperatorToken); in WalkUpFromCXXOperatorCallExpr()
1278 Builder.markExprChild(S->getArg(0), syntax::NodeRole::Operand); in WalkUpFromCXXOperatorCallExpr()
1280 new (allocator()) syntax::PrefixUnaryOperatorExpression, in WalkUpFromCXXOperatorCallExpr()
1283 case syntax::NodeKind::PostfixUnaryOperatorExpression: in WalkUpFromCXXOperatorCallExpr()
1285 syntax::NodeRole::OperatorToken); in WalkUpFromCXXOperatorCallExpr()
1286 Builder.markExprChild(S->getArg(0), syntax::NodeRole::Operand); in WalkUpFromCXXOperatorCallExpr()
1288 new (allocator()) syntax::PostfixUnaryOperatorExpression, in WalkUpFromCXXOperatorCallExpr()
1291 case syntax::NodeKind::CallExpression: { in WalkUpFromCXXOperatorCallExpr()
1292 Builder.markExprChild(S->getArg(0), syntax::NodeRole::Callee); in WalkUpFromCXXOperatorCallExpr()
1299 Builder.markChildToken(LParenToken, syntax::NodeRole::OpenParen); in WalkUpFromCXXOperatorCallExpr()
1303 syntax::NodeRole::Arguments); in WalkUpFromCXXOperatorCallExpr()
1305 Builder.markChildToken(S->getRParenLoc(), syntax::NodeRole::CloseParen); in WalkUpFromCXXOperatorCallExpr()
1308 new (allocator()) syntax::CallExpression, S); in WalkUpFromCXXOperatorCallExpr()
1311 case syntax::NodeKind::UnknownExpression: in WalkUpFromCXXOperatorCallExpr()
1328 Builder.foldNode(Tokens, new (allocator()) syntax::NamespaceDefinition, S); in WalkUpFromNamespaceDecl()
1342 Builder.markChildToken(L.getLParenLoc(), syntax::NodeRole::OpenParen); in WalkUpFromParenTypeLoc()
1343 Builder.markChildToken(L.getRParenLoc(), syntax::NodeRole::CloseParen); in WalkUpFromParenTypeLoc()
1345 new (allocator()) syntax::ParenDeclarator, L); in WalkUpFromParenTypeLoc()
1351 Builder.markChildToken(L.getLBracketLoc(), syntax::NodeRole::OpenParen); in WalkUpFromArrayTypeLoc()
1352 Builder.markExprChild(L.getSizeExpr(), syntax::NodeRole::Size); in WalkUpFromArrayTypeLoc()
1353 Builder.markChildToken(L.getRBracketLoc(), syntax::NodeRole::CloseParen); in WalkUpFromArrayTypeLoc()
1355 new (allocator()) syntax::ArraySubscript, L); in WalkUpFromArrayTypeLoc()
1359 syntax::ParameterDeclarationList *
1362 Builder.markChild(P, syntax::NodeRole::ListElement); in buildParameterDeclarationList()
1365 Builder.markChildToken(DelimiterToken, syntax::NodeRole::ListDelimiter); in buildParameterDeclarationList()
1367 auto *Parameters = new (allocator()) syntax::ParameterDeclarationList; in buildParameterDeclarationList()
1376 Builder.markChildToken(L.getLParenLoc(), syntax::NodeRole::OpenParen); in WalkUpFromFunctionTypeLoc()
1379 syntax::NodeRole::Parameters); in WalkUpFromFunctionTypeLoc()
1381 Builder.markChildToken(L.getRParenLoc(), syntax::NodeRole::CloseParen); in WalkUpFromFunctionTypeLoc()
1383 new (allocator()) syntax::ParametersAndQualifiers, L); in WalkUpFromFunctionTypeLoc()
1393 Builder.markChild(TrailingReturnTokens, syntax::NodeRole::TrailingReturn); in WalkUpFromFunctionProtoTypeLoc()
1410 new (allocator()) syntax::MemberPointer, L); in WalkUpFromMemberPointerTypeLoc()
1419 new (allocator()) syntax::DeclarationStatement, S); in WalkUpFromDeclStmt()
1425 new (allocator()) syntax::EmptyStatement, S); in WalkUpFromNullStmt()
1431 syntax::NodeRole::IntroducerKeyword); in WalkUpFromSwitchStmt()
1432 Builder.markStmtChild(S->getBody(), syntax::NodeRole::BodyStatement); in WalkUpFromSwitchStmt()
1434 new (allocator()) syntax::SwitchStatement, S); in WalkUpFromSwitchStmt()
1440 syntax::NodeRole::IntroducerKeyword); in WalkUpFromCaseStmt()
1441 Builder.markExprChild(S->getLHS(), syntax::NodeRole::CaseValue); in WalkUpFromCaseStmt()
1442 Builder.markStmtChild(S->getSubStmt(), syntax::NodeRole::BodyStatement); in WalkUpFromCaseStmt()
1444 new (allocator()) syntax::CaseStatement, S); in WalkUpFromCaseStmt()
1450 syntax::NodeRole::IntroducerKeyword); in WalkUpFromDefaultStmt()
1451 Builder.markStmtChild(S->getSubStmt(), syntax::NodeRole::BodyStatement); in WalkUpFromDefaultStmt()
1453 new (allocator()) syntax::DefaultStatement, S); in WalkUpFromDefaultStmt()
1458 Builder.markChildToken(S->getIfLoc(), syntax::NodeRole::IntroducerKeyword); in WalkUpFromIfStmt()
1462 Builder.markStmtChild(ConditionStatement, syntax::NodeRole::Condition); in WalkUpFromIfStmt()
1463 Builder.markStmtChild(S->getThen(), syntax::NodeRole::ThenStatement); in WalkUpFromIfStmt()
1464 Builder.markChildToken(S->getElseLoc(), syntax::NodeRole::ElseKeyword); in WalkUpFromIfStmt()
1465 Builder.markStmtChild(S->getElse(), syntax::NodeRole::ElseStatement); in WalkUpFromIfStmt()
1467 new (allocator()) syntax::IfStatement, S); in WalkUpFromIfStmt()
1472 Builder.markChildToken(S->getForLoc(), syntax::NodeRole::IntroducerKeyword); in WalkUpFromForStmt()
1473 Builder.markStmtChild(S->getBody(), syntax::NodeRole::BodyStatement); in WalkUpFromForStmt()
1475 new (allocator()) syntax::ForStatement, S); in WalkUpFromForStmt()
1481 syntax::NodeRole::IntroducerKeyword); in WalkUpFromWhileStmt()
1482 Builder.markStmtChild(S->getBody(), syntax::NodeRole::BodyStatement); in WalkUpFromWhileStmt()
1484 new (allocator()) syntax::WhileStatement, S); in WalkUpFromWhileStmt()
1490 syntax::NodeRole::IntroducerKeyword); in WalkUpFromContinueStmt()
1492 new (allocator()) syntax::ContinueStatement, S); in WalkUpFromContinueStmt()
1498 syntax::NodeRole::IntroducerKeyword); in WalkUpFromBreakStmt()
1500 new (allocator()) syntax::BreakStatement, S); in WalkUpFromBreakStmt()
1506 syntax::NodeRole::IntroducerKeyword); in WalkUpFromReturnStmt()
1507 Builder.markExprChild(S->getRetValue(), syntax::NodeRole::ReturnValue); in WalkUpFromReturnStmt()
1509 new (allocator()) syntax::ReturnStatement, S); in WalkUpFromReturnStmt()
1514 Builder.markChildToken(S->getForLoc(), syntax::NodeRole::IntroducerKeyword); in WalkUpFromCXXForRangeStmt()
1515 Builder.markStmtChild(S->getBody(), syntax::NodeRole::BodyStatement); in WalkUpFromCXXForRangeStmt()
1517 new (allocator()) syntax::RangeBasedForStatement, S); in WalkUpFromCXXForRangeStmt()
1523 new (allocator()) syntax::EmptyDeclaration, S); in WalkUpFromEmptyDecl()
1528 Builder.markExprChild(S->getAssertExpr(), syntax::NodeRole::Condition); in WalkUpFromStaticAssertDecl()
1529 Builder.markExprChild(S->getMessage(), syntax::NodeRole::Message); in WalkUpFromStaticAssertDecl()
1531 new (allocator()) syntax::StaticAssertDeclaration, S); in WalkUpFromStaticAssertDecl()
1537 new (allocator()) syntax::LinkageSpecificationDeclaration, in WalkUpFromLinkageSpecDecl()
1544 new (allocator()) syntax::NamespaceAliasDefinition, S); in WalkUpFromNamespaceAliasDecl()
1550 new (allocator()) syntax::UsingNamespaceDirective, S); in WalkUpFromUsingDirectiveDecl()
1556 new (allocator()) syntax::UsingDeclaration, S); in WalkUpFromUsingDecl()
1562 new (allocator()) syntax::UsingDeclaration, S); in WalkUpFromUnresolvedUsingValueDecl()
1568 new (allocator()) syntax::UsingDeclaration, S); in WalkUpFromUnresolvedUsingTypenameDecl()
1574 new (allocator()) syntax::TypeAliasDeclaration, S); in WalkUpFromTypeAliasDecl()
1589 Builder.markChild(new (allocator()) syntax::DeclaratorList, in processDeclaratorAndDeclaration()
1590 syntax::NodeRole::Declarators); in processDeclaratorAndDeclaration()
1592 new (allocator()) syntax::SimpleDeclaration, D); in processDeclaratorAndDeclaration()
1596 auto *N = new (allocator()) syntax::SimpleDeclarator; in processDeclaratorAndDeclaration()
1598 Builder.markChild(N, syntax::NodeRole::ListElement); in processDeclaratorAndDeclaration()
1605 Builder.markChildToken(DelimiterToken, syntax::NodeRole::ListDelimiter); in processDeclaratorAndDeclaration()
1607 auto *DL = new (allocator()) syntax::DeclaratorList; in processDeclaratorAndDeclaration()
1611 Builder.markChild(DL, syntax::NodeRole::Declarators); in processDeclaratorAndDeclaration()
1613 new (allocator()) syntax::SimpleDeclaration, D); in processDeclaratorAndDeclaration()
1619 syntax::TrailingReturnType *buildTrailingReturn(FunctionProtoTypeLoc L) { in buildTrailingReturn()
1626 syntax::SimpleDeclarator *ReturnDeclarator = nullptr; in buildTrailingReturn()
1628 ReturnDeclarator = new (allocator()) syntax::SimpleDeclarator; in buildTrailingReturn()
1638 Builder.markChildToken(Arrow, syntax::NodeRole::ArrowToken); in buildTrailingReturn()
1640 Builder.markChild(ReturnDeclarator, syntax::NodeRole::Declarator); in buildTrailingReturn()
1641 auto *R = new (allocator()) syntax::TrailingReturnType; in buildTrailingReturn()
1647 ArrayRef<syntax::Token> Range, const syntax::Token *ExternKW, in foldExplicitTemplateInstantiation()
1648 const syntax::Token *TemplateKW, in foldExplicitTemplateInstantiation()
1649 syntax::SimpleDeclaration *InnerDeclaration, Decl *From) { in foldExplicitTemplateInstantiation()
1652 Builder.markChildToken(ExternKW, syntax::NodeRole::ExternKeyword); in foldExplicitTemplateInstantiation()
1653 Builder.markChildToken(TemplateKW, syntax::NodeRole::IntroducerKeyword); in foldExplicitTemplateInstantiation()
1654 Builder.markChild(InnerDeclaration, syntax::NodeRole::Declaration); in foldExplicitTemplateInstantiation()
1656 Range, new (allocator()) syntax::ExplicitTemplateInstantiation, From); in foldExplicitTemplateInstantiation()
1659 syntax::TemplateDeclaration *foldTemplateDeclaration( in foldTemplateDeclaration()
1660 ArrayRef<syntax::Token> Range, const syntax::Token *TemplateKW, in foldTemplateDeclaration()
1661 ArrayRef<syntax::Token> TemplatedDeclaration, Decl *From) { in foldTemplateDeclaration()
1663 Builder.markChildToken(TemplateKW, syntax::NodeRole::IntroducerKeyword); in foldTemplateDeclaration()
1665 auto *N = new (allocator()) syntax::TemplateDeclaration; in foldTemplateDeclaration()
1667 Builder.markChild(N, syntax::NodeRole::Declaration); in foldTemplateDeclaration()
1674 syntax::TreeBuilder &Builder;
1679 void syntax::TreeBuilder::noticeDeclWithoutSemicolon(Decl *D) { in noticeDeclWithoutSemicolon()
1683 void syntax::TreeBuilder::markChildToken(SourceLocation Loc, NodeRole Role) { in markChildToken()
1689 void syntax::TreeBuilder::markChildToken(const syntax::Token *T, NodeRole R) { in markChildToken()
1695 void syntax::TreeBuilder::markChild(syntax::Node *N, NodeRole R) { in markChild()
1700 void syntax::TreeBuilder::markChild(ASTPtr N, NodeRole R) { in markChild()
1705 void syntax::TreeBuilder::markChild(NestedNameSpecifierLoc NNSLoc, NodeRole R) { in markChild()
1711 void syntax::TreeBuilder::markStmtChild(Stmt *Child, NodeRole Role) { in markStmtChild()
1715 syntax::Tree *ChildNode; in markStmtChild()
1720 ChildNode = new (allocator()) syntax::ExpressionStatement; in markStmtChild()
1730 void syntax::TreeBuilder::markExprChild(Expr *Child, NodeRole Role) { in markExprChild()
1735 syntax::Tree *ChildNode = Mapping.find(Child); in markExprChild()
1740 const syntax::Token *syntax::TreeBuilder::findToken(SourceLocation L) const { in findToken()
1748 syntax::TranslationUnit *syntax::buildSyntaxTree(Arena &A, in buildSyntaxTree()