Lines Matching refs:syntax

9 // This file provides the test infrastructure for syntax trees.
35 using namespace clang::syntax;
38 ArrayRef<syntax::Token> tokens(syntax::Node *N,
41 if (auto *L = dyn_cast<syntax::Leaf>(N))
43 auto *T = cast<syntax::Tree>(N);
49 std::vector<TestClangConfig> clang::syntax::allTestClangConfigs() {
69 syntax::TranslationUnit *
75 BuildSyntaxTree(syntax::TranslationUnit *&Root,
76 std::unique_ptr<syntax::TokenBuffer> &TB,
77 std::unique_ptr<syntax::TokenBufferTokenManager> &TM,
78 std::unique_ptr<syntax::Arena> &Arena,
79 std::unique_ptr<syntax::TokenCollector> Tokens)
85 TB = std::make_unique<syntax::TokenBuffer>(std::move(*Tokens).consume());
87 TM = std::make_unique<syntax::TokenBufferTokenManager>(
89 Arena = std::make_unique<syntax::Arena>();
90 Root = syntax::buildSyntaxTree(*Arena, *TM, Ctx);
94 syntax::TranslationUnit *&Root;
95 std::unique_ptr<syntax::TokenBuffer> &TB;
96 std::unique_ptr<syntax::TokenBufferTokenManager> &TM;
97 std::unique_ptr<syntax::Arena> &Arena;
98 std::unique_ptr<syntax::TokenCollector> Tokens;
103 BuildSyntaxTreeAction(syntax::TranslationUnit *&Root,
104 std::unique_ptr<syntax::TokenBufferTokenManager> &TM,
105 std::unique_ptr<syntax::TokenBuffer> &TB,
106 std::unique_ptr<syntax::Arena> &Arena)
113 std::make_unique<syntax::TokenCollector>(CI.getPreprocessor());
119 syntax::TranslationUnit *&Root;
120 std::unique_ptr<syntax::TokenBufferTokenManager> &TM;
121 std::unique_ptr<syntax::TokenBuffer> &TB;
122 std::unique_ptr<syntax::Arena> &Arena;
135 "syntax-test",
160 syntax::TranslationUnit *Root = nullptr;
173 syntax::Node *SyntaxTreeTest::nodeByRange(llvm::Annotations::Range R,
174 syntax::Node *Root) {
175 ArrayRef<syntax::Token> Toks = tokens(Root, *TM);
178 syntax::Token::range(*SourceMgr, Toks.front(), Toks.back()) ==
179 syntax::FileRange(SourceMgr->getMainFileID(), R.Begin, R.End))
182 auto *T = dyn_cast<syntax::Tree>(Root);