clang 17.0.0git
Public Member Functions | List of all members
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 6288 of file Sema.h.

Constructor & Destructor Documentation

◆ ImplicitExceptionSpecification()

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

Definition at line 6307 of file Sema.h.

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

Member Function Documentation

◆ CalledDecl()

void Sema::ImplicitExceptionSpecification::CalledDecl ( SourceLocation  CallLoc,
const CXXMethodDecl Method 
)

◆ CalledExpr()

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

Integrate an invoked expression into the collected data.

Definition at line 6330 of file Sema.h.

References CalledStmt().

◆ CalledStmt()

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

Integrate an invoked statement into the collected data.

Definition at line 243 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 6324 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 6337 of file Sema.h.

References clang::Sema::ActOnCXXBoolLiteral(), clang::EST_Dynamic, clang::EST_NoexceptFalse, clang::EST_None, clang::FunctionProtoType::ExceptionSpecInfo::Exceptions, clang::ActionResult< PtrTy, CompressInvalid >::get(), 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 6314 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 6321 of file Sema.h.


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