13#ifndef LLVM_CLANG_TOOLING_NODEINTROSPECTION_H
14#define LLVM_CLANG_TOOLING_NODEINTROSPECTION_H
18#include "llvm/ADT/IntrusiveRefCntPtr.h"
25class CXXCtorInitializer;
26class NestedNameSpecifierLoc;
27class TemplateArgumentLoc;
28class CXXBaseSpecifier;
29struct DeclarationNameInfo;
36class LocationCall :
public llvm::ThreadSafeRefCountedBase<LocationCall> {
41 : m_flags(flags), m_on(
std::move(
on)), m_name(
std::move(
name)) {}
44 StringRef
name()
const {
return m_name; }
62 bool operator()(std::pair<SourceRange, SharedLocationCall>
const &LHS,
63 std::pair<SourceRange, SharedLocationCall>
const &RHS)
const;
65 operator()(std::pair<SourceLocation, SharedLocationCall>
const &LHS,
66 std::pair<SourceLocation, SharedLocationCall>
const &RHS)
const;
76template <
typename T,
typename U>
87namespace NodeIntrospection {
Represents a base class of a C++ class.
Represents a C++ base or member initializer.
Decl - This represents one declaration (or definition), e.g.
A dynamically typed AST node container.
A C++ nested-name-specifier augmented with source location information.
Stmt - This represents one statement.
Location wrapper for a TemplateArgument.
Base wrapper for a particular "section" of type source info.
@ Decl
The l-value was an access to a declared entity or something equivalently strong, like the address of ...
DeclarationNameInfo - A collector data type for bundling together a DeclarationName and the correspon...