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, const CXXMethodDecl *Method) |
Integrate another called method into the collected data. | |
void | CalledExpr (Expr *E) |
Integrate an invoked expression into the collected data. | |
FunctionProtoType::ExceptionSpecInfo | getExceptionSpec () const |
Overwrite an EPI's exception specification with this computed exception specification. |
Helper class that collects exception specifications for implicitly-declared special member functions.
clang::Sema::ImplicitExceptionSpecification::ImplicitExceptionSpecification | ( | Sema & | Self | ) | [inline, explicit] |
Definition at line 4018 of file Sema.h.
References clang::EST_DynamicNone, and clang::Sema::getLangOpts().
void Sema::ImplicitExceptionSpecification::CalledDecl | ( | SourceLocation | CallLoc, |
const CXXMethodDecl * | Method | ||
) |
Integrate another called method into the collected data.
Definition at line 151 of file SemaDeclCXX.cpp.
References clang::Sema::Context, clang::EST_BasicNoexcept, clang::EST_ComputedNoexcept, clang::EST_Dynamic, clang::EST_DynamicNone, clang::EST_MSAny, clang::EST_None, clang::FunctionProtoType::exceptions(), clang::Type::getAs(), 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::ComputeDefaultedCopyAssignmentExceptionSpec(), clang::Sema::ComputeDefaultedCopyCtorExceptionSpec(), clang::Sema::ComputeDefaultedDefaultCtorExceptionSpec(), clang::Sema::ComputeDefaultedDtorExceptionSpec(), clang::Sema::ComputeDefaultedMoveAssignmentExceptionSpec(), clang::Sema::ComputeDefaultedMoveCtorExceptionSpec(), and clang::Sema::ComputeInheritingCtorExceptionSpec().
void Sema::ImplicitExceptionSpecification::CalledExpr | ( | Expr * | E | ) |
Integrate an invoked expression into the collected data.
Definition at line 220 of file SemaDeclCXX.cpp.
References clang::EST_MSAny, and clang::EST_None.
Referenced by clang::Sema::ComputeDefaultedDefaultCtorExceptionSpec(), and clang::Sema::ComputeInheritingCtorExceptionSpec().
const QualType* clang::Sema::ImplicitExceptionSpecification::data | ( | ) | const [inline] |
FunctionProtoType::ExceptionSpecInfo clang::Sema::ImplicitExceptionSpecification::getExceptionSpec | ( | ) | const [inline] |
Overwrite an EPI's exception specification with this computed exception specification.
C++11 [except.spec]p14: The exception-specification is noexcept(false) if the set of potential exceptions of the special member function contains "any"
Definition at line 4045 of file Sema.h.
References clang::EST_ComputedNoexcept, clang::EST_Dynamic, clang::EST_None, clang::FunctionProtoType::ExceptionSpecInfo::Exceptions, clang::FunctionProtoType::ExceptionSpecInfo::NoexceptExpr, and clang::FunctionProtoType::ExceptionSpecInfo::Type.
Referenced by clang::Sema::EvaluateImplicitExceptionSpec().
ExceptionSpecificationType clang::Sema::ImplicitExceptionSpecification::getExceptionSpecType | ( | ) | const [inline] |
Get the computed exception specification type.
Definition at line 4025 of file Sema.h.
References clang::EST_ComputedNoexcept.
unsigned clang::Sema::ImplicitExceptionSpecification::size | ( | ) | const [inline] |