enum DeclCode

Description

Record codes for each kind of declaration. These constants describe the declaration records that can occur within a declarations block (identified by DECLTYPES_BLOCK_ID). Each constant describes a record for a specific declaration class in the AST. Note that TypeCode values share this code space.

Declared at: clang/include/clang/Serialization/ASTBitCodes.h:1236

Enumerators

NameValueComment
DECL_TYPEDEF51A TypedefDecl record.
DECL_TYPEALIAS52A TypeAliasDecl record.
DECL_ENUM53An EnumDecl record.
DECL_RECORD54A RecordDecl record.
DECL_ENUM_CONSTANT55An EnumConstantDecl record.
DECL_FUNCTION56A FunctionDecl record.
DECL_OBJC_METHOD57A ObjCMethodDecl record.
DECL_OBJC_INTERFACE58A ObjCInterfaceDecl record.
DECL_OBJC_PROTOCOL59A ObjCProtocolDecl record.
DECL_OBJC_IVAR60A ObjCIvarDecl record.
DECL_OBJC_AT_DEFS_FIELD61A ObjCAtDefsFieldDecl record.
DECL_OBJC_CATEGORY62A ObjCCategoryDecl record.
DECL_OBJC_CATEGORY_IMPL63A ObjCCategoryImplDecl record.
DECL_OBJC_IMPLEMENTATION64A ObjCImplementationDecl record.
DECL_OBJC_COMPATIBLE_ALIAS65A ObjCCompatibleAliasDecl record.
DECL_OBJC_PROPERTY66A ObjCPropertyDecl record.
DECL_OBJC_PROPERTY_IMPL67A ObjCPropertyImplDecl record.
DECL_FIELD68A FieldDecl record.
DECL_MS_PROPERTY69A MSPropertyDecl record.
DECL_MS_GUID70A MSGuidDecl record.
DECL_TEMPLATE_PARAM_OBJECT71A TemplateParamObjectDecl record.
DECL_VAR72A VarDecl record.
DECL_IMPLICIT_PARAM73An ImplicitParamDecl record.
DECL_PARM_VAR74A ParmVarDecl record.
DECL_DECOMPOSITION75A DecompositionDecl record.
DECL_BINDING76A BindingDecl record.
DECL_FILE_SCOPE_ASM77A FileScopeAsmDecl record.
DECL_BLOCK78A BlockDecl record.
DECL_CAPTURED79A CapturedDecl record.
DECL_CONTEXT_LEXICAL80A record that stores the set of declarations that are lexically stored within a given DeclContext.The record itself is a blob that is an array of declaration IDs, in the order in which those declarations were added to the declaration context. This data is used when iterating over the contents of a DeclContext, e.g., via DeclContext::decls_begin() and DeclContext::decls_end().
DECL_CONTEXT_VISIBLE81A record that stores the set of declarations that are visible from a given DeclContext.The record itself stores a set of mappings, each of which associates a declaration name with one or more declaration IDs. This data is used when performing qualified name lookup into a DeclContext via DeclContext::lookup.
DECL_LABEL82A LabelDecl record.
DECL_NAMESPACE83A NamespaceDecl record.
DECL_NAMESPACE_ALIAS84A NamespaceAliasDecl record.
DECL_USING85A UsingDecl record.
DECL_USING_ENUM86A UsingEnumDecl record.
DECL_USING_PACK87A UsingPackDecl record.
DECL_USING_SHADOW88A UsingShadowDecl record.
DECL_CONSTRUCTOR_USING_SHADOW89A ConstructorUsingShadowDecl record.
DECL_USING_DIRECTIVE90A UsingDirecitveDecl record.
DECL_UNRESOLVED_USING_VALUE91An UnresolvedUsingValueDecl record.
DECL_UNRESOLVED_USING_TYPENAME92An UnresolvedUsingTypenameDecl record.
DECL_LINKAGE_SPEC93A LinkageSpecDecl record.
DECL_EXPORT94An ExportDecl record.
DECL_CXX_RECORD95A CXXRecordDecl record.
DECL_CXX_DEDUCTION_GUIDE96A CXXDeductionGuideDecl record.
DECL_CXX_METHOD97A CXXMethodDecl record.
DECL_CXX_CONSTRUCTOR98A CXXConstructorDecl record.
DECL_CXX_DESTRUCTOR99A CXXDestructorDecl record.
DECL_CXX_CONVERSION100A CXXConversionDecl record.
DECL_ACCESS_SPEC101An AccessSpecDecl record.
DECL_FRIEND102A FriendDecl record.
DECL_FRIEND_TEMPLATE103A FriendTemplateDecl record.
DECL_CLASS_TEMPLATE104A ClassTemplateDecl record.
DECL_CLASS_TEMPLATE_SPECIALIZATION105A ClassTemplateSpecializationDecl record.
DECL_CLASS_TEMPLATE_PARTIAL_SPECIALIZATION106A ClassTemplatePartialSpecializationDecl record.
DECL_VAR_TEMPLATE107A VarTemplateDecl record.
DECL_VAR_TEMPLATE_SPECIALIZATION108A VarTemplateSpecializationDecl record.
DECL_VAR_TEMPLATE_PARTIAL_SPECIALIZATION109A VarTemplatePartialSpecializationDecl record.
DECL_FUNCTION_TEMPLATE110A FunctionTemplateDecl record.
DECL_TEMPLATE_TYPE_PARM111A TemplateTypeParmDecl record.
DECL_NON_TYPE_TEMPLATE_PARM112A NonTypeTemplateParmDecl record.
DECL_TEMPLATE_TEMPLATE_PARM113A TemplateTemplateParmDecl record.
DECL_TYPE_ALIAS_TEMPLATE114A TypeAliasTemplateDecl record.
DECL_CONCEPT115
DECL_UNRESOLVED_USING_IF_EXISTS116An UnresolvedUsingIfExistsDecl record.
DECL_STATIC_ASSERT117
DECL_CXX_BASE_SPECIFIERS118A record containing CXXBaseSpecifiers.
DECL_CXX_CTOR_INITIALIZERS119A record containing CXXCtorInitializers.
DECL_INDIRECTFIELD120A IndirectFieldDecl record.
DECL_EXPANDED_NON_TYPE_TEMPLATE_PARM_PACK121A NonTypeTemplateParmDecl record that stores an expanded non-type template parameter pack.
DECL_EXPANDED_TEMPLATE_TEMPLATE_PARM_PACK122A TemplateTemplateParmDecl record that stores an expanded template template parameter pack.
DECL_CLASS_SCOPE_FUNCTION_SPECIALIZATION123A ClassScopeFunctionSpecializationDecl record a class scope function specialization. (Microsoft extension).
DECL_IMPORT124An ImportDecl recording a module import.
DECL_OMP_THREADPRIVATE125An OMPThreadPrivateDecl record.
DECL_OMP_REQUIRES126An OMPRequiresDecl record.
DECL_OMP_ALLOCATE127An OMPAllocateDcl record.
DECL_EMPTY128An EmptyDecl record.
DECL_LIFETIME_EXTENDED_TEMPORARY129An LifetimeExtendedTemporaryDecl record.
DECL_REQUIRES_EXPR_BODY130A RequiresExprBodyDecl record.
DECL_OBJC_TYPE_PARAM131An ObjCTypeParamDecl record.
DECL_OMP_CAPTUREDEXPR132An OMPCapturedExprDecl record.
DECL_PRAGMA_COMMENT133A PragmaCommentDecl record.
DECL_PRAGMA_DETECT_MISMATCH134A PragmaDetectMismatchDecl record.
DECL_OMP_DECLARE_MAPPER135An OMPDeclareMapperDecl record.
DECL_OMP_DECLARE_REDUCTION136An OMPDeclareReductionDecl record.
DECL_UNNAMED_GLOBAL_CONSTANT137A UnnamedGlobalConstantDecl record.
DECL_LAST137A UnnamedGlobalConstantDecl record.