clang 8.0.0

Public Member Functions | Public Attributes | List of all members
clang::FunctionProtoType::ExceptionSpecInfo Struct Reference

Holds information about the various types of exception specification. More...

`#include "clang/AST/Type.h"`

Collaboration diagram for clang::FunctionProtoType::ExceptionSpecInfo:
[legend]

## Public Member Functions
| ExceptionSpecInfo ()=default
| ExceptionSpecInfo (ExceptionSpecificationType EST)

## Public Attributes
ExceptionSpecificationType | Type = EST_None
| The kind of exception specification this is. More...
ArrayRef< QualType > | Exceptions
| Explicitly-specified list of exception types. More...
Expr * | NoexceptExpr = nullptr
| Noexcept expression, if this is a computed noexcept specification. More...
FunctionDecl * | SourceDecl = nullptr
| The function whose exception specification this is, for EST_Unevaluated and EST_Uninstantiated. More...
FunctionDecl * | SourceTemplate = nullptr
| The function template whose exception specification this is instantiated from, for EST_Uninstantiated. More...

## Detailed Description

Holds information about the various types of exception specification.

ExceptionSpecInfo is not stored as such in FunctionProtoType but is used to group together the various bits of information about the exception specification.

Definition at line 3741 of file Type.h.

## Constructor & Destructor Documentation

## ◆ ExceptionSpecInfo() [1/2]

clang::FunctionProtoType::ExceptionSpecInfo::ExceptionSpecInfo | ( |  | ) |
| default

## ◆ ExceptionSpecInfo() [2/2]

clang::FunctionProtoType::ExceptionSpecInfo::ExceptionSpecInfo | ( | ExceptionSpecificationType | EST | ) |
| inline

Definition at line 3761 of file Type.h.

## Member Data Documentation

## ◆ Exceptions

ArrayRef<QualType> clang::FunctionProtoType::ExceptionSpecInfo::Exceptions

Explicitly-specified list of exception types.

Definition at line 3746 of file Type.h.

Referenced by clang::Sema::checkExceptionSpecification(), clang::Sema::ImplicitExceptionSpecification::getExceptionSpec(), clang::FunctionProtoType::getExtProtoInfo(), isCanonicalExceptionSpecification(), clang::FunctionProtoType::isTemplateVariadic(), mergeExceptionSpecs(), clang::QualType::substObjCTypeArgs(), clang::TreeTransform< Derived >::TransformExceptionSpec(), and clang::ASTNodeImporter::VisitFunctionProtoType().

## ◆ NoexceptExpr

Expr* clang::FunctionProtoType::ExceptionSpecInfo::NoexceptExpr = nullptr

Noexcept expression, if this is a computed noexcept specification.

Definition at line 3749 of file Type.h.

Referenced by clang::Sema::ImplicitExceptionSpecification::getExceptionSpec(), clang::FunctionProtoType::getExtProtoInfo(), clang::FunctionProtoType::isTemplateVariadic(), clang::TreeTransform< Derived >::TransformExceptionSpec(), and clang::ASTNodeImporter::VisitFunctionProtoType().

## ◆ SourceDecl

FunctionDecl* clang::FunctionProtoType::ExceptionSpecInfo::SourceDecl = nullptr

The function whose exception specification this is, for EST_Unevaluated and EST_Uninstantiated.

Definition at line 3753 of file Type.h.

Referenced by clang::Sema::AdjustDestructorExceptionSpec(), clang::FunctionProtoType::getExtProtoInfo(), getImplicitMethodEPI(), clang::TemplateDeclInstantiator::InitFunctionInstantiation(), clang::FunctionProtoType::isTemplateVariadic(), and clang::ASTNodeImporter::VisitFunctionProtoType().

## ◆ SourceTemplate

FunctionDecl* clang::FunctionProtoType::ExceptionSpecInfo::SourceTemplate = nullptr

The function template whose exception specification this is instantiated from, for EST_Uninstantiated.

Definition at line 3757 of file Type.h.

Referenced by clang::FunctionProtoType::getExtProtoInfo(), clang::TemplateDeclInstantiator::InitFunctionInstantiation(), and clang::ASTNodeImporter::VisitFunctionProtoType().

## ◆ Type

ExceptionSpecificationType clang::FunctionProtoType::ExceptionSpecInfo::Type = EST_None

The kind of exception specification this is.

Definition at line 3743 of file Type.h.

Referenced by clang::Sema::AdjustDestructorExceptionSpec(), clang::Sema::checkExceptionSpecification(), clang::ASTContext::GetBuiltinType(), clang::Sema::ImplicitExceptionSpecification::getExceptionSpec(), clang::FunctionProtoType::getExtProtoInfo(), getImplicitMethodEPI(), clang::TemplateDeclInstantiator::InitFunctionInstantiation(), isCanonicalExceptionSpecification(), clang::FunctionProtoType::isTemplateVariadic(), mergeExceptionSpecs(), clang::Sema::SubstExceptionSpec(), clang::QualType::substObjCTypeArgs(), clang::TreeTransform< Derived >::TransformExceptionSpec(), clang::Sema::UpdateExceptionSpec(), and clang::ASTNodeImporter::VisitFunctionProtoType().

The documentation for this struct was generated from the following file:

- include/clang/AST/Type.h