9#ifndef LLVM_CLANG_TOOLING_REFACTORING_ASTSELECTION_H
10#define LLVM_CLANG_TOOLING_REFACTORING_ASTSELECTION_H
16#include "llvm/Support/raw_ostream.h"
62 void dump(llvm::raw_ostream &OS = llvm::errs())
const;
106 if (!AreChildrenSelected)
108 return SelectedNode.get().Children.size();
112 if (!AreChildrenSelected) {
113 assert(I == 0 &&
"Invalid index");
114 return SelectedNode.get().Node.get<
Stmt>();
116 return SelectedNode.get().Children[I].Node.get<
Stmt>();
134 static std::optional<CodeRangeASTSelection>
140 bool AreChildrenSelected)
141 : SelectedNode(SelectedNode), Parents(Parents),
142 AreChildrenSelected(AreChildrenSelected) {}
150 bool AreChildrenSelected;
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified.
Defines the clang::SourceLocation class and associated facilities.
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
Decl - This represents one declaration (or definition), e.g.
A dynamically typed AST node container.
A trivial tuple used to represent a source range.
Stmt - This represents one statement.
The JSON file list parser is used to communicate input to InstallAPI.