clang 20.0.0git
|
Holds information about the various types of exception specification. More...
#include "clang/AST/Type.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.
|
default |
|
inline |
void FunctionProtoType::ExceptionSpecInfo::instantiate | ( | ) |
Definition at line 3525 of file Type.cpp.
References clang::EST_DependentNoexcept, clang::EST_Uninstantiated, clang::ValueDecl::getType(), NoexceptExpr, and SourceTemplate.
Explicitly-specified list of exception types.
Definition at line 5064 of file Type.h.
Referenced by clang::Sema::CheckEquivalentExceptionSpec(), clang::Sema::checkExceptionSpecification(), clang::Sema::DeclareGlobalAllocationFunction(), clang::Sema::ImplicitExceptionSpecification::getExceptionSpec(), isCanonicalExceptionSpecification(), clang::ASTContext::mergeExceptionSpecs(), clang::serialization::DataStreamBasicReader< Impl >::readExceptionSpecInfo(), clang::TreeTransform< Derived >::TransformExceptionSpec(), and clang::serialization::DataStreamBasicWriter< Impl >::writeExceptionSpecInfo().
Expr* clang::FunctionProtoType::ExceptionSpecInfo::NoexceptExpr = nullptr |
Noexcept expression, if this is a computed noexcept specification.
Definition at line 5067 of file Type.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 5071 of file Type.h.
Referenced by clang::Sema::AdjustDestructorExceptionSpec(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), getImplicitMethodEPI(), clang::TemplateDeclInstantiator::InitFunctionInstantiation(), clang::serialization::DataStreamBasicReader< Impl >::readExceptionSpecInfo(), clang::TextNodeDumper::VisitFunctionDecl(), clang::ASTNodeImporter::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 5075 of file Type.h.
Referenced by clang::TemplateDeclInstantiator::InitFunctionInstantiation(), instantiate(), clang::serialization::DataStreamBasicReader< Impl >::readExceptionSpecInfo(), clang::TreeTransform< Derived >::TransformExceptionSpec(), clang::TextNodeDumper::VisitFunctionDecl(), clang::ASTNodeImporter::VisitFunctionDecl(), and clang::serialization::DataStreamBasicWriter< Impl >::writeExceptionSpecInfo().
ExceptionSpecificationType clang::FunctionProtoType::ExceptionSpecInfo::Type = EST_None |
The kind of exception specification this is.
Definition at line 5061 of file Type.h.
Referenced by addFunctionPointerConversion(), clang::Sema::AdjustDestructorExceptionSpec(), clang::Sema::checkExceptionSpecification(), clang::Sema::CheckExplicitlyDefaultedComparison(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), clang::Sema::DeclareGlobalAllocationFunction(), clang::Sema::findInheritingConstructor(), clang::ASTContext::GetBuiltinType(), clang::Sema::ImplicitExceptionSpecification::getExceptionSpec(), getImplicitMethodEPI(), clang::TemplateDeclInstantiator::InitFunctionInstantiation(), isCanonicalExceptionSpecification(), clang::ASTContext::mergeExceptionSpecs(), clang::serialization::DataStreamBasicReader< Impl >::readExceptionSpecInfo(), clang::FunctionProtoType::ExtProtoInfo::requiresFunctionProtoTypeExtraBitfields(), clang::Sema::SubstExceptionSpec(), clang::TreeTransform< Derived >::TransformExceptionSpec(), clang::Sema::UpdateExceptionSpec(), clang::TextNodeDumper::VisitFunctionDecl(), and clang::serialization::DataStreamBasicWriter< Impl >::writeExceptionSpecInfo().