clang
9.0.0
|
Store information needed for an explicit specifier. More...
#include "clang/AST/DeclCXX.h"
Public Member Functions | |
ExplicitSpecifier ()=default | |
ExplicitSpecifier (Expr *Expression, ExplicitSpecKind Kind) | |
ExplicitSpecKind | getKind () const |
const Expr * | getExpr () const |
Expr * | getExpr () |
bool | isSpecified () const |
Return true if the ExplicitSpecifier isn't defaulted. More... | |
bool | isEquivalent (const ExplicitSpecifier Other) const |
Check for Equivalence of explicit specifiers. More... | |
bool | isExplicit () const |
Return true if the explicit specifier is already resolved to be explicit. More... | |
bool | isInvalid () const |
Return true if the ExplicitSpecifier isn't valid. More... | |
void | setKind (ExplicitSpecKind Kind) |
void | setExpr (Expr *E) |
Static Public Member Functions | |
static ExplicitSpecifier | getFromDecl (FunctionDecl *Function) |
static const ExplicitSpecifier | getFromDecl (const FunctionDecl *Function) |
static ExplicitSpecifier | Invalid () |
Store information needed for an explicit specifier.
used by CXXDeductionGuideDecl, CXXConstructorDecl and CXXConversionDecl.
|
default |
|
inline |
|
inline |
Definition at line 2010 of file DeclCXX.h.
Referenced by addExplicitSpecifier(), clang::CXXConstructorDecl::Create(), clang::DeclSpec::getExplicitSpecRange(), clang::CXXCtorInitializer::getSourceRange(), isEquivalent(), printExplicitSpecifier(), clang::DeclSpec::setFunctionSpecExplicit(), and clang::Sema::tryResolveExplicitSpecifier().
|
static |
Definition at line 1908 of file DeclCXX.cpp.
References clang::XRayInstrKind::Function, and clang::DeclContext::getDeclKind().
Referenced by printExplicitSpecifier(), and clang::TemplateDeclInstantiator::VisitCXXMethodDecl().
|
inlinestatic |
|
inline |
Definition at line 2009 of file DeclCXX.h.
Referenced by addExplicitSpecifier(), isEquivalent(), and clang::DeclSpec::setFunctionSpecExplicit().
|
inlinestatic |
Definition at line 2041 of file DeclCXX.h.
References clang::Unresolved.
bool ExplicitSpecifier::isEquivalent | ( | const ExplicitSpecifier | Other | ) | const |
Check for Equivalence of explicit specifiers.
Return True if the explicit specifier are equivalent false otherwise.
Definition at line 1893 of file DeclCXX.cpp.
References clang::ODRHash::AddStmt(), clang::ODRHash::CalculateHash(), getExpr(), clang::Decl::getKind(), getKind(), and clang::Unresolved.
|
inline |
Return true if the explicit specifier is already resolved to be explicit.
Definition at line 2023 of file DeclCXX.h.
References clang::ResolvedTrue.
Referenced by clang::CXXDeductionGuideDecl::isExplicit().
|
inline |
Return true if the ExplicitSpecifier isn't valid.
This state occurs after a substitution failures.
Definition at line 2028 of file DeclCXX.h.
References clang::Unresolved.
Referenced by clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), and clang::TemplateDeclInstantiator::VisitFunctionDecl().
|
inline |
Return true if the ExplicitSpecifier isn't defaulted.
Definition at line 2014 of file DeclCXX.h.
References clang::ResolvedFalse.
Referenced by clang::DeclSpec::hasExplicitSpecifier(), and printExplicitSpecifier().
|
inline |
|
inline |