42#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANGD_SELECTION_H
43#define LLVM_CLANG_TOOLS_EXTRA_CLANGD_SELECTION_H
44#include "clang/AST/ASTTypeTraits.h"
45#include "clang/AST/PrettyPrinter.h"
46#include "clang/Tooling/Syntax/Tokens.h"
47#include "llvm/ADT/SmallVector.h"
87 static bool createEach(ASTContext &
AST,
const syntax::TokenBuffer &Tokens,
88 unsigned Begin,
unsigned End,
96 const syntax::TokenBuffer &Tokens,
97 unsigned Begin,
unsigned End);
136 std::string
kind()
const;
155 unsigned Start,
unsigned End);
157 std::deque<Node> Nodes;
159 clang::PrintingPolicy PrintPolicy;
161 void print(llvm::raw_ostream &
OS,
const Node &N,
int Indent)
const;
164 T.print(
OS, T.root(), 1);
::clang::DynTypedNode Node
SelectionTree & operator=(const SelectionTree &)=delete
SelectionTree & operator=(SelectionTree &&)=default
static bool createEach(ASTContext &AST, const syntax::TokenBuffer &Tokens, unsigned Begin, unsigned End, llvm::function_ref< bool(SelectionTree)> Func)
SelectionTree(const SelectionTree &)=delete
friend llvm::raw_ostream & operator<<(llvm::raw_ostream &OS, const SelectionTree &T)
static SelectionTree createRight(ASTContext &AST, const syntax::TokenBuffer &Tokens, unsigned Begin, unsigned End)
const Node & root() const
SelectionTree(SelectionTree &&)=default
const Node * commonAncestor() const
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
const Node & ignoreImplicit() const
llvm::SmallVector< const Node * > Children
const DeclContext & getDeclContext() const
const Node & outerImplicit() const