clang 22.0.0git
|
Holds information about the various types of exception specification. More...
#include "clang/AST/TypeBase.h"
Public Member Functions | |
ExceptionSpecInfo ()=default | |
ExceptionSpecInfo (ExceptionSpecificationType EST) | |
void | instantiate () |
Public Attributes | |
ExceptionSpecificationType | Type = EST_None |
The kind of exception specification this is. | |
ArrayRef< QualType > | Exceptions |
Explicitly-specified list of exception types. | |
Expr * | NoexceptExpr = nullptr |
Noexcept expression, if this is a computed noexcept specification. | |
FunctionDecl * | SourceDecl = nullptr |
The function whose exception specification this is, for EST_Unevaluated and EST_Uninstantiated. | |
FunctionDecl * | SourceTemplate = nullptr |
The function template whose exception specification this is instantiated from, for EST_Uninstantiated. |
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 5321 of file TypeBase.h.
|
default |
|
inline |
Definition at line 5341 of file TypeBase.h.
References Type.
void FunctionProtoType::ExceptionSpecInfo::instantiate | ( | ) |
Definition at line 3647 of file Type.cpp.
References clang::cast(), clang::EST_DependentNoexcept, clang::EST_Uninstantiated, NoexceptExpr, SourceTemplate, and Type.
Explicitly-specified list of exception types.
Definition at line 5326 of file TypeBase.h.
Referenced by clang::Sema::checkExceptionSpecification(), clang::Sema::DeclareGlobalAllocationFunction(), clang::Sema::ImplicitExceptionSpecification::getExceptionSpec(), isCanonicalExceptionSpecification(), clang::ASTContext::mergeExceptionSpecs(), clang::serialization::DataStreamBasicReader< Impl >::readExceptionSpecInfo(), clang::TreeTransform< Derived >::TransformExceptionSpec(), clang::JSONNodeDumper::VisitFunctionProtoType(), and clang::serialization::DataStreamBasicWriter< Impl >::writeExceptionSpecInfo().
Noexcept expression, if this is a computed noexcept specification.
Definition at line 5329 of file TypeBase.h.
Referenced by clang::Sema::checkExceptionSpecification(), clang::Sema::ImplicitExceptionSpecification::getExceptionSpec(), instantiate(), clang::serialization::DataStreamBasicReader< Impl >::readExceptionSpecInfo(), clang::TreeTransform< Derived >::TransformExceptionSpec(), clang::ASTNodeImporter::VisitFunctionDecl(), and clang::serialization::DataStreamBasicWriter< Impl >::writeExceptionSpecInfo().
FunctionDecl* clang::FunctionProtoType::ExceptionSpecInfo::SourceDecl = nullptr |
The function whose exception specification this is, for EST_Unevaluated and EST_Uninstantiated.
Definition at line 5333 of file TypeBase.h.
Referenced by clang::Sema::AdjustDestructorExceptionSpec(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), getImplicitMethodEPI(), clang::TemplateDeclInstantiator::InitFunctionInstantiation(), clang::serialization::DataStreamBasicReader< Impl >::readExceptionSpecInfo(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::TextNodeDumper::VisitFunctionDecl(), and clang::serialization::DataStreamBasicWriter< Impl >::writeExceptionSpecInfo().
FunctionDecl* clang::FunctionProtoType::ExceptionSpecInfo::SourceTemplate = nullptr |
The function template whose exception specification this is instantiated from, for EST_Uninstantiated.
Definition at line 5337 of file TypeBase.h.
Referenced by clang::TemplateDeclInstantiator::InitFunctionInstantiation(), instantiate(), clang::serialization::DataStreamBasicReader< Impl >::readExceptionSpecInfo(), clang::TreeTransform< Derived >::TransformExceptionSpec(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::TextNodeDumper::VisitFunctionDecl(), and clang::serialization::DataStreamBasicWriter< Impl >::writeExceptionSpecInfo().
ExceptionSpecificationType clang::FunctionProtoType::ExceptionSpecInfo::Type = EST_None |
The kind of exception specification this is.
Definition at line 5323 of file TypeBase.h.
Referenced by addFunctionPointerConversion(), clang::Sema::AdjustDestructorExceptionSpec(), clang::Sema::CheckEquivalentExceptionSpec(), clang::Sema::checkExceptionSpecification(), clang::Sema::CheckExplicitlyDefaultedComparison(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), clang::Sema::DeclareGlobalAllocationFunction(), ExceptionSpecInfo(), clang::Sema::findInheritingConstructor(), clang::ASTContext::GetBuiltinType(), clang::Sema::ImplicitExceptionSpecification::getExceptionSpec(), getImplicitMethodEPI(), clang::TemplateDeclInstantiator::InitFunctionInstantiation(), instantiate(), isCanonicalExceptionSpecification(), clang::ASTContext::mergeExceptionSpecs(), clang::serialization::DataStreamBasicReader< Impl >::readExceptionSpecInfo(), clang::Sema::SubstExceptionSpec(), clang::TreeTransform< Derived >::TransformExceptionSpec(), clang::Sema::UpdateExceptionSpec(), clang::TextNodeDumper::VisitFunctionDecl(), clang::JSONNodeDumper::VisitFunctionProtoType(), and clang::serialization::DataStreamBasicWriter< Impl >::writeExceptionSpecInfo().