Documentation
¶
Overview ¶
Package libclang provides a means to parse a compilation unit with libclang, and walk the unit's Cursors.
It's mostly a fairly thin wrapper around some of the C api provided by libclang. The C api is documented at https://clang.llvm.org/doxygen/group__CINDEX.html.
Note that only a small very small subset of libclang's api is currently supported. It's enough to parse C and C++ header files, and extract some basic information about functions, constants, enums, structs, and so on.
pre-requisites ¶
The clang dev package (with header files) needs to be installed.
[sudo] dnf install clang-devel
or
[sudo] apt install clang-dev
example ¶
A simple example, that just visits a unit's top level cursors.
package main import ( "fmt" "log" lc "github.com/pekim/libclang" ) func main() { unit, err := lc.ParseUnit("/usr/include/clang-c/Index.h") if err != nil { log.Fatal(err) } lc.VisitChildren(unit.Cursor(), func(cursor, parent lc.Cursor) lc.ChildVisitResult { typ := cursor.Type() fmt.Println(cursor.Spelling(), "==>", typ.Spelling()) return lc.ChildVisit_Continue }) unit.Destroy() }
Index ¶
- Constants
- func VisitChildren(cursor Cursor, cb ChildVisitCallback)
- type AvailabilityKind
- type ChildVisitCallback
- type ChildVisitResult
- type Cursor
- func (c Cursor) Availability() AvailabilityKind
- func (c Cursor) EnumConstantDeclUnsignedValue() uint64
- func (c Cursor) EnumConstantDeclValue() int64
- func (c Cursor) IsDeprecated() bool
- func (c Cursor) IsStatic() bool
- func (c Cursor) Kind() CursorKind
- func (c Cursor) Location() (string, int, int)
- func (c Cursor) Spelling() string
- func (c Cursor) Type() Type
- type CursorKind
- type Type
- type TypeKind
- type Unit
Constants ¶
const Availability_Available = AvailabilityKind(C.CXAvailability_Available)
The entity is available.
const Availability_Deprecated = AvailabilityKind(C.CXAvailability_Deprecated)
The entity is available, but has been deprecated (and its use is not recommended).
const Availability_NotAccessible = AvailabilityKind(C.CXAvailability_NotAccessible)
The entity is available, but not accessible; any use of it will be an error.
const Availability_NotAvailable = AvailabilityKind(C.CXAvailability_NotAvailable)
The entity is not available; any use of it will be an error.
const ChildVisit_Break = ChildVisitResult(C.CXChildVisit_Break)
const ChildVisit_Continue = ChildVisitResult(C.CXChildVisit_Continue)
const ChildVisit_Recurse = ChildVisitResult(C.CXChildVisit_Recurse)
const Cursor_AddrLabelExpr = CursorKind(C.CXCursor_AddrLabelExpr)
const Cursor_AlignedAttr = CursorKind(C.CXCursor_AlignedAttr)
const Cursor_AnnotateAttr = CursorKind(C.CXCursor_AnnotateAttr)
const Cursor_ArraySubscriptExpr = CursorKind(C.CXCursor_ArraySubscriptExpr)
const Cursor_AsmLabelAttr = CursorKind(C.CXCursor_AsmLabelAttr)
const Cursor_AsmStmt = CursorKind(C.CXCursor_AsmStmt)
const Cursor_BinaryOperator = CursorKind(C.CXCursor_BinaryOperator)
const Cursor_BlockExpr = CursorKind(C.CXCursor_BlockExpr)
const Cursor_BreakStmt = CursorKind(C.CXCursor_BreakStmt)
const Cursor_BuiltinBitCastExpr = CursorKind(C.CXCursor_BuiltinBitCastExpr)
const Cursor_CStyleCastExpr = CursorKind(C.CXCursor_CStyleCastExpr)
const Cursor_CUDAConstantAttr = CursorKind(C.CXCursor_CUDAConstantAttr)
const Cursor_CUDADeviceAttr = CursorKind(C.CXCursor_CUDADeviceAttr)
const Cursor_CUDAGlobalAttr = CursorKind(C.CXCursor_CUDAGlobalAttr)
const Cursor_CUDAHostAttr = CursorKind(C.CXCursor_CUDAHostAttr)
const Cursor_CXXAccessSpecifier = CursorKind(C.CXCursor_CXXAccessSpecifier)
const Cursor_CXXAddrspaceCastExpr = CursorKind(C.CXCursor_CXXAddrspaceCastExpr)
const Cursor_CXXBaseSpecifier = CursorKind(C.CXCursor_CXXBaseSpecifier)
const Cursor_CXXBoolLiteralExpr = CursorKind(C.CXCursor_CXXBoolLiteralExpr)
const Cursor_CXXCatchStmt = CursorKind(C.CXCursor_CXXCatchStmt)
const Cursor_CXXConstCastExpr = CursorKind(C.CXCursor_CXXConstCastExpr)
const Cursor_CXXDeleteExpr = CursorKind(C.CXCursor_CXXDeleteExpr)
const Cursor_CXXDynamicCastExpr = CursorKind(C.CXCursor_CXXDynamicCastExpr)
const Cursor_CXXFinalAttr = CursorKind(C.CXCursor_CXXFinalAttr)
const Cursor_CXXForRangeStmt = CursorKind(C.CXCursor_CXXForRangeStmt)
const Cursor_CXXFunctionalCastExpr = CursorKind(C.CXCursor_CXXFunctionalCastExpr)
const Cursor_CXXMethod = CursorKind(C.CXCursor_CXXMethod)
const Cursor_CXXNewExpr = CursorKind(C.CXCursor_CXXNewExpr)
const Cursor_CXXNullPtrLiteralExpr = CursorKind(C.CXCursor_CXXNullPtrLiteralExpr)
const Cursor_CXXOverrideAttr = CursorKind(C.CXCursor_CXXOverrideAttr)
const Cursor_CXXParenListInitExpr = CursorKind(C.CXCursor_CXXParenListInitExpr)
const Cursor_CXXReinterpretCastExpr = CursorKind(C.CXCursor_CXXReinterpretCastExpr)
const Cursor_CXXStaticCastExpr = CursorKind(C.CXCursor_CXXStaticCastExpr)
const Cursor_CXXThisExpr = CursorKind(C.CXCursor_CXXThisExpr)
const Cursor_CXXThrowExpr = CursorKind(C.CXCursor_CXXThrowExpr)
const Cursor_CXXTryStmt = CursorKind(C.CXCursor_CXXTryStmt)
const Cursor_CXXTypeidExpr = CursorKind(C.CXCursor_CXXTypeidExpr)
const Cursor_CallExpr = CursorKind(C.CXCursor_CallExpr)
const Cursor_CaseStmt = CursorKind(C.CXCursor_CaseStmt)
const Cursor_CharacterLiteral = CursorKind(C.CXCursor_CharacterLiteral)
const Cursor_ClassDecl = CursorKind(C.CXCursor_ClassDecl)
const Cursor_ClassTemplate = CursorKind(C.CXCursor_ClassTemplate)
const Cursor_ClassTemplatePartialSpecialization = CursorKind(C.CXCursor_ClassTemplatePartialSpecialization)
const Cursor_CompoundAssignOperator = CursorKind(C.CXCursor_CompoundAssignOperator)
const Cursor_CompoundLiteralExpr = CursorKind(C.CXCursor_CompoundLiteralExpr)
const Cursor_CompoundStmt = CursorKind(C.CXCursor_CompoundStmt)
const Cursor_ConceptDecl = CursorKind(C.CXCursor_ConceptDecl)
const Cursor_ConceptSpecializationExpr = CursorKind(C.CXCursor_ConceptSpecializationExpr)
const Cursor_ConditionalOperator = CursorKind(C.CXCursor_ConditionalOperator)
const Cursor_ConstAttr = CursorKind(C.CXCursor_ConstAttr)
const Cursor_Constructor = CursorKind(C.CXCursor_Constructor)
const Cursor_ContinueStmt = CursorKind(C.CXCursor_ContinueStmt)
const Cursor_ConvergentAttr = CursorKind(C.CXCursor_ConvergentAttr)
const Cursor_ConversionFunction = CursorKind(C.CXCursor_ConversionFunction)
const Cursor_DLLExport = CursorKind(C.CXCursor_DLLExport)
const Cursor_DLLImport = CursorKind(C.CXCursor_DLLImport)
const Cursor_DeclRefExpr = CursorKind(C.CXCursor_DeclRefExpr)
const Cursor_DeclStmt = CursorKind(C.CXCursor_DeclStmt)
const Cursor_DefaultStmt = CursorKind(C.CXCursor_DefaultStmt)
const Cursor_Destructor = CursorKind(C.CXCursor_Destructor)
const Cursor_DoStmt = CursorKind(C.CXCursor_DoStmt)
const Cursor_EnumConstantDecl = CursorKind(C.CXCursor_EnumConstantDecl)
const Cursor_EnumDecl = CursorKind(C.CXCursor_EnumDecl)
const Cursor_FieldDecl = CursorKind(C.CXCursor_FieldDecl)
const Cursor_FirstAttr = CursorKind(C.CXCursor_FirstAttr)
const Cursor_FirstDecl = CursorKind(C.CXCursor_FirstDecl)
const Cursor_FirstExpr = CursorKind(C.CXCursor_FirstExpr)
const Cursor_FirstExtraDecl = CursorKind(C.CXCursor_FirstExtraDecl)
const Cursor_FirstInvalid = CursorKind(C.CXCursor_FirstInvalid)
const Cursor_FirstPreprocessing = CursorKind(C.CXCursor_FirstPreprocessing)
const Cursor_FirstRef = CursorKind(C.CXCursor_FirstRef)
const Cursor_FirstStmt = CursorKind(C.CXCursor_FirstStmt)
const Cursor_FixedPointLiteral = CursorKind(C.CXCursor_FixedPointLiteral)
const Cursor_FlagEnum = CursorKind(C.CXCursor_FlagEnum)
const Cursor_FloatingLiteral = CursorKind(C.CXCursor_FloatingLiteral)
const Cursor_ForStmt = CursorKind(C.CXCursor_ForStmt)
const Cursor_FriendDecl = CursorKind(C.CXCursor_FriendDecl)
const Cursor_FunctionDecl = CursorKind(C.CXCursor_FunctionDecl)
const Cursor_FunctionTemplate = CursorKind(C.CXCursor_FunctionTemplate)
const Cursor_GCCAsmStmt = CursorKind(C.CXCursor_GCCAsmStmt)
const Cursor_GNUNullExpr = CursorKind(C.CXCursor_GNUNullExpr)
const Cursor_GenericSelectionExpr = CursorKind(C.CXCursor_GenericSelectionExpr)
const Cursor_GotoStmt = CursorKind(C.CXCursor_GotoStmt)
const Cursor_IBActionAttr = CursorKind(C.CXCursor_IBActionAttr)
const Cursor_IBOutletAttr = CursorKind(C.CXCursor_IBOutletAttr)
const Cursor_IBOutletCollectionAttr = CursorKind(C.CXCursor_IBOutletCollectionAttr)
const Cursor_IfStmt = CursorKind(C.CXCursor_IfStmt)
const Cursor_ImaginaryLiteral = CursorKind(C.CXCursor_ImaginaryLiteral)
const Cursor_InclusionDirective = CursorKind(C.CXCursor_InclusionDirective)
const Cursor_IndirectGotoStmt = CursorKind(C.CXCursor_IndirectGotoStmt)
const Cursor_InitListExpr = CursorKind(C.CXCursor_InitListExpr)
const Cursor_IntegerLiteral = CursorKind(C.CXCursor_IntegerLiteral)
const Cursor_InvalidCode = CursorKind(C.CXCursor_InvalidCode)
const Cursor_InvalidFile = CursorKind(C.CXCursor_InvalidFile)
const Cursor_LabelRef = CursorKind(C.CXCursor_LabelRef)
const Cursor_LabelStmt = CursorKind(C.CXCursor_LabelStmt)
const Cursor_LambdaExpr = CursorKind(C.CXCursor_LambdaExpr)
const Cursor_LastAttr = CursorKind(C.CXCursor_LastAttr)
const Cursor_LastDecl = CursorKind(C.CXCursor_LastDecl)
const Cursor_LastExpr = CursorKind(C.CXCursor_LastExpr)
const Cursor_PackIndexingExpr = CursorKind(C.CXCursor_PackIndexingExpr)
const Cursor_LastExtraDecl = CursorKind(C.CXCursor_LastExtraDecl)
const Cursor_LastInvalid = CursorKind(C.CXCursor_LastInvalid)
const Cursor_LastPreprocessing = CursorKind(C.CXCursor_LastPreprocessing)
const Cursor_LastRef = CursorKind(C.CXCursor_LastRef)
const Cursor_LastStmt = CursorKind(C.CXCursor_LastStmt)
const Cursor_OMPScopeDirective = CursorKind(C.CXCursor_OMPScopeDirective) const Cursor_OpenACCComputeConstruct = CursorKind(C.CXCursor_OpenACCComputeConstruct)
const Cursor_LinkageSpec = CursorKind(C.CXCursor_LinkageSpec)
const Cursor_MSAsmStmt = CursorKind(C.CXCursor_MSAsmStmt)
const Cursor_MacroDefinition = CursorKind(C.CXCursor_MacroDefinition)
const Cursor_MacroExpansion = CursorKind(C.CXCursor_MacroExpansion)
const Cursor_MacroInstantiation = CursorKind(C.CXCursor_MacroInstantiation)
const Cursor_MemberRef = CursorKind(C.CXCursor_MemberRef)
const Cursor_MemberRefExpr = CursorKind(C.CXCursor_MemberRefExpr)
const Cursor_ModuleImportDecl = CursorKind(C.CXCursor_ModuleImportDecl)
const Cursor_NSConsumed = CursorKind(C.CXCursor_NSConsumed)
const Cursor_NSConsumesSelf = CursorKind(C.CXCursor_NSConsumesSelf)
const Cursor_NSReturnsAutoreleased = CursorKind(C.CXCursor_NSReturnsAutoreleased)
const Cursor_NSReturnsNotRetained = CursorKind(C.CXCursor_NSReturnsNotRetained)
const Cursor_NSReturnsRetained = CursorKind(C.CXCursor_NSReturnsRetained)
const Cursor_Namespace = CursorKind(C.CXCursor_Namespace)
const Cursor_NamespaceAlias = CursorKind(C.CXCursor_NamespaceAlias)
const Cursor_NamespaceRef = CursorKind(C.CXCursor_NamespaceRef)
const Cursor_NoDeclFound = CursorKind(C.CXCursor_NoDeclFound)
const Cursor_NoDuplicateAttr = CursorKind(C.CXCursor_NoDuplicateAttr)
const Cursor_NonTypeTemplateParameter = CursorKind(C.CXCursor_NonTypeTemplateParameter)
const Cursor_NotImplemented = CursorKind(C.CXCursor_NotImplemented)
const Cursor_NullStmt = CursorKind(C.CXCursor_NullStmt)
const Cursor_OMPArraySectionExpr = CursorKind(C.CXCursor_OMPArraySectionExpr)
const Cursor_OMPArrayShapingExpr = CursorKind(C.CXCursor_OMPArrayShapingExpr)
const Cursor_OMPAtomicDirective = CursorKind(C.CXCursor_OMPAtomicDirective)
const Cursor_OMPBarrierDirective = CursorKind(C.CXCursor_OMPBarrierDirective)
const Cursor_OMPCancelDirective = CursorKind(C.CXCursor_OMPCancelDirective)
const Cursor_OMPCancellationPointDirective = CursorKind(C.CXCursor_OMPCancellationPointDirective)
const Cursor_OMPCanonicalLoop = CursorKind(C.CXCursor_OMPCanonicalLoop)
const Cursor_OMPCriticalDirective = CursorKind(C.CXCursor_OMPCriticalDirective)
const Cursor_OMPDepobjDirective = CursorKind(C.CXCursor_OMPDepobjDirective)
const Cursor_OMPDispatchDirective = CursorKind(C.CXCursor_OMPDispatchDirective)
const Cursor_OMPDistributeDirective = CursorKind(C.CXCursor_OMPDistributeDirective)
const Cursor_OMPDistributeParallelForDirective = CursorKind(C.CXCursor_OMPDistributeParallelForDirective)
const Cursor_OMPDistributeParallelForSimdDirective = CursorKind(C.CXCursor_OMPDistributeParallelForSimdDirective)
const Cursor_OMPDistributeSimdDirective = CursorKind(C.CXCursor_OMPDistributeSimdDirective)
const Cursor_OMPErrorDirective = CursorKind(C.CXCursor_OMPErrorDirective)
const Cursor_OMPFlushDirective = CursorKind(C.CXCursor_OMPFlushDirective)
const Cursor_OMPForDirective = CursorKind(C.CXCursor_OMPForDirective)
const Cursor_OMPForSimdDirective = CursorKind(C.CXCursor_OMPForSimdDirective)
const Cursor_OMPGenericLoopDirective = CursorKind(C.CXCursor_OMPGenericLoopDirective)
const Cursor_OMPInteropDirective = CursorKind(C.CXCursor_OMPInteropDirective)
const Cursor_OMPIteratorExpr = CursorKind(C.CXCursor_OMPIteratorExpr)
const Cursor_OMPMaskedDirective = CursorKind(C.CXCursor_OMPMaskedDirective)
const Cursor_OMPMaskedTaskLoopDirective = CursorKind(C.CXCursor_OMPMaskedTaskLoopDirective)
const Cursor_OMPMaskedTaskLoopSimdDirective = CursorKind(C.CXCursor_OMPMaskedTaskLoopSimdDirective)
const Cursor_OMPMasterDirective = CursorKind(C.CXCursor_OMPMasterDirective)
const Cursor_OMPMasterTaskLoopDirective = CursorKind(C.CXCursor_OMPMasterTaskLoopDirective)
const Cursor_OMPMasterTaskLoopSimdDirective = CursorKind(C.CXCursor_OMPMasterTaskLoopSimdDirective)
const Cursor_OMPMetaDirective = CursorKind(C.CXCursor_OMPMetaDirective)
const Cursor_OMPOrderedDirective = CursorKind(C.CXCursor_OMPOrderedDirective)
const Cursor_OMPParallelDirective = CursorKind(C.CXCursor_OMPParallelDirective)
const Cursor_OMPParallelForDirective = CursorKind(C.CXCursor_OMPParallelForDirective)
const Cursor_OMPParallelForSimdDirective = CursorKind(C.CXCursor_OMPParallelForSimdDirective)
const Cursor_OMPParallelGenericLoopDirective = CursorKind(C.CXCursor_OMPParallelGenericLoopDirective)
const Cursor_OMPParallelMaskedDirective = CursorKind(C.CXCursor_OMPParallelMaskedDirective)
const Cursor_OMPParallelMaskedTaskLoopDirective = CursorKind(C.CXCursor_OMPParallelMaskedTaskLoopDirective)
const Cursor_OMPParallelMaskedTaskLoopSimdDirective = CursorKind(C.CXCursor_OMPParallelMaskedTaskLoopSimdDirective)
const Cursor_OMPParallelMasterDirective = CursorKind(C.CXCursor_OMPParallelMasterDirective)
const Cursor_OMPParallelMasterTaskLoopDirective = CursorKind(C.CXCursor_OMPParallelMasterTaskLoopDirective)
const Cursor_OMPParallelMasterTaskLoopSimdDirective = CursorKind(C.CXCursor_OMPParallelMasterTaskLoopSimdDirective)
const Cursor_OMPParallelSectionsDirective = CursorKind(C.CXCursor_OMPParallelSectionsDirective)
const Cursor_OMPScanDirective = CursorKind(C.CXCursor_OMPScanDirective)
const Cursor_OMPSectionDirective = CursorKind(C.CXCursor_OMPSectionDirective)
const Cursor_OMPSectionsDirective = CursorKind(C.CXCursor_OMPSectionsDirective)
const Cursor_OMPSimdDirective = CursorKind(C.CXCursor_OMPSimdDirective)
const Cursor_OMPSingleDirective = CursorKind(C.CXCursor_OMPSingleDirective)
const Cursor_OMPTargetDataDirective = CursorKind(C.CXCursor_OMPTargetDataDirective)
const Cursor_OMPTargetDirective = CursorKind(C.CXCursor_OMPTargetDirective)
const Cursor_OMPTargetEnterDataDirective = CursorKind(C.CXCursor_OMPTargetEnterDataDirective)
const Cursor_OMPTargetExitDataDirective = CursorKind(C.CXCursor_OMPTargetExitDataDirective)
const Cursor_OMPTargetParallelDirective = CursorKind(C.CXCursor_OMPTargetParallelDirective)
const Cursor_OMPTargetParallelForDirective = CursorKind(C.CXCursor_OMPTargetParallelForDirective)
const Cursor_OMPTargetParallelForSimdDirective = CursorKind(C.CXCursor_OMPTargetParallelForSimdDirective)
const Cursor_OMPTargetParallelGenericLoopDirective = CursorKind(C.CXCursor_OMPTargetParallelGenericLoopDirective)
const Cursor_OMPTargetSimdDirective = CursorKind(C.CXCursor_OMPTargetSimdDirective)
const Cursor_OMPTargetTeamsDirective = CursorKind(C.CXCursor_OMPTargetTeamsDirective)
const Cursor_OMPTargetTeamsDistributeDirective = CursorKind(C.CXCursor_OMPTargetTeamsDistributeDirective)
const Cursor_OMPTargetTeamsDistributeParallelForDirective = CursorKind(C.CXCursor_OMPTargetTeamsDistributeParallelForDirective)
const Cursor_OMPTargetTeamsDistributeParallelForSimdDirective = CursorKind(C.CXCursor_OMPTargetTeamsDistributeParallelForSimdDirective)
const Cursor_OMPTargetTeamsDistributeSimdDirective = CursorKind(C.CXCursor_OMPTargetTeamsDistributeSimdDirective)
const Cursor_OMPTargetTeamsGenericLoopDirective = CursorKind(C.CXCursor_OMPTargetTeamsGenericLoopDirective)
const Cursor_OMPTargetUpdateDirective = CursorKind(C.CXCursor_OMPTargetUpdateDirective)
const Cursor_OMPTaskDirective = CursorKind(C.CXCursor_OMPTaskDirective)
const Cursor_OMPTaskLoopDirective = CursorKind(C.CXCursor_OMPTaskLoopDirective)
const Cursor_OMPTaskLoopSimdDirective = CursorKind(C.CXCursor_OMPTaskLoopSimdDirective)
const Cursor_OMPTaskgroupDirective = CursorKind(C.CXCursor_OMPTaskgroupDirective)
const Cursor_OMPTaskwaitDirective = CursorKind(C.CXCursor_OMPTaskwaitDirective)
const Cursor_OMPTaskyieldDirective = CursorKind(C.CXCursor_OMPTaskyieldDirective)
const Cursor_OMPTeamsDirective = CursorKind(C.CXCursor_OMPTeamsDirective)
const Cursor_OMPTeamsDistributeDirective = CursorKind(C.CXCursor_OMPTeamsDistributeDirective)
const Cursor_OMPTeamsDistributeParallelForDirective = CursorKind(C.CXCursor_OMPTeamsDistributeParallelForDirective)
const Cursor_OMPTeamsDistributeParallelForSimdDirective = CursorKind(C.CXCursor_OMPTeamsDistributeParallelForSimdDirective)
const Cursor_OMPTeamsDistributeSimdDirective = CursorKind(C.CXCursor_OMPTeamsDistributeSimdDirective)
const Cursor_OMPTeamsGenericLoopDirective = CursorKind(C.CXCursor_OMPTeamsGenericLoopDirective)
const Cursor_OMPTileDirective = CursorKind(C.CXCursor_OMPTileDirective)
const Cursor_OMPUnrollDirective = CursorKind(C.CXCursor_OMPUnrollDirective)
const Cursor_ObjCAtCatchStmt = CursorKind(C.CXCursor_ObjCAtCatchStmt)
const Cursor_ObjCAtFinallyStmt = CursorKind(C.CXCursor_ObjCAtFinallyStmt)
const Cursor_ObjCAtSynchronizedStmt = CursorKind(C.CXCursor_ObjCAtSynchronizedStmt)
const Cursor_ObjCAtThrowStmt = CursorKind(C.CXCursor_ObjCAtThrowStmt)
const Cursor_ObjCAtTryStmt = CursorKind(C.CXCursor_ObjCAtTryStmt)
const Cursor_ObjCAutoreleasePoolStmt = CursorKind(C.CXCursor_ObjCAutoreleasePoolStmt)
const Cursor_ObjCAvailabilityCheckExpr = CursorKind(C.CXCursor_ObjCAvailabilityCheckExpr)
const Cursor_ObjCBoolLiteralExpr = CursorKind(C.CXCursor_ObjCBoolLiteralExpr)
const Cursor_ObjCBoxable = CursorKind(C.CXCursor_ObjCBoxable)
const Cursor_ObjCBridgedCastExpr = CursorKind(C.CXCursor_ObjCBridgedCastExpr)
const Cursor_ObjCCategoryDecl = CursorKind(C.CXCursor_ObjCCategoryDecl)
const Cursor_ObjCCategoryImplDecl = CursorKind(C.CXCursor_ObjCCategoryImplDecl)
const Cursor_ObjCClassMethodDecl = CursorKind(C.CXCursor_ObjCClassMethodDecl)
const Cursor_ObjCClassRef = CursorKind(C.CXCursor_ObjCClassRef)
const Cursor_ObjCDesignatedInitializer = CursorKind(C.CXCursor_ObjCDesignatedInitializer)
const Cursor_ObjCDynamicDecl = CursorKind(C.CXCursor_ObjCDynamicDecl)
const Cursor_ObjCEncodeExpr = CursorKind(C.CXCursor_ObjCEncodeExpr)
const Cursor_ObjCException = CursorKind(C.CXCursor_ObjCException)
const Cursor_ObjCExplicitProtocolImpl = CursorKind(C.CXCursor_ObjCExplicitProtocolImpl)
const Cursor_ObjCForCollectionStmt = CursorKind(C.CXCursor_ObjCForCollectionStmt)
const Cursor_ObjCImplementationDecl = CursorKind(C.CXCursor_ObjCImplementationDecl)
const Cursor_ObjCIndependentClass = CursorKind(C.CXCursor_ObjCIndependentClass)
const Cursor_ObjCInstanceMethodDecl = CursorKind(C.CXCursor_ObjCInstanceMethodDecl)
const Cursor_ObjCInterfaceDecl = CursorKind(C.CXCursor_ObjCInterfaceDecl)
const Cursor_ObjCIvarDecl = CursorKind(C.CXCursor_ObjCIvarDecl)
const Cursor_ObjCMessageExpr = CursorKind(C.CXCursor_ObjCMessageExpr)
const Cursor_ObjCNSObject = CursorKind(C.CXCursor_ObjCNSObject)
const Cursor_ObjCPreciseLifetime = CursorKind(C.CXCursor_ObjCPreciseLifetime)
const Cursor_ObjCPropertyDecl = CursorKind(C.CXCursor_ObjCPropertyDecl)
const Cursor_ObjCProtocolDecl = CursorKind(C.CXCursor_ObjCProtocolDecl)
const Cursor_ObjCProtocolExpr = CursorKind(C.CXCursor_ObjCProtocolExpr)
const Cursor_ObjCProtocolRef = CursorKind(C.CXCursor_ObjCProtocolRef)
const Cursor_ObjCRequiresSuper = CursorKind(C.CXCursor_ObjCRequiresSuper)
const Cursor_ObjCReturnsInnerPointer = CursorKind(C.CXCursor_ObjCReturnsInnerPointer)
const Cursor_ObjCRootClass = CursorKind(C.CXCursor_ObjCRootClass)
const Cursor_ObjCRuntimeVisible = CursorKind(C.CXCursor_ObjCRuntimeVisible)
const Cursor_ObjCSelectorExpr = CursorKind(C.CXCursor_ObjCSelectorExpr)
const Cursor_ObjCSelfExpr = CursorKind(C.CXCursor_ObjCSelfExpr)
const Cursor_ObjCStringLiteral = CursorKind(C.CXCursor_ObjCStringLiteral)
const Cursor_ObjCSubclassingRestricted = CursorKind(C.CXCursor_ObjCSubclassingRestricted)
const Cursor_ObjCSuperClassRef = CursorKind(C.CXCursor_ObjCSuperClassRef)
const Cursor_ObjCSynthesizeDecl = CursorKind(C.CXCursor_ObjCSynthesizeDecl)
const Cursor_OverloadCandidate = CursorKind(C.CXCursor_OverloadCandidate)
const Cursor_OverloadedDeclRef = CursorKind(C.CXCursor_OverloadedDeclRef)
const Cursor_PackExpansionExpr = CursorKind(C.CXCursor_PackExpansionExpr)
const Cursor_PackedAttr = CursorKind(C.CXCursor_PackedAttr)
const Cursor_ParenExpr = CursorKind(C.CXCursor_ParenExpr)
const Cursor_ParmDecl = CursorKind(C.CXCursor_ParmDecl)
const Cursor_PreprocessingDirective = CursorKind(C.CXCursor_PreprocessingDirective)
const Cursor_PureAttr = CursorKind(C.CXCursor_PureAttr)
const Cursor_RequiresExpr = CursorKind(C.CXCursor_RequiresExpr)
const Cursor_ReturnStmt = CursorKind(C.CXCursor_ReturnStmt)
const Cursor_SEHExceptStmt = CursorKind(C.CXCursor_SEHExceptStmt)
const Cursor_SEHFinallyStmt = CursorKind(C.CXCursor_SEHFinallyStmt)
const Cursor_SEHLeaveStmt = CursorKind(C.CXCursor_SEHLeaveStmt)
const Cursor_SEHTryStmt = CursorKind(C.CXCursor_SEHTryStmt)
const Cursor_SizeOfPackExpr = CursorKind(C.CXCursor_SizeOfPackExpr)
const Cursor_StaticAssert = CursorKind(C.CXCursor_StaticAssert)
const Cursor_StmtExpr = CursorKind(C.CXCursor_StmtExpr)
const Cursor_StringLiteral = CursorKind(C.CXCursor_StringLiteral)
const Cursor_StructDecl = CursorKind(C.CXCursor_StructDecl)
const Cursor_SwitchStmt = CursorKind(C.CXCursor_SwitchStmt)
const Cursor_TemplateRef = CursorKind(C.CXCursor_TemplateRef)
const Cursor_TemplateTemplateParameter = CursorKind(C.CXCursor_TemplateTemplateParameter)
const Cursor_TemplateTypeParameter = CursorKind(C.CXCursor_TemplateTypeParameter)
const Cursor_TranslationUnit = CursorKind(C.CXCursor_TranslationUnit)
const Cursor_TypeAliasDecl = CursorKind(C.CXCursor_TypeAliasDecl)
const Cursor_TypeAliasTemplateDecl = CursorKind(C.CXCursor_TypeAliasTemplateDecl)
const Cursor_TypeRef = CursorKind(C.CXCursor_TypeRef)
const Cursor_TypedefDecl = CursorKind(C.CXCursor_TypedefDecl)
const Cursor_UnaryExpr = CursorKind(C.CXCursor_UnaryExpr)
const Cursor_UnaryOperator = CursorKind(C.CXCursor_UnaryOperator)
const Cursor_UnexposedAttr = CursorKind(C.CXCursor_UnexposedAttr)
const Cursor_UnexposedDecl = CursorKind(C.CXCursor_UnexposedDecl)
const Cursor_UnexposedExpr = CursorKind(C.CXCursor_UnexposedExpr)
const Cursor_UnexposedStmt = CursorKind(C.CXCursor_UnexposedStmt)
const Cursor_UnionDecl = CursorKind(C.CXCursor_UnionDecl)
const Cursor_UsingDeclaration = CursorKind(C.CXCursor_UsingDeclaration)
const Cursor_UsingDirective = CursorKind(C.CXCursor_UsingDirective)
const Cursor_VarDecl = CursorKind(C.CXCursor_VarDecl)
const Cursor_VariableRef = CursorKind(C.CXCursor_VariableRef)
const Cursor_VisibilityAttr = CursorKind(C.CXCursor_VisibilityAttr)
const Cursor_WarnUnusedAttr = CursorKind(C.CXCursor_WarnUnusedAttr)
const Cursor_WarnUnusedResultAttr = CursorKind(C.CXCursor_WarnUnusedResultAttr)
const Cursor_WhileStmt = CursorKind(C.CXCursor_WhileStmt)
const Type_Accum = TypeKind(C.CXType_Accum)
const Type_Atomic = TypeKind(C.CXType_Atomic)
const Type_Attributed = TypeKind(C.CXType_Attributed)
const Type_Auto = TypeKind(C.CXType_Auto)
const Type_BFloat16 = TypeKind(C.CXType_BFloat16)
const Type_BTFTagAttributed = TypeKind(C.CXType_BTFTagAttributed)
const Type_BlockPointer = TypeKind(C.CXType_BlockPointer)
const Type_Bool = TypeKind(C.CXType_Bool)
const Type_Char16 = TypeKind(C.CXType_Char16)
const Type_Char32 = TypeKind(C.CXType_Char32)
const Type_Char_S = TypeKind(C.CXType_Char_S)
const Type_Char_U = TypeKind(C.CXType_Char_U)
const Type_Complex = TypeKind(C.CXType_Complex)
const Type_ConstantArray = TypeKind(C.CXType_ConstantArray)
const Type_Dependent = TypeKind(C.CXType_Dependent)
const Type_DependentSizedArray = TypeKind(C.CXType_DependentSizedArray)
const Type_Double = TypeKind(C.CXType_Double)
const Type_Elaborated = TypeKind(C.CXType_Elaborated)
const Type_Enum = TypeKind(C.CXType_Enum)
const Type_ExtVector = TypeKind(C.CXType_ExtVector)
const Type_FirstBuiltin = TypeKind(C.CXType_FirstBuiltin)
const Type_Float = TypeKind(C.CXType_Float)
const Type_Float128 = TypeKind(C.CXType_Float128)
const Type_Float16 = TypeKind(C.CXType_Float16)
const Type_FunctionNoProto = TypeKind(C.CXType_FunctionNoProto)
const Type_FunctionProto = TypeKind(C.CXType_FunctionProto)
const Type_Half = TypeKind(C.CXType_Half)
const Type_Ibm128 = TypeKind(C.CXType_Ibm128)
const Type_IncompleteArray = TypeKind(C.CXType_IncompleteArray)
const Type_Int = TypeKind(C.CXType_Int)
const Type_Int128 = TypeKind(C.CXType_Int128)
const Type_Invalid = TypeKind(C.CXType_Invalid)
const Type_LValueReference = TypeKind(C.CXType_LValueReference)
const Type_LastBuiltin = TypeKind(C.CXType_LastBuiltin)
const Type_Long = TypeKind(C.CXType_Long)
const Type_LongAccum = TypeKind(C.CXType_LongAccum)
const Type_LongDouble = TypeKind(C.CXType_LongDouble)
const Type_LongLong = TypeKind(C.CXType_LongLong)
const Type_MemberPointer = TypeKind(C.CXType_MemberPointer)
const Type_NullPtr = TypeKind(C.CXType_NullPtr)
const Type_OCLEvent = TypeKind(C.CXType_OCLEvent)
const Type_OCLImage1dArrayRO = TypeKind(C.CXType_OCLImage1dArrayRO)
const Type_OCLImage1dArrayRW = TypeKind(C.CXType_OCLImage1dArrayRW)
const Type_OCLImage1dArrayWO = TypeKind(C.CXType_OCLImage1dArrayWO)
const Type_OCLImage1dBufferRO = TypeKind(C.CXType_OCLImage1dBufferRO)
const Type_OCLImage1dBufferRW = TypeKind(C.CXType_OCLImage1dBufferRW)
const Type_OCLImage1dBufferWO = TypeKind(C.CXType_OCLImage1dBufferWO)
const Type_OCLImage1dRO = TypeKind(C.CXType_OCLImage1dRO)
const Type_OCLImage1dRW = TypeKind(C.CXType_OCLImage1dRW)
const Type_OCLImage1dWO = TypeKind(C.CXType_OCLImage1dWO)
const Type_OCLImage2dArrayDepthRO = TypeKind(C.CXType_OCLImage2dArrayDepthRO)
const Type_OCLImage2dArrayDepthRW = TypeKind(C.CXType_OCLImage2dArrayDepthRW)
const Type_OCLImage2dArrayDepthWO = TypeKind(C.CXType_OCLImage2dArrayDepthWO)
const Type_OCLImage2dArrayMSAADepthRO = TypeKind(C.CXType_OCLImage2dArrayMSAADepthRO)
const Type_OCLImage2dArrayMSAADepthRW = TypeKind(C.CXType_OCLImage2dArrayMSAADepthRW)
const Type_OCLImage2dArrayMSAADepthWO = TypeKind(C.CXType_OCLImage2dArrayMSAADepthWO)
const Type_OCLImage2dArrayMSAARO = TypeKind(C.CXType_OCLImage2dArrayMSAARO)
const Type_OCLImage2dArrayMSAARW = TypeKind(C.CXType_OCLImage2dArrayMSAARW)
const Type_OCLImage2dArrayMSAAWO = TypeKind(C.CXType_OCLImage2dArrayMSAAWO)
const Type_OCLImage2dArrayRO = TypeKind(C.CXType_OCLImage2dArrayRO)
const Type_OCLImage2dArrayRW = TypeKind(C.CXType_OCLImage2dArrayRW)
const Type_OCLImage2dArrayWO = TypeKind(C.CXType_OCLImage2dArrayWO)
const Type_OCLImage2dDepthRO = TypeKind(C.CXType_OCLImage2dDepthRO)
const Type_OCLImage2dDepthRW = TypeKind(C.CXType_OCLImage2dDepthRW)
const Type_OCLImage2dDepthWO = TypeKind(C.CXType_OCLImage2dDepthWO)
const Type_OCLImage2dMSAADepthRO = TypeKind(C.CXType_OCLImage2dMSAADepthRO)
const Type_OCLImage2dMSAADepthRW = TypeKind(C.CXType_OCLImage2dMSAADepthRW)
const Type_OCLImage2dMSAADepthWO = TypeKind(C.CXType_OCLImage2dMSAADepthWO)
const Type_OCLImage2dMSAARO = TypeKind(C.CXType_OCLImage2dMSAARO)
const Type_OCLImage2dMSAARW = TypeKind(C.CXType_OCLImage2dMSAARW)
const Type_OCLImage2dMSAAWO = TypeKind(C.CXType_OCLImage2dMSAAWO)
const Type_OCLImage2dRO = TypeKind(C.CXType_OCLImage2dRO)
const Type_OCLImage2dRW = TypeKind(C.CXType_OCLImage2dRW)
const Type_OCLImage2dWO = TypeKind(C.CXType_OCLImage2dWO)
const Type_OCLImage3dRO = TypeKind(C.CXType_OCLImage3dRO)
const Type_OCLImage3dRW = TypeKind(C.CXType_OCLImage3dRW)
const Type_OCLImage3dWO = TypeKind(C.CXType_OCLImage3dWO)
const Type_OCLIntelSubgroupAVCImeDualRefStreamin = TypeKind(C.CXType_OCLIntelSubgroupAVCImeDualRefStreamin)
const Type_OCLIntelSubgroupAVCImeDualReferenceStreamin = TypeKind(C.CXType_OCLIntelSubgroupAVCImeDualReferenceStreamin)
const Type_OCLIntelSubgroupAVCImePayload = TypeKind(C.CXType_OCLIntelSubgroupAVCImePayload)
const Type_OCLIntelSubgroupAVCImeResult = TypeKind(C.CXType_OCLIntelSubgroupAVCImeResult)
const Type_OCLIntelSubgroupAVCImeResultDualRefStreamout = TypeKind(C.CXType_OCLIntelSubgroupAVCImeResultDualRefStreamout)
const Type_OCLIntelSubgroupAVCImeResultDualReferenceStreamout = TypeKind(C.CXType_OCLIntelSubgroupAVCImeResultDualReferenceStreamout)
const Type_OCLIntelSubgroupAVCImeResultSingleRefStreamout = TypeKind(C.CXType_OCLIntelSubgroupAVCImeResultSingleRefStreamout)
const Type_OCLIntelSubgroupAVCImeResultSingleReferenceStreamout = TypeKind(C.CXType_OCLIntelSubgroupAVCImeResultSingleReferenceStreamout)
const Type_OCLIntelSubgroupAVCImeSingleRefStreamin = TypeKind(C.CXType_OCLIntelSubgroupAVCImeSingleRefStreamin)
const Type_OCLIntelSubgroupAVCImeSingleReferenceStreamin = TypeKind(C.CXType_OCLIntelSubgroupAVCImeSingleReferenceStreamin)
const Type_OCLIntelSubgroupAVCMcePayload = TypeKind(C.CXType_OCLIntelSubgroupAVCMcePayload)
const Type_OCLIntelSubgroupAVCMceResult = TypeKind(C.CXType_OCLIntelSubgroupAVCMceResult)
const Type_OCLIntelSubgroupAVCRefPayload = TypeKind(C.CXType_OCLIntelSubgroupAVCRefPayload)
const Type_OCLIntelSubgroupAVCRefResult = TypeKind(C.CXType_OCLIntelSubgroupAVCRefResult)
const Type_OCLIntelSubgroupAVCSicPayload = TypeKind(C.CXType_OCLIntelSubgroupAVCSicPayload)
const Type_OCLIntelSubgroupAVCSicResult = TypeKind(C.CXType_OCLIntelSubgroupAVCSicResult)
const Type_OCLQueue = TypeKind(C.CXType_OCLQueue)
const Type_OCLReserveID = TypeKind(C.CXType_OCLReserveID)
const Type_OCLSampler = TypeKind(C.CXType_OCLSampler)
const Type_ObjCClass = TypeKind(C.CXType_ObjCClass)
const Type_ObjCId = TypeKind(C.CXType_ObjCId)
const Type_ObjCInterface = TypeKind(C.CXType_ObjCInterface)
const Type_ObjCObject = TypeKind(C.CXType_ObjCObject)
const Type_ObjCObjectPointer = TypeKind(C.CXType_ObjCObjectPointer)
const Type_ObjCSel = TypeKind(C.CXType_ObjCSel)
const Type_ObjCTypeParam = TypeKind(C.CXType_ObjCTypeParam)
const Type_Overload = TypeKind(C.CXType_Overload)
const Type_Pipe = TypeKind(C.CXType_Pipe)
const Type_Pointer = TypeKind(C.CXType_Pointer)
const Type_RValueReference = TypeKind(C.CXType_RValueReference)
const Type_Record = TypeKind(C.CXType_Record)
const Type_SChar = TypeKind(C.CXType_SChar)
const Type_Short = TypeKind(C.CXType_Short)
const Type_ShortAccum = TypeKind(C.CXType_ShortAccum)
const Type_Typedef = TypeKind(C.CXType_Typedef)
const Type_UAccum = TypeKind(C.CXType_UAccum)
const Type_UChar = TypeKind(C.CXType_UChar)
const Type_UInt = TypeKind(C.CXType_UInt)
const Type_UInt128 = TypeKind(C.CXType_UInt128)
const Type_ULong = TypeKind(C.CXType_ULong)
const Type_ULongAccum = TypeKind(C.CXType_ULongAccum)
const Type_ULongLong = TypeKind(C.CXType_ULongLong)
const Type_UShort = TypeKind(C.CXType_UShort)
const Type_UShortAccum = TypeKind(C.CXType_UShortAccum)
const Type_Unexposed = TypeKind(C.CXType_Unexposed)
const Type_VariableArray = TypeKind(C.CXType_VariableArray)
const Type_Vector = TypeKind(C.CXType_Vector)
const Type_Void = TypeKind(C.CXType_Void)
const Type_WChar = TypeKind(C.CXType_WChar)
Variables ¶
This section is empty.
Functions ¶
func VisitChildren ¶
func VisitChildren(cursor Cursor, cb ChildVisitCallback)
Types ¶
type AvailabilityKind ¶
type AvailabilityKind C.enum_CXAvailabilityKind
func (AvailabilityKind) String ¶
func (k AvailabilityKind) String() string
type ChildVisitCallback ¶
type ChildVisitCallback func(cursor Cursor, parent Cursor) ChildVisitResult
type ChildVisitResult ¶
type ChildVisitResult C.enum_CXChildVisitResult
type Cursor ¶
func (Cursor) Availability ¶
func (c Cursor) Availability() AvailabilityKind
func (Cursor) EnumConstantDeclUnsignedValue ¶
func (Cursor) EnumConstantDeclValue ¶
func (Cursor) IsDeprecated ¶
func (Cursor) Kind ¶
func (c Cursor) Kind() CursorKind
type CursorKind ¶
type CursorKind C.enum_CXCursorKind
func (CursorKind) String ¶
func (k CursorKind) String() string
type Type ¶
func (Type) CanonicalType ¶
func (Type) IsFunctionTypeVariadic ¶
func (Type) PointeeType ¶
func (Type) ResultType ¶
type TypeKind ¶
type TypeKind C.enum_CXTypeKind