17#ifndef LLVM_CLANG_AST_DEPENDENTDIAGNOSTIC_H
18#define LLVM_CLANG_AST_DEPENDENTDIAGNOSTIC_H
52 DD->AccessData.
IsMember = IsMemberAccess;
53 DD->AccessData.
Access = AS;
66 return AccessData.IsMember;
76 return AccessData.Loc;
81 return AccessData.TargetDecl;
86 return AccessData.NamingClass;
104 :
Diag(PDiag, Storage) {}
118 LLVM_PREFERRED_TYPE(
bool)
141 assert(Ptr &&
"attempt to increment past end of diag list");
142 Ptr = Ptr->NextDiagnostic;
153 return Ptr ==
Other.Ptr;
157 return Ptr !=
Other.Ptr;
161 assert(N >= 0 &&
"cannot rewind a DeclContext::ddiag_iterator");
178 assert(isDependentContext()
179 &&
"cannot iterate dependent diagnostics of non-dependent context");
static DiagnosticBuilder Diag(DiagnosticsEngine *Diags, const LangOptions &Features, FullSourceLoc TokLoc, const char *TokBegin, const char *TokRangeBegin, const char *TokRangeEnd, unsigned DiagID)
Produce a diagnostic highlighting some portion of a literal.
Implements a partial diagnostic that can be emitted anwyhere in a DiagnosticBuilder stream.
Defines the clang::SourceLocation class and associated facilities.
Defines various enumerations that describe declaration and type specifiers.
C Language Family Type Representation.
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
Represents a C++ struct/union/class.
An iterator over the dependent diagnostics in a dependent context.
bool operator==(ddiag_iterator Other) const
bool operator!=(ddiag_iterator Other) const
ddiag_iterator operator+(difference_type N) const
ddiag_iterator & operator+=(difference_type N)
ddiag_iterator(DependentDiagnostic *Ptr)
reference operator*() const
std::forward_iterator_tag iterator_category
ddiag_iterator & operator++()
ddiag_iterator operator++(int)
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...
ddiag_range ddiags() const
llvm::iterator_range< DeclContext::ddiag_iterator > ddiag_range
A dependently-generated diagnostic.
NamedDecl * getAccessNamingClass() const
QualType getAccessBaseObjectType() const
friend class DeclContext::ddiag_iterator
bool isAccessToMember() const
NamedDecl * getAccessTarget() const
SourceLocation getAccessLoc() const
const PartialDiagnostic & getDiagnostic() const
static DependentDiagnostic * Create(ASTContext &Context, DeclContext *Parent, AccessNonce _, SourceLocation Loc, bool IsMemberAccess, AccessSpecifier AS, NamedDecl *TargetDecl, CXXRecordDecl *NamingClass, QualType BaseObjectType, const PartialDiagnostic &PDiag)
AccessSpecifier getAccess() const
CXXRecordDecl * NamingClass
This represents a decl that may have a name.
A (possibly-)qualified type.
static QualType getFromOpaquePtr(const void *Ptr)
Encodes a location in the source.
The JSON file list parser is used to communicate input to InstallAPI.
@ Create
'create' clause, allowed on Compute and Combined constructs, plus 'data', 'enter data',...
@ Other
Other implicit parameter.
AccessSpecifier
A C++ access specifier (public, private, protected), plus the special value "none" which means differ...