| clang 22.0.0git
    | 
#include "clang/AST/DeclBase.h"#include "clang/AST/ASTContext.h"#include "clang/AST/ASTLambda.h"#include "clang/AST/ASTMutationListener.h"#include "clang/AST/Attr.h"#include "clang/AST/AttrIterator.h"#include "clang/AST/Decl.h"#include "clang/AST/DeclCXX.h"#include "clang/AST/DeclContextInternals.h"#include "clang/AST/DeclFriend.h"#include "clang/AST/DeclObjC.h"#include "clang/AST/DeclOpenACC.h"#include "clang/AST/DeclOpenMP.h"#include "clang/AST/DeclTemplate.h"#include "clang/AST/DependentDiagnostic.h"#include "clang/AST/ExternalASTSource.h"#include "clang/AST/Stmt.h"#include "clang/AST/Type.h"#include "clang/Basic/IdentifierTable.h"#include "clang/Basic/LLVM.h"#include "clang/Basic/Module.h"#include "clang/Basic/ObjCRuntime.h"#include "clang/Basic/PartialDiagnostic.h"#include "clang/Basic/SourceLocation.h"#include "clang/Basic/TargetInfo.h"#include "llvm/ADT/PointerIntPair.h"#include "llvm/ADT/StringRef.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/MathExtras.h"#include "llvm/Support/VersionTuple.h"#include "llvm/Support/raw_ostream.h"#include <algorithm>#include <cassert>#include <cstddef>#include <string>#include <tuple>#include <utility>#include "clang/AST/DeclNodes.inc"Go to the source code of this file.
| Macros | |
| #define | DECL(DERIVED, BASE) | 
| #define | ABSTRACT_DECL(DECL) | 
| #define | DECL(DERIVED, BASE) | 
| #define | ABSTRACT_DECL(DECL) | 
| #define | DECL(DERIVED, BASE) | 
| #define | ABSTRACT_DECL(DECL) | 
| #define | DECL(DERIVED, BASE) | 
| #define | ABSTRACT_DECL(DECL) | 
| #define | DECL(DERIVED, BASE) | 
| #define | ABSTRACT_DECL(DECL) | 
| #define | DECL(DERIVED, BASE) | 
| #define | ABSTRACT_DECL(DECL) | 
| #define | DECL(DERIVED, BASE) | 
| #define | ABSTRACT_DECL(DECL) | 
| #define | DECL(DERIVED, BASE) | 
| #define | ABSTRACT_DECL(DECL) | 
| #define | DECL(NAME, BASE) | 
| #define | DECL_CONTEXT(NAME) | 
| #define | DECL(NAME, BASE) | 
| #define | DECL_CONTEXT(NAME) | 
| #define | DECL(NAME, BASE) | 
| #define | DECL_CONTEXT(NAME) | 
| Functions | |
| static StringRef | getRealizedPlatform (const AvailabilityAttr *A, const ASTContext &Context) | 
| static AvailabilityResult | CheckAvailability (ASTContext &Context, const AvailabilityAttr *A, std::string *Message, VersionTuple EnclosingVersion) | 
| Determine the availability of the given declaration based on the target platform. | |
| static Decl::Kind | getKind (const Decl *D) | 
| static Decl::Kind | getKind (const DeclContext *DC) | 
| template<class T> | |
| static Decl * | getNonClosureContext (T *D) | 
| Starting at a given context (a Decl or DeclContext), look for a code context that is not a closure (a lambda, block, etc.). | |
| static bool | isLinkageSpecContext (const DeclContext *DC, LinkageSpecLanguageIDs ID) | 
| template<typename T> | |
| static void | collectAllContextsImpl (T *Self, SmallVectorImpl< DeclContext * > &Contexts) | 
| static bool | shouldBeHidden (NamedDecl *D) | 
| shouldBeHidden - Determine whether a declaration which was declared within its semantic context should be invisible to qualified name lookup. | |
| #define ABSTRACT_DECL | ( | DECL | ) | 
Definition at line 58 of file DeclBase.cpp.
| #define ABSTRACT_DECL | ( | DECL | ) | 
Definition at line 58 of file DeclBase.cpp.
| #define ABSTRACT_DECL | ( | DECL | ) | 
Definition at line 58 of file DeclBase.cpp.
| #define ABSTRACT_DECL | ( | DECL | ) | 
Definition at line 58 of file DeclBase.cpp.
| #define ABSTRACT_DECL | ( | DECL | ) | 
Definition at line 58 of file DeclBase.cpp.
| #define ABSTRACT_DECL | ( | DECL | ) | 
Definition at line 58 of file DeclBase.cpp.
| #define ABSTRACT_DECL | ( | DECL | ) | 
Definition at line 58 of file DeclBase.cpp.
| #define ABSTRACT_DECL | ( | DECL | ) | 
Definition at line 58 of file DeclBase.cpp.
| #define DECL | ( | DERIVED, | |
| BASE ) | 
Definition at line 57 of file DeclBase.cpp.
| #define DECL | ( | DERIVED, | |
| BASE ) | 
Definition at line 57 of file DeclBase.cpp.
| #define DECL | ( | DERIVED, | |
| BASE ) | 
Definition at line 57 of file DeclBase.cpp.
| #define DECL | ( | DERIVED, | |
| BASE ) | 
Definition at line 57 of file DeclBase.cpp.
| #define DECL | ( | DERIVED, | |
| BASE ) | 
Definition at line 57 of file DeclBase.cpp.
| #define DECL | ( | DERIVED, | |
| BASE ) | 
Definition at line 57 of file DeclBase.cpp.
| #define DECL | ( | DERIVED, | |
| BASE ) | 
Definition at line 57 of file DeclBase.cpp.
| #define DECL | ( | DERIVED, | |
| BASE ) | 
Definition at line 57 of file DeclBase.cpp.
| #define DECL | ( | NAME, | |
| BASE ) | 
Definition at line 57 of file DeclBase.cpp.
| #define DECL | ( | NAME, | |
| BASE ) | 
Definition at line 57 of file DeclBase.cpp.
| #define DECL | ( | NAME, | |
| BASE ) | 
Definition at line 57 of file DeclBase.cpp.
| #define DECL_CONTEXT | ( | NAME | ) | 
| #define DECL_CONTEXT | ( | NAME | ) | 
| #define DECL_CONTEXT | ( | NAME | ) | 
| 
 | static | 
Determine the availability of the given declaration based on the target platform.
When it returns an availability result other than AR_Available, if the Message parameter is non-NULL, it will be set to a string describing why the entity is unavailable.
FIXME: Make these strings localizable, since they end up in diagnostics.
Definition at line 670 of file DeclBase.cpp.
References clang::AR_Available, clang::AR_Deprecated, clang::AR_NotYetIntroduced, clang::AR_Unavailable, clang::IdentifierInfo::getName(), and getRealizedPlatform().
Referenced by clang::Decl::getAvailability(), and clang::Decl::isWeakImported().
| 
 | static | 
Definition at line 1551 of file DeclBase.cpp.
References clang::Self, and clang::T.
Referenced by clang::DeclContext::collectAllContexts().
| 
 | static | 
Definition at line 1215 of file DeclBase.cpp.
References clang::Decl::getKind().
Referenced by clang::ParsedAttr::asSYCLLangAS(), clang::syntax::List::canBeEmpty(), CheckNonTypeTemplatePartialSpecializationArgs(), clang::CodeGen::CodeGenTypes::ConvertType(), clang::CIRGen::CIRGenTypes::convertType(), clang::Sema::DeduceAutoType(), clang::ento::Loc::dumpToStream(), clang::ento::NonLoc::dumpToStream(), clang::CodeGen::CodeGenModule::EmitVTableTypeMetadata(), clang::ento::CoreEngine::enqueueStmtNode(), EvaluateBuiltinClassifyType(), clang::PrecompiledPreamble::PCHStorage::filePath(), getCommonSugarTypeNode(), clang::syntax::List::getDelimiterTokenKind(), clang::CFGImplicitDtor::getDestructorDecl(), clang::CodeCompleteConsumer::OverloadCandidate::getFunction(), clang::ento::SVal::getKindStr(), getNonClosureContext(), clang::getSimplifiedTypeClass(), clang::syntax::List::getTerminationKind(), clang::BuiltinTypeLoc::getWrittenTypeSpec(), clang::TemplateSpecializationTypeLoc::initializeArgLocs(), clang::Declarator::isCtorOrDtor(), clang::BuiltinType::isFloatingPoint(), clang::BuiltinType::isInteger(), clang::BuiltinType::isNonOverloadPlaceholderType(), isObjCReceiverType(), clang::BuiltinType::isPlaceholderType(), clang::BuiltinType::isSignedInteger(), clang::Declarator::isStaticMember(), IsStructurallyEquivalent(), clang::BuiltinType::isSVEBool(), clang::BuiltinType::isSVECount(), clang::BuiltinType::isUnsignedInteger(), clang::PrecompiledPreamble::PCHStorage::memoryContents(), clang::CodeGen::EHScopeStack::iterator::operator++(), clang::Parser::ParseTopLevelDecl(), clang::DependentTypeOfExprType::Profile(), clang::ento::PathDiagnosticPiece::Profile(), clang::syntax::Token::Token(), usesInput(), and clang::NormalizedConstraint::~NormalizedConstraint().
| 
 | static | 
Definition at line 1216 of file DeclBase.cpp.
References clang::DeclContext::getDeclKind().
| 
 | static | 
Starting at a given context (a Decl or DeclContext), look for a code context that is not a closure (a lambda, block, etc.).
Definition at line 1269 of file DeclBase.cpp.
References clang::cast(), getKind(), getNonClosureContext(), and clang::T.
Referenced by getNonClosureContext().
| 
 | static | 
Definition at line 648 of file DeclBase.cpp.
Referenced by CheckAvailability(), and clang::Decl::getVersionIntroduced().
| 
 | static | 
Definition at line 1422 of file DeclBase.cpp.
References clang::cast(), clang::DeclContext::getDeclKind(), and clang::DeclContext::getLexicalParent().
Referenced by clang::DeclContext::isExternCContext(), and clang::DeclContext::isExternCXXContext().
shouldBeHidden - Determine whether a declaration which was declared within its semantic context should be invisible to qualified name lookup.
Definition at line 1698 of file DeclBase.cpp.
References clang::Decl::getCanonicalDecl(), clang::NamedDecl::getDeclName(), clang::Decl::getFriendObjectKind(), clang::Decl::getIdentifierNamespace(), clang::isa(), clang::Decl::isInvalidDecl(), clang::Decl::isLocalExternDecl(), and clang::Decl::isTemplateParameter().
Referenced by clang::DeclContext::removeDecl().