clang API Documentation
Helper class that collects exception specifications for implicitly-declared special member functions. More...
#include <Sema.h>
Public Member Functions | |
| ImplicitExceptionSpecification (Sema &Self) | |
| ExceptionSpecificationType | getExceptionSpecType () const |
| Get the computed exception specification type. | |
| unsigned | size () const |
| The number of exceptions in the exception specification. | |
| const QualType * | data () const |
| The set of exceptions in the exception specification. | |
| void | CalledDecl (SourceLocation CallLoc, CXXMethodDecl *Method) |
| Integrate another called method into the collected data. | |
| void | CalledExpr (Expr *E) |
| Integrate an invoked expression into the collected data. | |
| void | SetDelayed () |
| Specify that the exception specification can't be detemined yet. | |
| bool | isDelayed () |
| Have we been unable to compute this exception specification? | |
| void | getEPI (FunctionProtoType::ExtProtoInfo &EPI) const |
| Overwrite an EPI's exception specification with this computed exception specification. | |
| FunctionProtoType::ExtProtoInfo | getEPI () const |
Helper class that collects exception specifications for implicitly-declared special member functions.
| clang::Sema::ImplicitExceptionSpecification::ImplicitExceptionSpecification | ( | Sema & | Self | ) | [inline, explicit] |
Definition at line 3281 of file Sema.h.
References clang::Sema::Context, clang::EST_DynamicNone, and clang::ASTContext::getLangOpts().
| void Sema::ImplicitExceptionSpecification::CalledDecl | ( | SourceLocation | CallLoc, |
| CXXMethodDecl * | Method | ||
| ) |
Integrate another called method into the collected data.
Definition at line 128 of file SemaDeclCXX.cpp.
References clang::Sema::Context, clang::EST_BasicNoexcept, clang::EST_ComputedNoexcept, clang::EST_Delayed, clang::EST_Dynamic, clang::EST_DynamicNone, clang::EST_MSAny, clang::EST_None, clang::FunctionProtoType::exception_begin(), clang::FunctionProtoType::exception_end(), clang::ASTContext::getCanonicalType(), clang::FunctionProtoType::getExceptionSpecType(), clang::FunctionProtoType::getNoexceptSpec(), clang::ValueDecl::getType(), clang::FunctionProtoType::NR_Dependent, clang::FunctionProtoType::NR_NoNoexcept, clang::FunctionProtoType::NR_Throw, and clang::Sema::ResolveExceptionSpec().
Referenced by clang::Sema::ComputeDefaultedCopyAssignmentExceptionSpecAndConst(), clang::Sema::ComputeDefaultedCopyCtorExceptionSpecAndConst(), clang::Sema::ComputeDefaultedDefaultCtorExceptionSpec(), clang::Sema::ComputeDefaultedDtorExceptionSpec(), clang::Sema::ComputeDefaultedMoveAssignmentExceptionSpec(), and clang::Sema::ComputeDefaultedMoveCtorExceptionSpec().
| void Sema::ImplicitExceptionSpecification::CalledExpr | ( | Expr * | E | ) |
Integrate an invoked expression into the collected data.
Definition at line 199 of file SemaDeclCXX.cpp.
References clang::EST_Delayed, clang::EST_MSAny, and clang::EST_None.
Referenced by clang::Sema::ComputeDefaultedDefaultCtorExceptionSpec().
| const QualType* clang::Sema::ImplicitExceptionSpecification::data | ( | ) | const [inline] |
The set of exceptions in the exception specification.
Definition at line 3298 of file Sema.h.
Referenced by clang::Sema::AdjustDestructorExceptionSpec(), and getEPI().
| void clang::Sema::ImplicitExceptionSpecification::getEPI | ( | FunctionProtoType::ExtProtoInfo & | EPI | ) | const [inline] |
Overwrite an EPI's exception specification with this computed exception specification.
Definition at line 3319 of file Sema.h.
References data(), clang::FunctionProtoType::ExtProtoInfo::Exceptions, clang::FunctionProtoType::ExtProtoInfo::ExceptionSpecType, getExceptionSpecType(), clang::FunctionProtoType::ExtProtoInfo::NumExceptions, and size().
Referenced by clang::Sema::ActOnFinishDelayedMemberInitializers(), clang::Sema::DeclareImplicitCopyAssignment(), clang::Sema::DeclareImplicitCopyConstructor(), clang::Sema::DeclareImplicitDestructor(), clang::Sema::DeclareImplicitMoveAssignment(), and clang::Sema::DeclareImplicitMoveConstructor().
| FunctionProtoType::ExtProtoInfo clang::Sema::ImplicitExceptionSpecification::getEPI | ( | ) | const [inline] |
| ExceptionSpecificationType clang::Sema::ImplicitExceptionSpecification::getExceptionSpecType | ( | ) | const [inline] |
Get the computed exception specification type.
Definition at line 3288 of file Sema.h.
References clang::EST_ComputedNoexcept.
Referenced by clang::Sema::AdjustDestructorExceptionSpec(), and getEPI().
| bool clang::Sema::ImplicitExceptionSpecification::isDelayed | ( | ) | [inline] |
Have we been unable to compute this exception specification?
Definition at line 3313 of file Sema.h.
References clang::EST_Delayed.
| void clang::Sema::ImplicitExceptionSpecification::SetDelayed | ( | ) | [inline] |
Specify that the exception specification can't be detemined yet.
Definition at line 3307 of file Sema.h.
References clang::EST_Delayed.
Referenced by clang::Sema::ComputeDefaultedDefaultCtorExceptionSpec().
| unsigned clang::Sema::ImplicitExceptionSpecification::size | ( | ) | const [inline] |
The number of exceptions in the exception specification.
Definition at line 3295 of file Sema.h.
Referenced by clang::Sema::AdjustDestructorExceptionSpec(), and getEPI().