clang API Documentation
A RAII object used to temporarily suppress access-like checking. Access-like checks are those associated with controlling the use of a declaration, like C++ access control errors and deprecation warnings. They are contextually dependent, in that they can only be resolved with full information about what's being declared. They are also suppressed in certain contexts, like the template arguments of an explicit instantiation. However, those suppression contexts cannot necessarily be fully determined in advance; for example, something starting like this: template <> class std::vector<A::PrivateType> might be the entirety of an explicit instantiation: template <> class std::vector<A::PrivateType>; or just an elaborated type specifier: template <> class std::vector<A::PrivateType> make_vector<>(); Therefore this class collects all the diagnostics and permits them to be re-delayed in a new context. More...
#include <RAIIObjectsForParser.h>
Public Member Functions | |
SuppressAccessChecks (Parser &P, bool activate=true) | |
Begin suppressing access-like checks. | |
void | done () |
void | redelay () |
~SuppressAccessChecks () |
A RAII object used to temporarily suppress access-like checking. Access-like checks are those associated with controlling the use of a declaration, like C++ access control errors and deprecation warnings. They are contextually dependent, in that they can only be resolved with full information about what's being declared. They are also suppressed in certain contexts, like the template arguments of an explicit instantiation. However, those suppression contexts cannot necessarily be fully determined in advance; for example, something starting like this: template <> class std::vector<A::PrivateType> might be the entirety of an explicit instantiation: template <> class std::vector<A::PrivateType>; or just an elaborated type specifier: template <> class std::vector<A::PrivateType> make_vector<>(); Therefore this class collects all the diagnostics and permits them to be re-delayed in a new context.
Definition at line 44 of file RAIIObjectsForParser.h.
clang::SuppressAccessChecks::SuppressAccessChecks | ( | Parser & | P, |
bool | activate = true |
||
) | [inline] |
Begin suppressing access-like checks.
Definition at line 52 of file RAIIObjectsForParser.h.
References clang::Sema::PushParsingDeclaration().
clang::SuppressAccessChecks::~SuppressAccessChecks | ( | ) | [inline] |
Definition at line 75 of file RAIIObjectsForParser.h.
References done().
void clang::SuppressAccessChecks::done | ( | ) | [inline] |
Definition at line 62 of file RAIIObjectsForParser.h.
References clang::Sema::PopParsingDeclaration().
Referenced by ~SuppressAccessChecks().
void clang::SuppressAccessChecks::redelay | ( | ) | [inline] |
Definition at line 68 of file RAIIObjectsForParser.h.
References clang::sema::DelayedDiagnosticPool::pool_empty(), and clang::Sema::redelayDiagnostics().