|
clang
3.8.0
|
#include "clang/AST/DeclBase.h"#include "clang/AST/ASTContext.h"#include "clang/AST/ASTMutationListener.h"#include "clang/AST/Attr.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/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/StmtCXX.h"#include "clang/AST/Type.h"#include "clang/Basic/TargetInfo.h"#include "llvm/ADT/DenseMap.h"#include "llvm/Support/raw_ostream.h"#include <algorithm>#include "clang/AST/DeclNodes.inc"Go to the source code of this file.
Macros | |
| #define | DECL(DERIVED, BASE) static int n##DERIVED##s = 0; |
| #define | ABSTRACT_DECL(DECL) |
| #define | DECL(DERIVED, BASE) |
| #define | ABSTRACT_DECL(DECL) |
| #define | DECL(DERIVED, BASE) case DERIVED: return #DERIVED; |
| #define | ABSTRACT_DECL(DECL) |
| #define | DECL(DERIVED, BASE) case Decl::DERIVED: return #DERIVED; |
| #define | ABSTRACT_DECL(DECL) |
| #define | DECL(DERIVED, BASE) totalDecls += n##DERIVED##s; |
| #define | ABSTRACT_DECL(DECL) |
| #define | DECL(DERIVED, BASE) |
| #define | ABSTRACT_DECL(DECL) |
| #define | DECL(DERIVED, BASE) case DERIVED: ++n##DERIVED##s; break; |
| #define | ABSTRACT_DECL(DECL) |
| #define | DECL(NAME, BASE) |
| #define | DECL_CONTEXT(NAME) |
| #define | DECL_CONTEXT_BASE(NAME) |
| #define | DECL(NAME, BASE) |
| #define | DECL_CONTEXT_BASE(NAME) |
| #define | DECL(NAME, BASE) |
| #define | DECL_CONTEXT(NAME) |
| #define | DECL_CONTEXT_BASE(NAME) |
| #define | DECL(NAME, BASE) |
| #define | DECL_CONTEXT_BASE(NAME) |
| #define | DECL(NAME, BASE) |
| #define | DECL_CONTEXT(NAME) case Decl::NAME: |
| #define | DECL_CONTEXT_BASE(NAME) |
| #define | DECL(NAME, BASE) |
| #define | DECL_CONTEXT_BASE(NAME) |
Functions | |
| static AvailabilityResult | CheckAvailability (ASTContext &Context, const AvailabilityAttr *A, std::string *Message) |
| Determine the availability of the given declaration based on the target platform. More... | |
| 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.). More... | |
| static bool | isLinkageSpecContext (const DeclContext *DC, LinkageSpecDecl::LanguageIDs ID) |
| static bool | shouldBeHidden (NamedDecl *D) |
| shouldBeHidden - Determine whether a declaration which was declared within its semantic context should be invisible to qualified name lookup. More... | |
| #define ABSTRACT_DECL | ( | DECL | ) |
Definition at line 52 of file DeclBase.cpp.
| #define ABSTRACT_DECL | ( | DECL | ) |
Definition at line 52 of file DeclBase.cpp.
| #define ABSTRACT_DECL | ( | DECL | ) |
Definition at line 52 of file DeclBase.cpp.
| #define ABSTRACT_DECL | ( | DECL | ) |
Definition at line 52 of file DeclBase.cpp.
| #define ABSTRACT_DECL | ( | DECL | ) |
Definition at line 52 of file DeclBase.cpp.
| #define ABSTRACT_DECL | ( | DECL | ) |
Definition at line 52 of file DeclBase.cpp.
| #define ABSTRACT_DECL | ( | DECL | ) |
Definition at line 52 of file DeclBase.cpp.
| #define DECL | ( | DERIVED, | |
| BASE | |||
| ) | static int n##DERIVED##s = 0; |
Definition at line 48 of file DeclBase.cpp.
| #define DECL | ( | DERIVED, | |
| BASE | |||
| ) |
Definition at line 48 of file DeclBase.cpp.
| #define DECL | ( | DERIVED, | |
| BASE | |||
| ) | case DERIVED: return #DERIVED; |
Definition at line 48 of file DeclBase.cpp.
| #define DECL | ( | DERIVED, | |
| BASE | |||
| ) | case Decl::DERIVED: return #DERIVED; |
Definition at line 48 of file DeclBase.cpp.
| #define DECL | ( | DERIVED, | |
| BASE | |||
| ) | totalDecls += n##DERIVED##s; |
Definition at line 48 of file DeclBase.cpp.
| #define DECL | ( | DERIVED, | |
| BASE | |||
| ) |
Definition at line 48 of file DeclBase.cpp.
| #define DECL | ( | DERIVED, | |
| BASE | |||
| ) | case DERIVED: ++n##DERIVED##s; break; |
Definition at line 48 of file DeclBase.cpp.
| #define DECL | ( | NAME, | |
| BASE | |||
| ) |
Definition at line 48 of file DeclBase.cpp.
| #define DECL | ( | NAME, | |
| BASE | |||
| ) |
Definition at line 48 of file DeclBase.cpp.
| #define DECL | ( | NAME, | |
| BASE | |||
| ) |
Definition at line 48 of file DeclBase.cpp.
| #define DECL | ( | NAME, | |
| BASE | |||
| ) |
Definition at line 48 of file DeclBase.cpp.
| #define DECL | ( | NAME, | |
| BASE | |||
| ) |
Definition at line 48 of file DeclBase.cpp.
| #define DECL | ( | NAME, | |
| BASE | |||
| ) |
Definition at line 48 of file DeclBase.cpp.
| #define DECL_CONTEXT | ( | NAME | ) |
| #define DECL_CONTEXT | ( | NAME | ) |
| #define DECL_CONTEXT | ( | NAME | ) | case Decl::NAME: |
| #define DECL_CONTEXT_BASE | ( | NAME | ) |
| #define DECL_CONTEXT_BASE | ( | NAME | ) |
| #define DECL_CONTEXT_BASE | ( | NAME | ) |
| #define DECL_CONTEXT_BASE | ( | NAME | ) |
| #define DECL_CONTEXT_BASE | ( | NAME | ) |
| #define DECL_CONTEXT_BASE | ( | 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 374 of file DeclBase.cpp.
References clang::AR_Available, clang::AR_Deprecated, clang::AR_NotYetIntroduced, clang::AR_Unavailable, clang::VersionTuple::empty(), clang::ASTContext::getLangOpts(), clang::TargetInfo::getPlatformMinVersion(), clang::TargetInfo::getPlatformName(), clang::ASTContext::getTargetInfo(), and clang::VersionTuple::UseDotAsSeparator().
Referenced by clang::Decl::getAvailability(), and clang::Decl::isWeakImported().
|
static |
Definition at line 772 of file DeclBase.cpp.
References clang::Decl::getKind().
Referenced by clang::Type::canHaveNullability(), CheckNonTypeTemplatePartialSpecializationArgs(), clang::CodeGen::CGOpenCLRuntime::convertOpenCLSpecificType(), clang::CodeGen::CodeGenTypes::ConvertType(), clang::Sema::DeduceAutoType(), clang::ento::CoreEngine::enqueueStmtNode(), clang::CodeCompleteConsumer::OverloadCandidate::getFunction(), getNonClosureContext(), hasPackExpansionBeforeEnd(), clang::TemplateSpecializationTypeLoc::initializeArgLocs(), clang::Declarator::isCtorOrDtor(), IsStructurallyEquivalent(), clang::ast_matchers::dynamic::internal::makeMatcherAutoMarshall(), MatchTwoAttributeLists(), clang::CodeGen::EHScopeStack::iterator::operator++(), PrintFloatingLiteral(), clang::ento::PathDiagnosticPiece::Profile(), clang::TemplateSpecializationType(), and clang::ast_matchers::dynamic::internal::variadicMatcherDescriptor().
|
static |
Definition at line 773 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 795 of file DeclBase.cpp.
References getKind(), clang::FunctionDecl::getOverloadedOperator(), clang::DeclContext::getParent(), clang::CXXMethodDecl::getParent(), and clang::CXXRecordDecl::isLambda().
Referenced by clang::DeclContext::getNonClosureAncestor(), and clang::Decl::getNonClosureContext().
|
static |
Definition at line 925 of file DeclBase.cpp.
References 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 1275 of file DeclBase.cpp.
References clang::NamedDecl::getDeclName(), clang::Decl::getIdentifierNamespace(), and clang::Decl::isTemplateParameter().
1.8.6