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] |