clang  14.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. More...
 
unsigned size () const
 The number of exceptions in the exception specification. More...
 
const QualTypedata () const
 The set of exceptions in the exception specification. More...
 
void CalledDecl (SourceLocation CallLoc, const CXXMethodDecl *Method)
 Integrate another called method into the collected data. More...
 
void CalledExpr (Expr *E)
 Integrate an invoked expression into the collected data. More...
 
void CalledStmt (Stmt *S)
 Integrate an invoked statement into the collected data. More...
 
FunctionProtoType::ExceptionSpecInfo getExceptionSpec () const
 Overwrite an EPI's exception specification with this computed exception specification. More...
 

Detailed Description

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

Definition at line 5877 of file Sema.h.

Constructor & Destructor Documentation

◆ ImplicitExceptionSpecification()

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

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

References CalledStmt().

◆ CalledStmt()

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

Integrate an invoked statement into the collected data.

Definition at line 228 of file SemaDeclCXX.cpp.

Referenced by CalledExpr().

◆ data()

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

The set of exceptions in the exception specification.

Definition at line 5913 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 5926 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 5903 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 5910 of file Sema.h.


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