clang 24.0.0git
clang::Sema::ImplicitExceptionSpecification Class Reference

Helper class that collects exception specifications for implicitly-declared special member functions. More...

#include "clang/Sema/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.
void CalledStmt (Stmt *S)
 Integrate an invoked statement into the collected data.
FunctionProtoType::ExceptionSpecInfo getExceptionSpec () const
 Overwrite an EPI's exception specification with this computed exception specification.

Detailed Description

Helper class that collects exception specifications for implicitly-declared special member functions.

Definition at line 5588 of file Sema.h.

Constructor & Destructor Documentation

◆ ImplicitExceptionSpecification()

clang::Sema::ImplicitExceptionSpecification::ImplicitExceptionSpecification ( Sema & Self)
inlineexplicit

Definition at line 5607 of file Sema.h.

References clang::EST_BasicNoexcept, clang::EST_DynamicNone, and clang::Sema::Sema().

Member Function Documentation

◆ CalledDecl()

◆ CalledExpr()

void clang::Sema::ImplicitExceptionSpecification::CalledExpr ( Expr * E)
inline

Integrate an invoked expression into the collected data.

Definition at line 5630 of file Sema.h.

References CalledStmt().

◆ CalledStmt()

void Sema::ImplicitExceptionSpecification::CalledStmt ( Stmt * S)

Integrate an invoked statement into the collected data.

Definition at line 271 of file SemaDeclCXX.cpp.

References clang::EST_MSAny, and clang::EST_None.

Referenced by CalledExpr(), and ComputeDefaultedComparisonExceptionSpec().

◆ data()

const QualType * clang::Sema::ImplicitExceptionSpecification::data ( ) const
inline

The set of exceptions in the exception specification.

Definition at line 5624 of file Sema.h.

◆ getExceptionSpec()

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 5637 of file Sema.h.

References clang::EST_Dynamic, clang::EST_NoexceptFalse, clang::EST_None, clang::FunctionProtoType::ExceptionSpecInfo::Exceptions, getExceptionSpecType(), clang::FunctionProtoType::ExceptionSpecInfo::NoexceptExpr, and clang::FunctionProtoType::ExceptionSpecInfo::Type.

◆ getExceptionSpecType()

ExceptionSpecificationType clang::Sema::ImplicitExceptionSpecification::getExceptionSpecType ( ) const
inline

Get the computed exception specification type.

Definition at line 5614 of file Sema.h.

References clang::isComputedNoexcept().

Referenced by getExceptionSpec().

◆ size()

unsigned clang::Sema::ImplicitExceptionSpecification::size ( ) const
inline

The number of exceptions in the exception specification.

Definition at line 5621 of file Sema.h.


The documentation for this class was generated from the following files: