clang API Documentation
The constants in this group describe various components of the abstract syntax tree within an AST file.
The different kinds of data that can occur in a CtorInitializer.
CTOR_INITIALIZER_BASE | |
CTOR_INITIALIZER_DELEGATING | |
CTOR_INITIALIZER_MEMBER | |
CTOR_INITIALIZER_INDIRECT_MEMBER |
Definition at line 1398 of file ASTBitCodes.h.
Record codes for each kind of declaration.
These constants describe the declaration records that can occur within a declarations block (identified by DECLS_BLOCK_ID). Each constant describes a record for a specific declaration class in the AST.
DECL_TYPEDEF |
A TypedefDecl record. |
DECL_TYPEALIAS |
A TypeAliasDecl record. |
DECL_ENUM |
An EnumDecl record. |
DECL_RECORD |
A RecordDecl record. |
DECL_ENUM_CONSTANT |
An EnumConstantDecl record. |
DECL_FUNCTION |
A FunctionDecl record. |
DECL_OBJC_METHOD |
A ObjCMethodDecl record. |
DECL_OBJC_INTERFACE |
A ObjCInterfaceDecl record. |
DECL_OBJC_PROTOCOL |
A ObjCProtocolDecl record. |
DECL_OBJC_IVAR |
A ObjCIvarDecl record. |
DECL_OBJC_AT_DEFS_FIELD |
A ObjCAtDefsFieldDecl record. |
DECL_OBJC_CATEGORY |
A ObjCCategoryDecl record. |
DECL_OBJC_CATEGORY_IMPL |
A ObjCCategoryImplDecl record. |
DECL_OBJC_IMPLEMENTATION |
A ObjCImplementationDecl record. |
DECL_OBJC_COMPATIBLE_ALIAS |
A ObjCCompatibleAliasDecl record. |
DECL_OBJC_PROPERTY |
A ObjCPropertyDecl record. |
DECL_OBJC_PROPERTY_IMPL |
A ObjCPropertyImplDecl record. |
DECL_FIELD |
A FieldDecl record. |
DECL_MS_PROPERTY |
A MSPropertyDecl record. |
DECL_VAR |
A VarDecl record. |
DECL_IMPLICIT_PARAM |
An ImplicitParamDecl record. |
DECL_PARM_VAR |
A ParmVarDecl record. |
DECL_FILE_SCOPE_ASM |
A FileScopeAsmDecl record. |
DECL_BLOCK |
A BlockDecl record. |
DECL_CAPTURED |
A CapturedDecl record. |
DECL_CONTEXT_LEXICAL |
A 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_VISIBLE |
A 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_LABEL |
A LabelDecl record. |
DECL_NAMESPACE |
A NamespaceDecl record. |
DECL_NAMESPACE_ALIAS |
A NamespaceAliasDecl record. |
DECL_USING |
A UsingDecl record. |
DECL_USING_SHADOW |
A UsingShadowDecl record. |
DECL_USING_DIRECTIVE |
A UsingDirecitveDecl record. |
DECL_UNRESOLVED_USING_VALUE |
An UnresolvedUsingValueDecl record. |
DECL_UNRESOLVED_USING_TYPENAME |
An UnresolvedUsingTypenameDecl record. |
DECL_LINKAGE_SPEC |
A LinkageSpecDecl record. |
DECL_CXX_RECORD |
A CXXRecordDecl record. |
DECL_CXX_METHOD |
A CXXMethodDecl record. |
DECL_CXX_CONSTRUCTOR |
A CXXConstructorDecl record. |
DECL_CXX_DESTRUCTOR |
A CXXDestructorDecl record. |
DECL_CXX_CONVERSION |
A CXXConversionDecl record. |
DECL_ACCESS_SPEC |
An AccessSpecDecl record. |
DECL_FRIEND |
A FriendDecl record. |
DECL_FRIEND_TEMPLATE |
A FriendTemplateDecl record. |
DECL_CLASS_TEMPLATE |
A ClassTemplateDecl record. |
DECL_CLASS_TEMPLATE_SPECIALIZATION |
A ClassTemplateSpecializationDecl record. |
DECL_CLASS_TEMPLATE_PARTIAL_SPECIALIZATION |
A ClassTemplatePartialSpecializationDecl record. |
DECL_VAR_TEMPLATE |
A VarTemplateDecl record. |
DECL_VAR_TEMPLATE_SPECIALIZATION |
A VarTemplateSpecializationDecl record. |
DECL_VAR_TEMPLATE_PARTIAL_SPECIALIZATION |
A VarTemplatePartialSpecializationDecl record. |
DECL_FUNCTION_TEMPLATE |
A FunctionTemplateDecl record. |
DECL_TEMPLATE_TYPE_PARM |
A TemplateTypeParmDecl record. |
DECL_NON_TYPE_TEMPLATE_PARM |
A NonTypeTemplateParmDecl record. |
DECL_TEMPLATE_TEMPLATE_PARM |
A TemplateTemplateParmDecl record. |
DECL_TYPE_ALIAS_TEMPLATE |
A TypeAliasTemplateDecl record. |
DECL_STATIC_ASSERT |
A StaticAssertDecl record. |
DECL_CXX_BASE_SPECIFIERS |
A record containing CXXBaseSpecifiers. |
DECL_INDIRECTFIELD |
A IndirectFieldDecl record. |
DECL_EXPANDED_NON_TYPE_TEMPLATE_PARM_PACK |
A NonTypeTemplateParmDecl record that stores an expanded non-type template parameter pack. |
DECL_EXPANDED_TEMPLATE_TEMPLATE_PARM_PACK |
A TemplateTemplateParmDecl record that stores an expanded template template parameter pack. |
DECL_CLASS_SCOPE_FUNCTION_SPECIALIZATION |
A ClassScopeFunctionSpecializationDecl record a class scope function specialization. (Microsoft extension). |
DECL_IMPORT |
An ImportDecl recording a module import. |
DECL_OMP_THREADPRIVATE |
An OMPThreadPrivateDecl record. |
DECL_EMPTY |
An EmptyDecl record. |
Definition at line 942 of file ASTBitCodes.h.
The kinds of designators that can occur in a DesignatedInitExpr.
Definition at line 1384 of file ASTBitCodes.h.
Predefined declaration IDs.
These declaration IDs correspond to predefined declarations in the AST context, such as the NULL declaration ID. Such declarations are never actually serialized, since they will be built by the AST context when it is created.
Definition at line 898 of file ASTBitCodes.h.
Predefined type IDs.
These type IDs correspond to predefined types in the AST context, such as built-in types (int) and special place-holder types (the <overload> and <dependent> type markers). Such types are never actually serialized, since they will be built by the AST context when it is created.
Definition at line 672 of file ASTBitCodes.h.
The type IDs for special types constructed by semantic analysis.
The constants in this enumeration are indices into the SPECIAL_TYPES record.
Definition at line 870 of file ASTBitCodes.h.
Record codes for each kind of statement or expression.
These constants describe the records that describe statements or expressions. These records occur within type and declarations block, so they begin with record values of 100. Each constant describes a record for a specific statement or expression class in the AST.
STMT_STOP |
A marker record that indicates that we are at the end of an expression. |
STMT_NULL_PTR |
A NULL expression. |
STMT_REF_PTR |
A reference to a previously [de]serialized Stmt record. |
STMT_NULL |
A NullStmt record. |
STMT_COMPOUND |
A CompoundStmt record. |
STMT_CASE |
A CaseStmt record. |
STMT_DEFAULT |
A DefaultStmt record. |
STMT_LABEL |
A LabelStmt record. |
STMT_ATTRIBUTED |
An AttributedStmt record. |
STMT_IF |
An IfStmt record. |
STMT_SWITCH |
A SwitchStmt record. |
STMT_WHILE |
A WhileStmt record. |
STMT_DO |
A DoStmt record. |
STMT_FOR |
A ForStmt record. |
STMT_GOTO |
A GotoStmt record. |
STMT_INDIRECT_GOTO |
An IndirectGotoStmt record. |
STMT_CONTINUE |
A ContinueStmt record. |
STMT_BREAK |
A BreakStmt record. |
STMT_RETURN |
A ReturnStmt record. |
STMT_DECL |
A DeclStmt record. |
STMT_CAPTURED |
A CapturedStmt record. |
STMT_GCCASM |
A GCC-style AsmStmt record. |
STMT_MSASM |
A MS-style AsmStmt record. |
EXPR_PREDEFINED |
A PredefinedExpr record. |
EXPR_DECL_REF |
A DeclRefExpr record. |
EXPR_INTEGER_LITERAL |
An IntegerLiteral record. |
EXPR_FLOATING_LITERAL |
A FloatingLiteral record. |
EXPR_IMAGINARY_LITERAL |
An ImaginaryLiteral record. |
EXPR_STRING_LITERAL |
A StringLiteral record. |
EXPR_CHARACTER_LITERAL |
A CharacterLiteral record. |
EXPR_PAREN |
A ParenExpr record. |
EXPR_PAREN_LIST |
A ParenListExpr record. |
EXPR_UNARY_OPERATOR |
A UnaryOperator record. |
EXPR_OFFSETOF |
An OffsetOfExpr record. |
EXPR_SIZEOF_ALIGN_OF |
A SizefAlignOfExpr record. |
EXPR_ARRAY_SUBSCRIPT |
An ArraySubscriptExpr record. |
EXPR_CALL |
A CallExpr record. |
EXPR_MEMBER |
A MemberExpr record. |
EXPR_BINARY_OPERATOR |
A BinaryOperator record. |
EXPR_COMPOUND_ASSIGN_OPERATOR |
A CompoundAssignOperator record. |
EXPR_CONDITIONAL_OPERATOR |
A ConditionOperator record. |
EXPR_IMPLICIT_CAST |
An ImplicitCastExpr record. |
EXPR_CSTYLE_CAST |
A CStyleCastExpr record. |
EXPR_COMPOUND_LITERAL |
A CompoundLiteralExpr record. |
EXPR_EXT_VECTOR_ELEMENT |
An ExtVectorElementExpr record. |
EXPR_INIT_LIST |
An InitListExpr record. |
EXPR_DESIGNATED_INIT |
A DesignatedInitExpr record. |
EXPR_IMPLICIT_VALUE_INIT |
An ImplicitValueInitExpr record. |
EXPR_VA_ARG |
A VAArgExpr record. |
EXPR_ADDR_LABEL |
An AddrLabelExpr record. |
EXPR_STMT |
A StmtExpr record. |
EXPR_CHOOSE |
A ChooseExpr record. |
EXPR_GNU_NULL |
A GNUNullExpr record. |
EXPR_SHUFFLE_VECTOR |
A ShuffleVectorExpr record. |
EXPR_CONVERT_VECTOR |
A ConvertVectorExpr record. |
EXPR_BLOCK | |
EXPR_GENERIC_SELECTION |
A GenericSelectionExpr record. |
EXPR_PSEUDO_OBJECT |
A PseudoObjectExpr record. |
EXPR_ATOMIC |
An AtomicExpr record. |
EXPR_OBJC_STRING_LITERAL |
An ObjCStringLiteral record. |
EXPR_OBJC_BOXED_EXPRESSION | |
EXPR_OBJC_ARRAY_LITERAL | |
EXPR_OBJC_DICTIONARY_LITERAL | |
EXPR_OBJC_ENCODE |
An ObjCEncodeExpr record. |
EXPR_OBJC_SELECTOR_EXPR |
An ObjCSelectorExpr record. |
EXPR_OBJC_PROTOCOL_EXPR |
An ObjCProtocolExpr record. |
EXPR_OBJC_IVAR_REF_EXPR |
An ObjCIvarRefExpr record. |
EXPR_OBJC_PROPERTY_REF_EXPR |
An ObjCPropertyRefExpr record. |
EXPR_OBJC_SUBSCRIPT_REF_EXPR |
An ObjCSubscriptRefExpr record. |
EXPR_OBJC_KVC_REF_EXPR |
UNUSED. |
EXPR_OBJC_MESSAGE_EXPR |
An ObjCMessageExpr record. |
EXPR_OBJC_ISA |
An ObjCIsa Expr record. |
EXPR_OBJC_INDIRECT_COPY_RESTORE |
An ObjCIndirectCopyRestoreExpr record. |
STMT_OBJC_FOR_COLLECTION |
An ObjCForCollectionStmt record. |
STMT_OBJC_CATCH |
An ObjCAtCatchStmt record. |
STMT_OBJC_FINALLY |
An ObjCAtFinallyStmt record. |
STMT_OBJC_AT_TRY |
An ObjCAtTryStmt record. |
STMT_OBJC_AT_SYNCHRONIZED |
An ObjCAtSynchronizedStmt record. |
STMT_OBJC_AT_THROW |
An ObjCAtThrowStmt record. |
STMT_OBJC_AUTORELEASE_POOL |
An ObjCAutoreleasePoolStmt record. |
EXPR_OBJC_BOOL_LITERAL |
A ObjCBoolLiteralExpr record. |
STMT_CXX_CATCH |
A CXXCatchStmt record. |
STMT_CXX_TRY |
A CXXTryStmt record. |
STMT_CXX_FOR_RANGE |
A CXXForRangeStmt record. |
EXPR_CXX_OPERATOR_CALL |
A CXXOperatorCallExpr record. |
EXPR_CXX_MEMBER_CALL |
A CXXMemberCallExpr record. |
EXPR_CXX_CONSTRUCT |
A CXXConstructExpr record. |
EXPR_CXX_TEMPORARY_OBJECT |
A CXXTemporaryObjectExpr record. |
EXPR_CXX_STATIC_CAST |
A CXXStaticCastExpr record. |
EXPR_CXX_DYNAMIC_CAST |
A CXXDynamicCastExpr record. |
EXPR_CXX_REINTERPRET_CAST |
A CXXReinterpretCastExpr record. |
EXPR_CXX_CONST_CAST |
A CXXConstCastExpr record. |
EXPR_CXX_FUNCTIONAL_CAST |
A CXXFunctionalCastExpr record. |
EXPR_USER_DEFINED_LITERAL |
A UserDefinedLiteral record. |
EXPR_CXX_STD_INITIALIZER_LIST |
A CXXStdInitializerListExpr record. |
EXPR_CXX_BOOL_LITERAL |
A CXXBoolLiteralExpr record. |
EXPR_CXX_NULL_PTR_LITERAL | |
EXPR_CXX_TYPEID_EXPR | |
EXPR_CXX_TYPEID_TYPE | |
EXPR_CXX_THIS | |
EXPR_CXX_THROW | |
EXPR_CXX_DEFAULT_ARG | |
EXPR_CXX_DEFAULT_INIT | |
EXPR_CXX_BIND_TEMPORARY | |
EXPR_CXX_SCALAR_VALUE_INIT | |
EXPR_CXX_NEW | |
EXPR_CXX_DELETE | |
EXPR_CXX_PSEUDO_DESTRUCTOR | |
EXPR_EXPR_WITH_CLEANUPS | |
EXPR_CXX_DEPENDENT_SCOPE_MEMBER | |
EXPR_CXX_DEPENDENT_SCOPE_DECL_REF | |
EXPR_CXX_UNRESOLVED_CONSTRUCT | |
EXPR_CXX_UNRESOLVED_MEMBER | |
EXPR_CXX_UNRESOLVED_LOOKUP | |
EXPR_CXX_EXPRESSION_TRAIT | |
EXPR_CXX_NOEXCEPT | |
EXPR_OPAQUE_VALUE | |
EXPR_BINARY_CONDITIONAL_OPERATOR | |
EXPR_TYPE_TRAIT | |
EXPR_ARRAY_TYPE_TRAIT | |
EXPR_PACK_EXPANSION | |
EXPR_SIZEOF_PACK | |
EXPR_SUBST_NON_TYPE_TEMPLATE_PARM | |
EXPR_SUBST_NON_TYPE_TEMPLATE_PARM_PACK | |
EXPR_FUNCTION_PARM_PACK | |
EXPR_MATERIALIZE_TEMPORARY | |
EXPR_CXX_FOLD | |
EXPR_CUDA_KERNEL_CALL | |
EXPR_ASTYPE | |
EXPR_CXX_PROPERTY_REF_EXPR | |
EXPR_CXX_UUIDOF_EXPR | |
EXPR_CXX_UUIDOF_TYPE | |
STMT_SEH_LEAVE | |
STMT_SEH_EXCEPT | |
STMT_SEH_FINALLY | |
STMT_SEH_TRY | |
STMT_OMP_PARALLEL_DIRECTIVE | |
STMT_OMP_SIMD_DIRECTIVE | |
STMT_OMP_FOR_DIRECTIVE | |
STMT_OMP_FOR_SIMD_DIRECTIVE | |
STMT_OMP_SECTIONS_DIRECTIVE | |
STMT_OMP_SECTION_DIRECTIVE | |
STMT_OMP_SINGLE_DIRECTIVE | |
STMT_OMP_MASTER_DIRECTIVE | |
STMT_OMP_CRITICAL_DIRECTIVE | |
STMT_OMP_PARALLEL_FOR_DIRECTIVE | |
STMT_OMP_PARALLEL_FOR_SIMD_DIRECTIVE | |
STMT_OMP_PARALLEL_SECTIONS_DIRECTIVE | |
STMT_OMP_TASK_DIRECTIVE | |
STMT_OMP_TASKYIELD_DIRECTIVE | |
STMT_OMP_BARRIER_DIRECTIVE | |
STMT_OMP_TASKWAIT_DIRECTIVE | |
STMT_OMP_FLUSH_DIRECTIVE | |
STMT_OMP_ORDERED_DIRECTIVE | |
STMT_OMP_ATOMIC_DIRECTIVE | |
STMT_OMP_TARGET_DIRECTIVE | |
STMT_OMP_TEAMS_DIRECTIVE | |
EXPR_OBJC_BRIDGED_CAST | |
STMT_MS_DEPENDENT_EXISTS | |
EXPR_LAMBDA |
Definition at line 1097 of file ASTBitCodes.h.
Record codes for each kind of type.
These constants describe the type records that can occur within a block identified by DECLTYPES_BLOCK_ID in the AST file. Each constant describes a record for a specific type class in the AST.
TYPE_EXT_QUAL |
An ExtQualType record. |
TYPE_COMPLEX |
A ComplexType record. |
TYPE_POINTER |
A PointerType record. |
TYPE_BLOCK_POINTER |
A BlockPointerType record. |
TYPE_LVALUE_REFERENCE |
An LValueReferenceType record. |
TYPE_RVALUE_REFERENCE |
An RValueReferenceType record. |
TYPE_MEMBER_POINTER |
A MemberPointerType record. |
TYPE_CONSTANT_ARRAY |
A ConstantArrayType record. |
TYPE_INCOMPLETE_ARRAY |
An IncompleteArrayType record. |
TYPE_VARIABLE_ARRAY |
A VariableArrayType record. |
TYPE_VECTOR |
A VectorType record. |
TYPE_EXT_VECTOR |
An ExtVectorType record. |
TYPE_FUNCTION_NO_PROTO |
A FunctionNoProtoType record. |
TYPE_FUNCTION_PROTO |
A FunctionProtoType record. |
TYPE_TYPEDEF |
A TypedefType record. |
TYPE_TYPEOF_EXPR |
A TypeOfExprType record. |
TYPE_TYPEOF |
A TypeOfType record. |
TYPE_RECORD |
A RecordType record. |
TYPE_ENUM |
An EnumType record. |
TYPE_OBJC_INTERFACE |
An ObjCInterfaceType record. |
TYPE_OBJC_OBJECT_POINTER |
An ObjCObjectPointerType record. |
TYPE_DECLTYPE |
a DecltypeType record. |
TYPE_ELABORATED |
An ElaboratedType record. |
TYPE_SUBST_TEMPLATE_TYPE_PARM |
A SubstTemplateTypeParmType record. |
TYPE_UNRESOLVED_USING |
An UnresolvedUsingType record. |
TYPE_INJECTED_CLASS_NAME |
An InjectedClassNameType record. |
TYPE_OBJC_OBJECT |
An ObjCObjectType record. |
TYPE_TEMPLATE_TYPE_PARM |
An TemplateTypeParmType record. |
TYPE_TEMPLATE_SPECIALIZATION |
An TemplateSpecializationType record. |
TYPE_DEPENDENT_NAME |
A DependentNameType record. |
TYPE_DEPENDENT_TEMPLATE_SPECIALIZATION |
A DependentTemplateSpecializationType record. |
TYPE_DEPENDENT_SIZED_ARRAY |
A DependentSizedArrayType record. |
TYPE_PAREN |
A ParenType record. |
TYPE_PACK_EXPANSION |
A PackExpansionType record. |
TYPE_ATTRIBUTED |
An AttributedType record. |
TYPE_SUBST_TEMPLATE_TYPE_PARM_PACK |
A SubstTemplateTypeParmPackType record. |
TYPE_AUTO |
A AutoType record. |
TYPE_UNARY_TRANSFORM |
A UnaryTransformType record. |
TYPE_ATOMIC |
An AtomicType record. |
TYPE_DECAYED |
A DecayedType record. |
TYPE_ADJUSTED |
An AdjustedType record. |
Definition at line 780 of file ASTBitCodes.h.
const unsigned int clang::serialization::NUM_PREDEF_DECL_IDS = 10 |
The number of declaration IDs that are predefined.
For more information about predefined declarations, see the PredefinedDeclIDs
type and the PREDEF_DECL_*_ID constants.
Definition at line 934 of file ASTBitCodes.h.
Referenced by clang::ASTReader::GetDecl(), clang::ASTReader::GetExistingDecl(), clang::ASTReader::getGlobalDeclID(), clang::ASTReader::getSourceLocationForDeclID(), clang::ASTReader::mapGlobalIDToModuleFileGlobalID(), clang::ASTDeclReader::mergeRedeclarable(), and clang::ASTWriter::ReaderInitialized().
const unsigned clang::serialization::NUM_PREDEF_TYPE_IDS = 100 |
The number of predefined type IDs that are reserved for the PREDEF_TYPE_* constants.
Type IDs for non-predefined types will start at NUM_PREDEF_TYPE_IDs.
Definition at line 772 of file ASTBitCodes.h.
Referenced by clang::ASTReader::getGlobalTypeID(), clang::ASTReader::GetType(), and clang::ASTWriter::ReaderInitialized().
The number of special type IDs.
Definition at line 890 of file ASTBitCodes.h.
Referenced by clang::ASTReader::InitializeContext().