Go to the documentation of this file.
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) {}
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");
177 &&
"cannot iterate dependent diagnostics of non-dependent context");
190 #endif // LLVM_CLANG_AST_DEPENDENTDIAGNOSTIC_H
bool isAccessToMember() const
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...
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.
NamedDecl * getAccessNamingClass() const
Encodes a location in the source.
This represents a decl that may have a name.
DeclContext * getPrimaryContext()
getPrimaryContext - There may be many different declarations of the same entity (including forward de...
A (possibly-)qualified type.
bool operator==(ddiag_iterator Other) const
QualType getAccessBaseObjectType() const
ddiag_iterator operator++(int)
static DependentDiagnostic * Create(ASTContext &Context, DeclContext *Parent, AccessNonce _, SourceLocation Loc, bool IsMemberAccess, AccessSpecifier AS, NamedDecl *TargetDecl, CXXRecordDecl *NamingClass, QualType BaseObjectType, const PartialDiagnostic &PDiag)
CXXRecordDecl * NamingClass
NamedDecl * getAccessTarget() const
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
ddiag_range ddiags() const
llvm::iterator_range< DeclContext::ddiag_iterator > ddiag_range
AccessSpecifier getAccess() const
AccessSpecifier
A C++ access specifier (public, private, protected), plus the special value "none" which means differ...
Represents a C++ struct/union/class.
std::forward_iterator_tag iterator_category
ddiag_iterator & operator+=(difference_type N)
const PartialDiagnostic & getDiagnostic() const
ddiag_iterator(DependentDiagnostic *Ptr)
SourceLocation getAccessLoc() const
static QualType getFromOpaquePtr(const void *Ptr)
An iterator over the dependent diagnostics in a dependent context.
A dependently-generated diagnostic.
bool isDependentContext() const
Determines whether this context is dependent on a template parameter.
StoredDeclsMap * getLookupPtr() const
Retrieve the internal representation of the lookup structure.
ddiag_iterator & operator++()
bool operator!=(ddiag_iterator Other) const
ddiag_iterator operator+(difference_type N) const
reference operator*() const