clang 8.0.0

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 QualType * | data () 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 4751 of file Sema.h.

## Constructor & Destructor Documentation

## ◆ ImplicitExceptionSpecification()

clang::Sema::ImplicitExceptionSpecification::ImplicitExceptionSpecification | ( | Sema & | Self | ) |
| inline explicit

Definition at line 4770 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
| ) |  |

Integrate another called method into the collected data.

Definition at line 152 of file SemaDeclCXX.cpp.

References clang::EST_BasicNoexcept, clang::EST_DependentNoexcept, clang::EST_Dynamic, clang::EST_DynamicNone, clang::EST_MSAny, clang::EST_NoexceptFalse, clang::EST_NoexceptTrue, clang::EST_None, clang::EST_Unevaluated, clang::EST_Uninstantiated, clang::EST_Unparsed, clang::FunctionProtoType::exceptions(), clang::Type::getAs(), clang::FunctionProtoType::getExceptionSpecType(), clang::ValueDecl::getType(), and clang::Decl::hasAttr().

## ◆ CalledExpr()

void Sema::ImplicitExceptionSpecification::CalledExpr | ( | Expr * | E | ) |

Integrate an invoked expression into the collected data.

Definition at line 219 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 4787 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 4797 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(), 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 4777 of file Sema.h.

References clang::isComputedNoexcept().

## ◆ size()

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

The number of exceptions in the exception specification.

Definition at line 4784 of file Sema.h.

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

- include/clang/Sema/Sema.h
- lib/Sema/SemaDeclCXX.cpp