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, TokenBufferTokenManager& TBTM) in TreeBuilder()
384 void foldNode(ArrayRef<syntax::Token> Range, syntax::Tree *New, ASTPtr From) { in foldNode()
391 void foldNode(ArrayRef<syntax::Token> Range, syntax::Tree *New, TypeLoc L) { in foldNode()
396 void foldNode(llvm::ArrayRef<syntax::Token> Range, syntax::Tree *New, in foldNode()
406 void foldList(ArrayRef<syntax::Token> SuperRange, syntax::List *New, in foldList()
430 void markChildToken(const syntax::Token *T, NodeRole R);
433 void markChild(syntax::Node *N, NodeRole R);
440 syntax::TranslationUnit *finalize() && { in finalize()
447 new (Arena.getAllocator()) syntax::TranslationUnit); in finalize()
449 auto *TU = cast<syntax::TranslationUnit>(std::move(Pending).finalize()); in finalize()
455 const syntax::Token *findToken(SourceLocation L) const;
458 ArrayRef<syntax::Token> getRange(SourceRange Range) const { in getRange()
466 ArrayRef<syntax::Token> getRange(SourceLocation First, in getRange()
475 ArrayRef<syntax::Token>
509 ArrayRef<syntax::Token> getDeclarationRange(Decl *D) { in getDeclarationRange()
510 ArrayRef<syntax::Token> Tokens; in getDeclarationRange()
519 ArrayRef<syntax::Token> getExprRange(const Expr *E) const { in getExprRange()
525 ArrayRef<syntax::Token> getStmtRange(const Stmt *S) const { in getStmtRange()
538 ArrayRef<syntax::Token> maybeAppendSemicolon(ArrayRef<syntax::Token> Tokens, in maybeAppendSemicolon()
549 ArrayRef<syntax::Token>
550 withTrailingSemicolon(ArrayRef<syntax::Token> Tokens) const { in withTrailingSemicolon()
559 void setRole(syntax::Node *N, NodeRole R) { in setRole()
571 Forest(syntax::Arena &A, const syntax::TokenBuffer &TB) { in Forest()
578 syntax::Leaf(reinterpret_cast<TokenManager::Key>(&T)); in Forest()
585 void assignRole(ArrayRef<syntax::Token> Range, syntax::NodeRole Role) { in assignRole()
600 ArrayRef<syntax::Token> shrinkToFitList(ArrayRef<syntax::Token> Range) { in shrinkToFitList()
613 return Role == syntax::NodeRole::ListElement || in shrinkToFitList()
614 Role == syntax::NodeRole::ListDelimiter; in shrinkToFitList()
623 return ArrayRef<syntax::Token>(BeginListChildren->first, in shrinkToFitList()
628 void foldChildren(const syntax::TokenBuffer &TB, in foldChildren()
629 ArrayRef<syntax::Token> Tokens, syntax::Tree *Node) { in foldChildren()
661 syntax::Node *finalize() && { in finalize()
668 std::string str(const syntax::TokenBufferTokenManager &STM) const { in str()
688 std::map<const syntax::Token *, syntax::Node *> Trees;
694 syntax::Arena &Arena;
697 llvm::DenseMap<SourceLocation, const syntax::Token *> LocationToToken;
706 explicit BuildTreeVisitor(ASTContext &Context, syntax::TreeBuilder &Builder) in BuildTreeVisitor()
722 new (allocator()) syntax::UnknownDeclaration(), D); in VisitDecl()
736 cast<syntax::SimpleDeclaration>(handleFreeStandingTagDecl(C)); in TraverseClassTemplateSpecializationDecl()
761 syntax::Declaration *handleFreeStandingTagDecl(TagDecl *C) { in handleFreeStandingTagDecl()
765 syntax::Declaration *Result = new (allocator()) syntax::SimpleDeclaration; in handleFreeStandingTagDecl()
790 using NodeRole = syntax::NodeRole; in WalkUpFromCompoundStmt()
798 new (allocator()) syntax::CompoundStatement, S); in WalkUpFromCompoundStmt()
805 new (allocator()) syntax::UnknownStatement, S); in WalkUpFromStmt()
873 new (allocator()) syntax::UnknownExpression, E); in WalkUpFromExpr()
886 syntax::UserDefinedLiteralExpression *
890 return new (allocator()) syntax::IntegerUserDefinedLiteralExpression; in buildUserDefinedLiteral()
892 return new (allocator()) syntax::FloatUserDefinedLiteralExpression; in buildUserDefinedLiteral()
894 return new (allocator()) syntax::CharUserDefinedLiteralExpression; in buildUserDefinedLiteral()
896 return new (allocator()) syntax::StringUserDefinedLiteralExpression; in buildUserDefinedLiteral()
911 return new (allocator()) syntax::IntegerUserDefinedLiteralExpression; in buildUserDefinedLiteral()
914 return new (allocator()) syntax::FloatUserDefinedLiteralExpression; in buildUserDefinedLiteral()
921 Builder.markChildToken(S->getBeginLoc(), syntax::NodeRole::LiteralToken); in WalkUpFromUserDefinedLiteral()
953 syntax::NodeKind getNameSpecifierKind(const NestedNameSpecifier &NNS) { in getNameSpecifierKind()
956 return syntax::NodeKind::GlobalNameSpecifier; in getNameSpecifierKind()
960 return syntax::NodeKind::IdentifierNameSpecifier; in getNameSpecifierKind()
962 return syntax::NodeKind::SimpleTemplateNameSpecifier; in getNameSpecifierKind()
967 return syntax::NodeKind::DecltypeNameSpecifier; in getNameSpecifierKind()
970 return syntax::NodeKind::SimpleTemplateNameSpecifier; in getNameSpecifierKind()
971 return syntax::NodeKind::IdentifierNameSpecifier; in getNameSpecifierKind()
980 syntax::NameSpecifier *
986 case syntax::NodeKind::GlobalNameSpecifier: in buildNameSpecifier()
987 return new (allocator()) syntax::GlobalNameSpecifier; in buildNameSpecifier()
988 case syntax::NodeKind::IdentifierNameSpecifier: { in buildNameSpecifier()
991 syntax::NodeRole::Unknown); in buildNameSpecifier()
992 auto *NS = new (allocator()) syntax::IdentifierNameSpecifier; in buildNameSpecifier()
996 case syntax::NodeKind::SimpleTemplateNameSpecifier: { in buildNameSpecifier()
1002 auto *NS = new (allocator()) syntax::SimpleTemplateNameSpecifier; in buildNameSpecifier()
1006 case syntax::NodeKind::DecltypeNameSpecifier: { in buildNameSpecifier()
1010 auto *NS = new (allocator()) syntax::DecltypeNameSpecifier; in buildNameSpecifier()
1034 Builder.markChild(NS, syntax::NodeRole::ListElement); in TraverseNestedNameSpecifierLoc()
1035 Builder.markChildToken(It.getEndLoc(), syntax::NodeRole::ListDelimiter); in TraverseNestedNameSpecifierLoc()
1038 new (allocator()) syntax::NestedNameSpecifier, in TraverseNestedNameSpecifierLoc()
1043 syntax::IdExpression *buildIdExpression(NestedNameSpecifierLoc QualifierLoc, in buildIdExpression()
1048 Builder.markChild(QualifierLoc, syntax::NodeRole::Qualifier); in buildIdExpression()
1051 syntax::NodeRole::TemplateKeyword); in buildIdExpression()
1054 auto *TheUnqualifiedId = new (allocator()) syntax::UnqualifiedId; in buildIdExpression()
1057 Builder.markChild(TheUnqualifiedId, syntax::NodeRole::UnqualifiedId); in buildIdExpression()
1062 auto *TheIdExpression = new (allocator()) syntax::IdExpression; in buildIdExpression()
1084 Builder.markChild(TheIdExpression, syntax::NodeRole::Member); in WalkUpFromMemberExpr()
1086 Builder.markExprChild(S->getBase(), syntax::NodeRole::Object); in WalkUpFromMemberExpr()
1087 Builder.markChildToken(S->getOperatorLoc(), syntax::NodeRole::AccessToken); in WalkUpFromMemberExpr()
1090 new (allocator()) syntax::MemberExpression, S); in WalkUpFromMemberExpr()
1112 syntax::NodeRole::IntroducerKeyword); in WalkUpFromCXXThisExpr()
1114 new (allocator()) syntax::ThisExpression, S); in WalkUpFromCXXThisExpr()
1120 Builder.markChildToken(S->getLParen(), syntax::NodeRole::OpenParen); in WalkUpFromParenExpr()
1121 Builder.markExprChild(S->getSubExpr(), syntax::NodeRole::SubExpression); in WalkUpFromParenExpr()
1122 Builder.markChildToken(S->getRParen(), syntax::NodeRole::CloseParen); in WalkUpFromParenExpr()
1124 new (allocator()) syntax::ParenExpression, S); in WalkUpFromParenExpr()
1129 Builder.markChildToken(S->getLocation(), syntax::NodeRole::LiteralToken); in WalkUpFromIntegerLiteral()
1131 new (allocator()) syntax::IntegerLiteralExpression, S); in WalkUpFromIntegerLiteral()
1136 Builder.markChildToken(S->getLocation(), syntax::NodeRole::LiteralToken); in WalkUpFromCharacterLiteral()
1138 new (allocator()) syntax::CharacterLiteralExpression, S); in WalkUpFromCharacterLiteral()
1143 Builder.markChildToken(S->getLocation(), syntax::NodeRole::LiteralToken); in WalkUpFromFloatingLiteral()
1145 new (allocator()) syntax::FloatingLiteralExpression, S); in WalkUpFromFloatingLiteral()
1150 Builder.markChildToken(S->getBeginLoc(), syntax::NodeRole::LiteralToken); in WalkUpFromStringLiteral()
1152 new (allocator()) syntax::StringLiteralExpression, S); in WalkUpFromStringLiteral()
1157 Builder.markChildToken(S->getLocation(), syntax::NodeRole::LiteralToken); in WalkUpFromCXXBoolLiteralExpr()
1159 new (allocator()) syntax::BoolLiteralExpression, S); in WalkUpFromCXXBoolLiteralExpr()
1164 Builder.markChildToken(S->getLocation(), syntax::NodeRole::LiteralToken); in WalkUpFromCXXNullPtrLiteralExpr()
1166 new (allocator()) syntax::CxxNullPtrExpression, S); in WalkUpFromCXXNullPtrLiteralExpr()
1172 syntax::NodeRole::OperatorToken); in WalkUpFromUnaryOperator()
1173 Builder.markExprChild(S->getSubExpr(), syntax::NodeRole::Operand); in WalkUpFromUnaryOperator()
1177 new (allocator()) syntax::PostfixUnaryOperatorExpression, in WalkUpFromUnaryOperator()
1181 new (allocator()) syntax::PrefixUnaryOperatorExpression, in WalkUpFromUnaryOperator()
1188 Builder.markExprChild(S->getLHS(), syntax::NodeRole::LeftHandSide); in WalkUpFromBinaryOperator()
1190 syntax::NodeRole::OperatorToken); in WalkUpFromBinaryOperator()
1191 Builder.markExprChild(S->getRHS(), syntax::NodeRole::RightHandSide); in WalkUpFromBinaryOperator()
1193 new (allocator()) syntax::BinaryOperatorExpression, S); in WalkUpFromBinaryOperator()
1199 syntax::CallArguments *
1203 Builder.markExprChild(Arg, syntax::NodeRole::ListElement); in buildCallArguments()
1207 Builder.markChildToken(DelimiterToken, syntax::NodeRole::ListDelimiter); in buildCallArguments()
1210 auto *Arguments = new (allocator()) syntax::CallArguments; in buildCallArguments()
1220 Builder.markExprChild(S->getCallee(), syntax::NodeRole::Callee); in WalkUpFromCallExpr()
1227 Builder.markChildToken(LParenToken, syntax::NodeRole::OpenParen); in WalkUpFromCallExpr()
1230 syntax::NodeRole::Arguments); in WalkUpFromCallExpr()
1232 Builder.markChildToken(S->getRParenLoc(), syntax::NodeRole::CloseParen); in WalkUpFromCallExpr()
1235 new (allocator()) syntax::CallExpression, S); in WalkUpFromCallExpr()
1261 syntax::NodeKind::PostfixUnaryOperatorExpression); in TraverseCXXOperatorCallExpr()
1272 case syntax::NodeKind::BinaryOperatorExpression: in WalkUpFromCXXOperatorCallExpr()
1273 Builder.markExprChild(S->getArg(0), syntax::NodeRole::LeftHandSide); in WalkUpFromCXXOperatorCallExpr()
1275 syntax::NodeRole::OperatorToken); in WalkUpFromCXXOperatorCallExpr()
1276 Builder.markExprChild(S->getArg(1), syntax::NodeRole::RightHandSide); in WalkUpFromCXXOperatorCallExpr()
1278 new (allocator()) syntax::BinaryOperatorExpression, S); in WalkUpFromCXXOperatorCallExpr()
1280 case syntax::NodeKind::PrefixUnaryOperatorExpression: in WalkUpFromCXXOperatorCallExpr()
1282 syntax::NodeRole::OperatorToken); in WalkUpFromCXXOperatorCallExpr()
1283 Builder.markExprChild(S->getArg(0), syntax::NodeRole::Operand); in WalkUpFromCXXOperatorCallExpr()
1285 new (allocator()) syntax::PrefixUnaryOperatorExpression, in WalkUpFromCXXOperatorCallExpr()
1288 case syntax::NodeKind::PostfixUnaryOperatorExpression: in WalkUpFromCXXOperatorCallExpr()
1290 syntax::NodeRole::OperatorToken); in WalkUpFromCXXOperatorCallExpr()
1291 Builder.markExprChild(S->getArg(0), syntax::NodeRole::Operand); in WalkUpFromCXXOperatorCallExpr()
1293 new (allocator()) syntax::PostfixUnaryOperatorExpression, in WalkUpFromCXXOperatorCallExpr()
1296 case syntax::NodeKind::CallExpression: { in WalkUpFromCXXOperatorCallExpr()
1297 Builder.markExprChild(S->getArg(0), syntax::NodeRole::Callee); in WalkUpFromCXXOperatorCallExpr()
1304 Builder.markChildToken(LParenToken, syntax::NodeRole::OpenParen); in WalkUpFromCXXOperatorCallExpr()
1308 syntax::NodeRole::Arguments); in WalkUpFromCXXOperatorCallExpr()
1310 Builder.markChildToken(S->getRParenLoc(), syntax::NodeRole::CloseParen); in WalkUpFromCXXOperatorCallExpr()
1313 new (allocator()) syntax::CallExpression, S); in WalkUpFromCXXOperatorCallExpr()
1316 case syntax::NodeKind::UnknownExpression: in WalkUpFromCXXOperatorCallExpr()
1333 Builder.foldNode(Tokens, new (allocator()) syntax::NamespaceDefinition, S); in WalkUpFromNamespaceDecl()
1347 Builder.markChildToken(L.getLParenLoc(), syntax::NodeRole::OpenParen); in WalkUpFromParenTypeLoc()
1348 Builder.markChildToken(L.getRParenLoc(), syntax::NodeRole::CloseParen); in WalkUpFromParenTypeLoc()
1350 new (allocator()) syntax::ParenDeclarator, L); in WalkUpFromParenTypeLoc()
1356 Builder.markChildToken(L.getLBracketLoc(), syntax::NodeRole::OpenParen); in WalkUpFromArrayTypeLoc()
1357 Builder.markExprChild(L.getSizeExpr(), syntax::NodeRole::Size); in WalkUpFromArrayTypeLoc()
1358 Builder.markChildToken(L.getRBracketLoc(), syntax::NodeRole::CloseParen); in WalkUpFromArrayTypeLoc()
1360 new (allocator()) syntax::ArraySubscript, L); in WalkUpFromArrayTypeLoc()
1364 syntax::ParameterDeclarationList *
1367 Builder.markChild(P, syntax::NodeRole::ListElement); in buildParameterDeclarationList()
1370 Builder.markChildToken(DelimiterToken, syntax::NodeRole::ListDelimiter); in buildParameterDeclarationList()
1372 auto *Parameters = new (allocator()) syntax::ParameterDeclarationList; in buildParameterDeclarationList()
1381 Builder.markChildToken(L.getLParenLoc(), syntax::NodeRole::OpenParen); in WalkUpFromFunctionTypeLoc()
1384 syntax::NodeRole::Parameters); in WalkUpFromFunctionTypeLoc()
1386 Builder.markChildToken(L.getRParenLoc(), syntax::NodeRole::CloseParen); in WalkUpFromFunctionTypeLoc()
1388 new (allocator()) syntax::ParametersAndQualifiers, L); in WalkUpFromFunctionTypeLoc()
1398 Builder.markChild(TrailingReturnTokens, syntax::NodeRole::TrailingReturn); in WalkUpFromFunctionProtoTypeLoc()
1415 new (allocator()) syntax::MemberPointer, L); in WalkUpFromMemberPointerTypeLoc()
1424 new (allocator()) syntax::DeclarationStatement, S); in WalkUpFromDeclStmt()
1430 new (allocator()) syntax::EmptyStatement, S); in WalkUpFromNullStmt()
1436 syntax::NodeRole::IntroducerKeyword); in WalkUpFromSwitchStmt()
1437 Builder.markStmtChild(S->getBody(), syntax::NodeRole::BodyStatement); in WalkUpFromSwitchStmt()
1439 new (allocator()) syntax::SwitchStatement, S); in WalkUpFromSwitchStmt()
1445 syntax::NodeRole::IntroducerKeyword); in WalkUpFromCaseStmt()
1446 Builder.markExprChild(S->getLHS(), syntax::NodeRole::CaseValue); in WalkUpFromCaseStmt()
1447 Builder.markStmtChild(S->getSubStmt(), syntax::NodeRole::BodyStatement); in WalkUpFromCaseStmt()
1449 new (allocator()) syntax::CaseStatement, S); in WalkUpFromCaseStmt()
1455 syntax::NodeRole::IntroducerKeyword); in WalkUpFromDefaultStmt()
1456 Builder.markStmtChild(S->getSubStmt(), syntax::NodeRole::BodyStatement); in WalkUpFromDefaultStmt()
1458 new (allocator()) syntax::DefaultStatement, S); in WalkUpFromDefaultStmt()
1463 Builder.markChildToken(S->getIfLoc(), syntax::NodeRole::IntroducerKeyword); in WalkUpFromIfStmt()
1467 Builder.markStmtChild(ConditionStatement, syntax::NodeRole::Condition); in WalkUpFromIfStmt()
1468 Builder.markStmtChild(S->getThen(), syntax::NodeRole::ThenStatement); in WalkUpFromIfStmt()
1469 Builder.markChildToken(S->getElseLoc(), syntax::NodeRole::ElseKeyword); in WalkUpFromIfStmt()
1470 Builder.markStmtChild(S->getElse(), syntax::NodeRole::ElseStatement); in WalkUpFromIfStmt()
1472 new (allocator()) syntax::IfStatement, S); in WalkUpFromIfStmt()
1477 Builder.markChildToken(S->getForLoc(), syntax::NodeRole::IntroducerKeyword); in WalkUpFromForStmt()
1478 Builder.markStmtChild(S->getBody(), syntax::NodeRole::BodyStatement); in WalkUpFromForStmt()
1480 new (allocator()) syntax::ForStatement, S); in WalkUpFromForStmt()
1486 syntax::NodeRole::IntroducerKeyword); in WalkUpFromWhileStmt()
1487 Builder.markStmtChild(S->getBody(), syntax::NodeRole::BodyStatement); in WalkUpFromWhileStmt()
1489 new (allocator()) syntax::WhileStatement, S); in WalkUpFromWhileStmt()
1495 syntax::NodeRole::IntroducerKeyword); in WalkUpFromContinueStmt()
1497 new (allocator()) syntax::ContinueStatement, S); in WalkUpFromContinueStmt()
1503 syntax::NodeRole::IntroducerKeyword); in WalkUpFromBreakStmt()
1505 new (allocator()) syntax::BreakStatement, S); in WalkUpFromBreakStmt()
1511 syntax::NodeRole::IntroducerKeyword); in WalkUpFromReturnStmt()
1512 Builder.markExprChild(S->getRetValue(), syntax::NodeRole::ReturnValue); in WalkUpFromReturnStmt()
1514 new (allocator()) syntax::ReturnStatement, S); in WalkUpFromReturnStmt()
1519 Builder.markChildToken(S->getForLoc(), syntax::NodeRole::IntroducerKeyword); in WalkUpFromCXXForRangeStmt()
1520 Builder.markStmtChild(S->getBody(), syntax::NodeRole::BodyStatement); in WalkUpFromCXXForRangeStmt()
1522 new (allocator()) syntax::RangeBasedForStatement, S); in WalkUpFromCXXForRangeStmt()
1528 new (allocator()) syntax::EmptyDeclaration, S); in WalkUpFromEmptyDecl()
1533 Builder.markExprChild(S->getAssertExpr(), syntax::NodeRole::Condition); in WalkUpFromStaticAssertDecl()
1534 Builder.markExprChild(S->getMessage(), syntax::NodeRole::Message); in WalkUpFromStaticAssertDecl()
1536 new (allocator()) syntax::StaticAssertDeclaration, S); in WalkUpFromStaticAssertDecl()
1542 new (allocator()) syntax::LinkageSpecificationDeclaration, in WalkUpFromLinkageSpecDecl()
1549 new (allocator()) syntax::NamespaceAliasDefinition, S); in WalkUpFromNamespaceAliasDecl()
1555 new (allocator()) syntax::UsingNamespaceDirective, S); in WalkUpFromUsingDirectiveDecl()
1561 new (allocator()) syntax::UsingDeclaration, S); in WalkUpFromUsingDecl()
1567 new (allocator()) syntax::UsingDeclaration, S); in WalkUpFromUnresolvedUsingValueDecl()
1573 new (allocator()) syntax::UsingDeclaration, S); in WalkUpFromUnresolvedUsingTypenameDecl()
1579 new (allocator()) syntax::TypeAliasDeclaration, S); in WalkUpFromTypeAliasDecl()
1594 Builder.markChild(new (allocator()) syntax::DeclaratorList, in processDeclaratorAndDeclaration()
1595 syntax::NodeRole::Declarators); in processDeclaratorAndDeclaration()
1597 new (allocator()) syntax::SimpleDeclaration, D); in processDeclaratorAndDeclaration()
1601 auto *N = new (allocator()) syntax::SimpleDeclarator; in processDeclaratorAndDeclaration()
1603 Builder.markChild(N, syntax::NodeRole::ListElement); in processDeclaratorAndDeclaration()
1610 Builder.markChildToken(DelimiterToken, syntax::NodeRole::ListDelimiter); in processDeclaratorAndDeclaration()
1612 auto *DL = new (allocator()) syntax::DeclaratorList; in processDeclaratorAndDeclaration()
1616 Builder.markChild(DL, syntax::NodeRole::Declarators); in processDeclaratorAndDeclaration()
1618 new (allocator()) syntax::SimpleDeclaration, D); in processDeclaratorAndDeclaration()
1624 syntax::TrailingReturnType *buildTrailingReturn(FunctionProtoTypeLoc L) { in buildTrailingReturn()
1631 syntax::SimpleDeclarator *ReturnDeclarator = nullptr; in buildTrailingReturn()
1633 ReturnDeclarator = new (allocator()) syntax::SimpleDeclarator; in buildTrailingReturn()
1643 Builder.markChildToken(Arrow, syntax::NodeRole::ArrowToken); in buildTrailingReturn()
1645 Builder.markChild(ReturnDeclarator, syntax::NodeRole::Declarator); in buildTrailingReturn()
1646 auto *R = new (allocator()) syntax::TrailingReturnType; in buildTrailingReturn()
1652 ArrayRef<syntax::Token> Range, const syntax::Token *ExternKW, in foldExplicitTemplateInstantiation()
1653 const syntax::Token *TemplateKW, in foldExplicitTemplateInstantiation()
1654 syntax::SimpleDeclaration *InnerDeclaration, Decl *From) { in foldExplicitTemplateInstantiation()
1657 Builder.markChildToken(ExternKW, syntax::NodeRole::ExternKeyword); in foldExplicitTemplateInstantiation()
1658 Builder.markChildToken(TemplateKW, syntax::NodeRole::IntroducerKeyword); in foldExplicitTemplateInstantiation()
1659 Builder.markChild(InnerDeclaration, syntax::NodeRole::Declaration); in foldExplicitTemplateInstantiation()
1661 Range, new (allocator()) syntax::ExplicitTemplateInstantiation, From); in foldExplicitTemplateInstantiation()
1664 syntax::TemplateDeclaration *foldTemplateDeclaration( in foldTemplateDeclaration()
1665 ArrayRef<syntax::Token> Range, const syntax::Token *TemplateKW, in foldTemplateDeclaration()
1666 ArrayRef<syntax::Token> TemplatedDeclaration, Decl *From) { in foldTemplateDeclaration()
1668 Builder.markChildToken(TemplateKW, syntax::NodeRole::IntroducerKeyword); in foldTemplateDeclaration()
1670 auto *N = new (allocator()) syntax::TemplateDeclaration; in foldTemplateDeclaration()
1672 Builder.markChild(N, syntax::NodeRole::Declaration); in foldTemplateDeclaration()
1679 syntax::TreeBuilder &Builder;
1684 void syntax::TreeBuilder::noticeDeclWithoutSemicolon(Decl *D) { in noticeDeclWithoutSemicolon()
1688 void syntax::TreeBuilder::markChildToken(SourceLocation Loc, NodeRole Role) { in markChildToken()
1694 void syntax::TreeBuilder::markChildToken(const syntax::Token *T, NodeRole R) { in markChildToken()
1700 void syntax::TreeBuilder::markChild(syntax::Node *N, NodeRole R) { in markChild()
1705 void syntax::TreeBuilder::markChild(ASTPtr N, NodeRole R) { in markChild()
1710 void syntax::TreeBuilder::markChild(NestedNameSpecifierLoc NNSLoc, NodeRole R) { in markChild()
1716 void syntax::TreeBuilder::markStmtChild(Stmt *Child, NodeRole Role) { in markStmtChild()
1720 syntax::Tree *ChildNode; in markStmtChild()
1725 ChildNode = new (allocator()) syntax::ExpressionStatement; in markStmtChild()
1735 void syntax::TreeBuilder::markExprChild(Expr *Child, NodeRole Role) { in markExprChild()
1740 syntax::Tree *ChildNode = Mapping.find(Child); in markExprChild()
1745 const syntax::Token *syntax::TreeBuilder::findToken(SourceLocation L) const { in findToken()
1753 syntax::TranslationUnit *syntax::buildSyntaxTree(Arena &A, in buildSyntaxTree()