13#ifndef LLVM_CLANG_LIB_SERIALIZATION_ASTCOMMON_H
14#define LLVM_CLANG_LIB_SERIALIZATION_ASTCOMMON_H
77 if (
auto *FD = dyn_cast<FriendDecl>(LexicalD))
78 LexicalD = FD->getFriendDecl();
80 auto *ND = dyn_cast_or_null<NamedDecl>(LexicalD);
98 if (
auto *VD = dyn_cast<VarDecl>(D))
Defines the clang::ASTContext interface.
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified.
This class is used for builtin types like 'int'.
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...
decl_range decls() const
decls_begin/decls_end - Iterate over the declarations stored in this context.
Decl - This represents one declaration (or definition), e.g.
This represents a decl that may have a name.
Smart pointer class that efficiently represents Objective-C method names.
bool isRedeclarableDeclKind(unsigned Kind)
Determine whether the given declaration kind is redeclarable.
TypeIdx TypeIdxFromBuiltin(const BuiltinType *BT)
bool needsAnonymousDeclarationNumber(const NamedDecl *D)
Determine whether the given declaration needs an anonymous declaration number.
void numberAnonymousDeclsWithin(const DeclContext *DC, Fn Visit)
Visit each declaration within DC that needs an anonymous declaration number and call Visit with the d...
const DeclContext * getDefinitiveDeclContext(const DeclContext *DC)
Retrieve the "definitive" declaration that provides all of the visible entries for the given declarat...
unsigned ComputeHash(Selector Sel)
bool isPartOfPerModuleInitializer(const Decl *D)
Determine whether the given declaration will be included in the per-module initializer if it needs to...
@ DeclMarkedOpenMPThreadPrivate
@ CXXInstantiatedClassDefinition
@ CXXResolvedExceptionSpec
@ CXXInstantiatedDefaultArgument
@ CXXInstantiatedDefaultMemberInitializer
@ CXXAddedAnonymousNamespace
@ CXXAddedFunctionDefinition
@ CXXPointOfInstantiation
@ DeclMarkedOpenMPDeclareTarget
@ DeclMarkedOpenMPAllocate
The JSON file list parser is used to communicate input to InstallAPI.
bool isa(CodeGen::Address addr)
bool isTemplateInstantiation(TemplateSpecializationKind Kind)
Determine whether this template specialization kind refers to an instantiation of an entity (as oppos...