Enum clang::EntityKind[][src]

#[repr(C)]
pub enum EntityKind { UnexposedDecl, StructDecl, UnionDecl, ClassDecl, EnumDecl, FieldDecl, EnumConstantDecl, FunctionDecl, VarDecl, ParmDecl, ObjCInterfaceDecl, ObjCCategoryDecl, ObjCProtocolDecl, ObjCPropertyDecl, ObjCIvarDecl, ObjCInstanceMethodDecl, ObjCClassMethodDecl, ObjCImplementationDecl, ObjCCategoryImplDecl, TypedefDecl, Method, Namespace, LinkageSpec, Constructor, Destructor, ConversionFunction, TemplateTypeParameter, NonTypeTemplateParameter, TemplateTemplateParameter, FunctionTemplate, ClassTemplate, ClassTemplatePartialSpecialization, NamespaceAlias, UsingDirective, UsingDeclaration, TypeAliasDecl, ObjCSynthesizeDecl, ObjCDynamicDecl, AccessSpecifier, ObjCSuperClassRef, ObjCProtocolRef, ObjCClassRef, TypeRef, BaseSpecifier, TemplateRef, NamespaceRef, MemberRef, LabelRef, OverloadedDeclRef, VariableRef, UnexposedExpr, DeclRefExpr, MemberRefExpr, CallExpr, ObjCMessageExpr, BlockExpr, IntegerLiteral, FloatingLiteral, ImaginaryLiteral, StringLiteral, CharacterLiteral, ParenExpr, UnaryOperator, ArraySubscriptExpr, BinaryOperator, CompoundAssignOperator, ConditionalOperator, CStyleCastExpr, CompoundLiteralExpr, InitListExpr, AddrLabelExpr, StmtExpr, GenericSelectionExpr, GNUNullExpr, StaticCastExpr, DynamicCastExpr, ReinterpretCastExpr, ConstCastExpr, FunctionalCastExpr, TypeidExpr, BoolLiteralExpr, NullPtrLiteralExpr, ThisExpr, ThrowExpr, NewExpr, DeleteExpr, UnaryExpr, ObjCStringLiteral, ObjCEncodeExpr, ObjCSelectorExpr, ObjCProtocolExpr, ObjCBridgedCastExpr, PackExpansionExpr, SizeOfPackExpr, LambdaExpr, ObjCBoolLiteralExpr, ObjCSelfExpr, OmpArraySectionExpr, ObjCAvailabilityCheckExpr, UnexposedStmt, LabelStmt, CompoundStmt, CaseStmt, DefaultStmt, IfStmt, SwitchStmt, WhileStmt, DoStmt, ForStmt, GotoStmt, IndirectGotoStmt, ContinueStmt, BreakStmt, ReturnStmt, AsmStmt, ObjCAtTryStmt, ObjCAtCatchStmt, ObjCAtFinallyStmt, ObjCAtThrowStmt, ObjCAtSynchronizedStmt, ObjCAutoreleasePoolStmt, ObjCForCollectionStmt, CatchStmt, TryStmt, ForRangeStmt, SehTryStmt, SehExceptStmt, SehFinallyStmt, SehLeaveStmt, MsAsmStmt, NullStmt, DeclStmt, OmpParallelDirective, OmpSimdDirective, OmpForDirective, OmpSectionsDirective, OmpSectionDirective, OmpSingleDirective, OmpParallelForDirective, OmpParallelSectionsDirective, OmpTaskDirective, OmpMasterDirective, OmpCriticalDirective, OmpTaskyieldDirective, OmpBarrierDirective, OmpTaskwaitDirective, OmpFlushDirective, OmpOrderedDirective, OmpAtomicDirective, OmpForSimdDirective, OmpParallelForSimdDirective, OmpTargetDirective, OmpTeamsDirective, OmpTaskgroupDirective, OmpCancellationPointDirective, OmpCancelDirective, OmpTargetDataDirective, OmpTaskLoopDirective, OmpTaskLoopSimdDirective, OmpDistributeDirective, OmpTargetEnterDataDirective, OmpTargetExitDataDirective, OmpTargetParallelDirective, OmpTargetParallelForDirective, OmpTargetUpdateDirective, OmpDistributeParallelForDirective, OmpDistributeParallelForSimdDirective, OmpDistributeSimdDirective, OmpTargetParallelForSimdDirective, OmpTargetSimdDirective, OmpTeamsDistributeDirective, OmpTeamsDistributeSimdDirective, OmpTeamsDistributeParallelForSimdDirective, OmpTeamsDistributeParallelForDirective, OmpTargetTeamsDirective, OmpTargetTeamsDistributeDirective, OmpTargetTeamsDistributeParallelForDirective, OmpTargetTeamsDistributeParallelForSimdDirective, OmpTargetTeamsDistributeSimdDirective, TranslationUnit, UnexposedAttr, IbActionAttr, IbOutletAttr, IbOutletCollectionAttr, FinalAttr, OverrideAttr, AnnotateAttr, AsmLabelAttr, PackedAttr, PureAttr, ConstAttr, NoDuplicateAttr, CudaConstantAttr, CudaDeviceAttr, CudaGlobalAttr, CudaHostAttr, CudaSharedAttr, VisibilityAttr, DllExport, DllImport, PreprocessingDirective, MacroDefinition, MacroExpansion, InclusionDirective, ModuleImportDecl, TypeAliasTemplateDecl, StaticAssert, FriendDecl, OverloadCandidate, }

Indicates the categorization of an AST entity.

Variants

A declaration whose specific type is not exposed via this interface.

A C or C++ struct.

A C or C++ union.

A C++ class.

An enum.

A C field or C++ non-static data member in a struct, union, or class.

An enum constant.

A function.

A variable.

A parameter.

An Objective-C @interface.

An Objective-C @interface for a category.

An Objective-C @protocol declaration.

An Objective-C @property declaration.

An Objective-C instance variable.

An Objective-C instance method.

An Objective-C class method.

An Objective-C @implementation.

An Objective-C @implementation for a category.

A typedef.

A C++ method.

A C++ namespace.

A linkage specification (e.g., extern "C").

A C++ constructor.

A C++ destructor.

A C++ conversion function.

A C++ template type parameter.

A C++ template non-type parameter.

A C++ template template parameter.

A C++ function template.

A C++ class template.

A C++ class template partial specialization.

A C++ namespace alias declaration.

A C++ using directive.

A C++ using declaration.

A C++ type alias declaration.

An Objective-C @synthesize definition.

An Objective-C @dynamic definition.

An access specifier.

A reference to a super class in Objective-C.

A reference to a protocol in Objective-C.

A reference to a class in Objective-C.

A reference to a type declaration.

A base class specifier.

A reference to a class template, function template, template template parameter, or class template partial specialization.

A reference to a namespace or namespace alias.

A reference to a member of a struct, union, or class that occurs in some non-expression context.

A reference to a labeled statement.

A reference to a set of overloaded functions or function templates that has not yet been resolved to a specific function or function template.

A reference to a variable that occurs in some non-expression context.

An expression whose specific kind is not exposed via this interface.

An expression that refers to some value declaration, such as a function or enumerator.

An expression that refers to the member of a struct, union, or class.

An expression that calls a function.

An expression that sends a message to an Objective-C object or class.

An expression that represents a block literal.

An integer literal.

A floating point number literal.

An imaginary number literal.

A string literal.

A character literal.

A parenthesized expression.

Any unary expression other than sizeof and alignof.

An array subscript expression ([C99 6.5.2.1]).

A built-in binary expression (e.g., x + y).

A compound assignment expression (e.g., x += y).

A ternary expression.

An explicit cast in C or a C-style cast in C++.

A compound literal expression ([C99 6.5.2.5]).

A C or C++ initializer list.

A GNU address of label expression.

A GNU statement expression.

A C11 generic selection expression.

A GNU __null expression.

A C++ static_cast<> expression.

A C++ dynamic_cast<> expression.

A C++ reinterpret_cast<> expression.

A C++ const_cast<> expression.

A C++ cast that uses "function" notation (e.g., int(0.5)).

A C++ typeid expression.

A C++ boolean literal.

A C++ nullptr expression.

A C++ this expression.

A C++ throw expression.

A C++ new expression.

A C++ delete expression.

A unary expression.

An Objective-C string literal.

An Objective-C @encode expression.

An Objective-C @selector expression.

An Objective-C @protocol expression.

An Objective-C bridged cast expression.

A C++11 parameter pack expansion expression.

A C++11 sizeof... expression.

A C++11 lambda expression.

An Objective-C boolean literal.

An Objective-C self expression.

An OpenMP array section expression.

Only produced by libclang 3.8 and later.

An Objective-C availability check expression (e.g., @available(macos 10.10, *)).

Only produced by libclang 3.9 and later.

A statement whose specific kind is not exposed via this interface.

A labelled statement in a function.

A group of statements (e.g., a function body).

A case statement.

A default statement.

An if statement.

A switch statement.

A while statement.

A do statement.

A for statement.

A goto statement.

An indirect goto statement.

A continue statement.

A break statement.

A return statement.

An inline assembly statement.

An Objective-C @try-@catch-@finally statement.

An Objective-C @catch statement.

An Objective-C @finally statement.

An Objective-C @throw statement.

An Objective-C @synchronized statement.

An Objective-C autorelease pool statement.

An Objective-C collection statement.

A C++ catch statement.

A C++ try statement.

A C++11 range-based for statement.

A Windows Structured Exception Handling __try statement.

A Windows Structured Exception Handling __except statement.

A Windows Structured Exception Handling __finally statement.

A Windows Structured Exception Handling __leave statement.

A Microsoft inline assembly statement.

A null statement.

An adaptor for mixing declarations with statements and expressions.

An OpenMP parallel directive.

An OpenMP SIMD directive.

An OpenMP for directive.

An OpenMP sections directive.

An OpenMP section directive.

An OpenMP single directive.

An OpenMP parallel for directive.

An OpenMP parallel sections directive.

An OpenMP task directive.

An OpenMP master directive.

An OpenMP critical directive.

An OpenMP taskyield directive.

An OpenMP barrier directive.

An OpenMP taskwait directive.

An OpenMP flush directive.

An OpenMP ordered directive.

Only produced by libclang 3.6 and later.

An OpenMP atomic directive.

Only produced by libclang 3.6 and later.

An OpenMP for SIMD directive.

Only produced by libclang 3.6 and later.

An OpenMP parallel for SIMD directive.

Only produced by libclang 3.6 and later.

An OpenMP target directive.

Only produced by libclang 3.6 and later.

An OpenMP teams directive.

Only produced by libclang 3.6 and later.

An OpenMP taskgroup directive.

Only produced by libclang 3.7 and later.

An OpenMP cancellation point directive.

Only produced by libclang 3.7 and later.

An OpenMP cancel directive.

Only produced by libclang 3.7 and later.

An OpenMP target data directive.

Only produced by libclang 3.8 and later.

An OpenMP task loop directive.

Only produced by libclang 3.8 and later.

An OpenMP task loop SIMD directive.

Only produced by libclang 3.8 and later.

An OpenMP distribute directive.

Only produced by libclang 3.8 and later.

An OpenMP target enter data directive.

Only produced by libclang 3.9 and later.

An OpenMP target exit data directive.

Only produced by libclang 3.9 and later.

An OpenMP target parallel directive.

Only produced by libclang 3.9 and later.

An OpenMP target parallel for directive.

Only produced by libclang 3.9 and later.

An OpenMP target update directive.

Only produced by libclang 3.9 and later.

An OpenMP distribute parallel for directive.

Only produced by libclang 3.9 and later.

An OpenMP distribute parallel for SIMD directive.

Only produced by libclang 3.9 and later.

An OpenMP distribute SIMD directive.

Only produced by libclang 3.9 and later.

An OpenMP target parallel for SIMD directive.

Only produced by libclang 3.9 and later.

An OpenMP target SIMD directive.

Only produced by libclang 4.0 and later.

An OpenMP teams distribute directive.

Only produced by libclang 4.0 and later.

An OpenMP teams distribute SIMD directive.

Only produced by libclang 4.0 and later.

An OpenMP teams distribute parallel for SIMD directive.

Only produced by libclang 4.0 and later.

An OpenMP teams distribute parallel for directive.

Only produced by libclang 4.0 and later.

An OpenMP target teams directive.

Only produced by libclang 4.0 and later.

An OpenMP target teams distribute directive.

Only produced by libclang 4.0 and later.

An OpenMP target teams distribute parallel for directive.

Only produced by libclang 4.0 and later.

An OpenMP target teams distribute parallel for SIMD directive.

Only produced by libclang 4.0 and later.

An OpenMP target teams distribute SIMD directive.

Only produced by libclang 4.0 and later.

The top-level AST entity which acts as the root for the other entitys.

An attribute whose specific kind is not exposed via this interface.

An attribute applied to an Objective-C IBAction.

An attribute applied to an Objective-C IBOutlet.

An attribute applied to an Objective-C IBOutletCollection.

The final attribute.

The override attribute.

An annotation attribute.

An ASM label attribute.

An attribute that requests for packed records (e.g., __attribute__ ((__packed__))).

An attribute that asserts a function has no side effects (e.g., __attribute__((pure))).

The const attribute.

An attribute that allows calls to a function to be duplicated by the optimized (e.g., __attribute__((noduplicate))).

A CUDA constant attribute.

A CUDA device attribute.

A CUDA global attribute.

A CUDA host attribute.

A CUDA shared attribute.

Only produced by libclang 3.6 and later.

A linker visibility attribute.

Only produced by libclang 3.8 and later.

A MSVC DLL export attribute.

Only produced by libclang 3.8 and later.

A MSVC DLL import attribute.

Only produced by libclang 3.8 and later.

A preprocessing directive.

A macro definition.

A macro expansion.

An inclusion directive.

A module import declaration.

A C++11 alias template declaration (e.g., template <typename T> using M = std::map<T, T>).

Only produced by libclang 3.8 and later.

A static_assert node.

Only produced by libclang 3.9 and later.

A friend declaration.

Only produced by libclang 4.0 and later.

A single overload in a set of overloads.

Only produced by libclang 3.7 and later.

Trait Implementations

impl Copy for EntityKind
[src]

impl Clone for EntityKind
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for EntityKind
[src]

Formats the value using the given formatter. Read more

impl PartialEq for EntityKind
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Eq for EntityKind
[src]

impl Hash for EntityKind
[src]

Feeds this value into the given [Hasher]. Read more

Feeds a slice of this type into the given [Hasher]. Read more

Auto Trait Implementations

impl Send for EntityKind

impl Sync for EntityKind