clang  6.0.0svn
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...
 
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 4683 of file Sema.h.

Constructor & Destructor Documentation

◆ ImplicitExceptionSpecification()

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

Definition at line 4702 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 Sema::ImplicitExceptionSpecification::CalledExpr ( Expr E)

Integrate an invoked expression into the collected data.

Definition at line 222 of file SemaDeclCXX.cpp.

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

◆ data()

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

The set of exceptions in the exception specification.

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

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

References clang::EST_ComputedNoexcept.

◆ size()

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

The number of exceptions in the exception specification.

Definition at line 4716 of file Sema.h.


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