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;
81 return AccessData.TargetDecl;
86 return AccessData.NamingClass;
104 :
Diag(PDiag, Storage) {}
139 assert(Ptr &&
"attempt to increment past end of diag list");
140 Ptr = Ptr->NextDiagnostic;
151 return Ptr == Other.Ptr;
155 return Ptr != Other.Ptr;
159 assert(N >= 0 &&
"cannot rewind a DeclContext::ddiag_iterator");
176 assert(isDependentContext()
177 &&
"cannot iterate dependent diagnostics of non-dependent context");
190 #endif // LLVM_CLANG_AST_DEPENDENTDIAGNOSTIC_H 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.
unsigned getRawEncoding() const
When a SourceLocation itself cannot be used, this returns an (opaque) 32-bit integer encoding for it...
A (possibly-)qualified type.
AccessSpecifier getAccess() const
C Language Family Type Representation.
SourceLocation getAccessLoc() const
AccessSpecifier
A C++ access specifier (public, private, protected), plus the special value "none" which means differ...
const PartialDiagnostic & getDiagnostic() const
ddiag_iterator & operator++()
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
static SourceLocation getFromRawEncoding(unsigned Encoding)
Turn a raw encoding of a SourceLocation object into a real SourceLocation.
void * getAsOpaquePtr() const
ddiag_iterator operator+(difference_type N) const
ddiag_iterator & operator+=(difference_type N)
std::forward_iterator_tag iterator_category
ddiag_iterator(DependentDiagnostic *Ptr)
Encodes a location in the source.
bool operator==(ddiag_iterator Other) const
bool isAccessToMember() const
NamedDecl * getAccessNamingClass() const
llvm::iterator_range< DeclContext::ddiag_iterator > ddiag_range
bool operator!=(ddiag_iterator Other) const
static QualType getFromOpaquePtr(const void *Ptr)
Defines various enumerations that describe declaration and type specifiers.
ddiag_range ddiags() const
reference operator*() const
ddiag_iterator operator++(int)
Dataflow Directional Tag Classes.
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...
CXXRecordDecl * NamingClass
QualType getAccessBaseObjectType() const
A dependently-generated diagnostic.
static DependentDiagnostic * Create(ASTContext &Context, DeclContext *Parent, AccessNonce _, SourceLocation Loc, bool IsMemberAccess, AccessSpecifier AS, NamedDecl *TargetDecl, CXXRecordDecl *NamingClass, QualType BaseObjectType, const PartialDiagnostic &PDiag)
An iterator over the dependent diagnostics in a dependent context.
Implements a partial diagnostic that can be emitted anwyhere in a DiagnosticBuilder stream...
Defines the clang::SourceLocation class and associated facilities.
Represents a C++ struct/union/class.
NamedDecl * getAccessTarget() const
This represents a decl that may have a name.