class SuppressAccessChecks

Declaration

class SuppressAccessChecks { /* full declaration omitted */ };

Description

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.

Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:44

Member Variables

private clang::Sema& S
private sema::DelayedDiagnosticPool DiagnosticPool
private Sema::ParsingDeclState State
private bool Active

Method Overview

Methods

SuppressAccessChecks(clang::Parser& P,
                     bool activate = true)

Description

Begin suppressing access-like checks

Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:52

Parameters

clang::Parser& P
bool activate = true

SuppressAccessChecks(
    clang::SuppressAccessChecks&& Other)

Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:61

Parameters

clang::SuppressAccessChecks&& Other

void done()

Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:68

void redelay()

Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:74

~SuppressAccessChecks()

Declared at: clang/include/clang/Parse/RAIIObjectsForParser.h:81