clang 22.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 QualTypedata () 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 5418 of file Sema.h.

Constructor & Destructor Documentation

◆ ImplicitExceptionSpecification()

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

Definition at line 5437 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 5460 of file Sema.h.

References CalledStmt().

◆ CalledStmt()

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

Integrate an invoked statement into the collected data.

Definition at line 252 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 5454 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 5467 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 5444 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 5451 of file Sema.h.


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