ATDGenerated.Clang_ast_t
type atomic_expr_kind = [
|
`AO__c11_atomic_init
|
`AO__c11_atomic_load
|
`AO__c11_atomic_store
|
`AO__c11_atomic_exchange
|
`AO__c11_atomic_compare_exchange_strong
|
`AO__c11_atomic_compare_exchange_weak
|
`AO__c11_atomic_fetch_add
|
`AO__c11_atomic_fetch_sub
|
`AO__c11_atomic_fetch_and
|
`AO__c11_atomic_fetch_or
|
`AO__c11_atomic_fetch_xor
|
`AO__c11_atomic_fetch_nand
|
`AO__c11_atomic_fetch_max
|
`AO__c11_atomic_fetch_min
|
`AO__atomic_load
|
`AO__atomic_load_n
|
`AO__atomic_store
|
`AO__atomic_store_n
|
`AO__atomic_exchange
|
`AO__atomic_exchange_n
|
`AO__atomic_compare_exchange
|
`AO__atomic_compare_exchange_n
|
`AO__atomic_fetch_add
|
`AO__atomic_fetch_sub
|
`AO__atomic_fetch_and
|
`AO__atomic_fetch_or
|
`AO__atomic_fetch_xor
|
`AO__atomic_fetch_nand
|
`AO__atomic_add_fetch
|
`AO__atomic_sub_fetch
|
`AO__atomic_and_fetch
|
`AO__atomic_or_fetch
|
`AO__atomic_xor_fetch
|
`AO__atomic_max_fetch
|
`AO__atomic_min_fetch
|
`AO__atomic_nand_fetch
|
`AO__scoped_atomic_load
|
`AO__scoped_atomic_load_n
|
`AO__scoped_atomic_store
|
`AO__scoped_atomic_store_n
|
`AO__scoped_atomic_exchange
|
`AO__scoped_atomic_exchange_n
|
`AO__scoped_atomic_compare_exchange
|
`AO__scoped_atomic_compare_exchange_n
|
`AO__scoped_atomic_fetch_add
|
`AO__scoped_atomic_fetch_sub
|
`AO__scoped_atomic_fetch_and
|
`AO__scoped_atomic_fetch_or
|
`AO__scoped_atomic_fetch_xor
|
`AO__scoped_atomic_fetch_nand
|
`AO__scoped_atomic_add_fetch
|
`AO__scoped_atomic_sub_fetch
|
`AO__scoped_atomic_and_fetch
|
`AO__scoped_atomic_or_fetch
|
`AO__scoped_atomic_xor_fetch
|
`AO__scoped_atomic_max_fetch
|
`AO__scoped_atomic_min_fetch
|
`AO__scoped_atomic_nand_fetch
|
`AO__scoped_atomic_fetch_min
|
`AO__scoped_atomic_fetch_max
|
`AO__opencl_atomic_init
|
`AO__opencl_atomic_load
|
`AO__opencl_atomic_store
|
`AO__opencl_atomic_exchange
|
`AO__opencl_atomic_compare_exchange_strong
|
`AO__opencl_atomic_compare_exchange_weak
|
`AO__opencl_atomic_fetch_add
|
`AO__opencl_atomic_fetch_sub
|
`AO__opencl_atomic_fetch_and
|
`AO__opencl_atomic_fetch_or
|
`AO__opencl_atomic_fetch_xor
|
`AO__opencl_atomic_fetch_min
|
`AO__opencl_atomic_fetch_max
|
`AO__atomic_fetch_min
|
`AO__atomic_fetch_max
|
`AO__hip_atomic_load
|
`AO__hip_atomic_store
|
`AO__hip_atomic_compare_exchange_weak
|
`AO__hip_atomic_compare_exchange_strong
|
`AO__hip_atomic_exchange
|
`AO__hip_atomic_fetch_add
|
`AO__hip_atomic_fetch_sub
|
`AO__hip_atomic_fetch_and
|
`AO__hip_atomic_fetch_or
|
`AO__hip_atomic_fetch_xor
|
`AO__hip_atomic_fetch_min
|
`AO__hip_atomic_fetch_max
]
type attribute_kind =
| AddressSpaceAttrKind
| AnnotateTypeAttrKind
| ArmInAttrKind
| ArmInOutAttrKind
| ArmMveStrictPolymorphismAttrKind
| ArmOutAttrKind
| ArmPreservesAttrKind
| ArmStreamingAttrKind
| ArmStreamingCompatibleAttrKind
| BTFTypeTagAttrKind
| CmseNSCallAttrKind
| HLSLParamModifierAttrKind
| NoDerefAttrKind
| ObjCGCAttrKind
| ObjCInertUnsafeUnretainedAttrKind
| ObjCKindOfAttrKind
| OpenCLConstantAddressSpaceAttrKind
| OpenCLGenericAddressSpaceAttrKind
| OpenCLGlobalAddressSpaceAttrKind
| OpenCLGlobalDeviceAddressSpaceAttrKind
| OpenCLGlobalHostAddressSpaceAttrKind
| OpenCLLocalAddressSpaceAttrKind
| OpenCLPrivateAddressSpaceAttrKind
| Ptr32AttrKind
| Ptr64AttrKind
| SPtrAttrKind
| TypeNonNullAttrKind
| TypeNullUnspecifiedAttrKind
| TypeNullableAttrKind
| TypeNullableResultAttrKind
| UPtrAttrKind
| WebAssemblyFuncrefAttrKind
| CodeAlignAttrKind
| FallThroughAttrKind
| LikelyAttrKind
| MustTailAttrKind
| OpenCLUnrollHintAttrKind
| UnlikelyAttrKind
| AlwaysInlineAttrKind
| NoInlineAttrKind
| NoMergeAttrKind
| SuppressAttrKind
| AArch64SVEPcsAttrKind
| AArch64VectorPcsAttrKind
| AMDGPUKernelCallAttrKind
| AcquireHandleAttrKind
| AnyX86NoCfCheckAttrKind
| CDeclAttrKind
| FastCallAttrKind
| IntelOclBiccAttrKind
| LifetimeBoundAttrKind
| M68kRTDAttrKind
| MSABIAttrKind
| NSReturnsRetainedAttrKind
| ObjCOwnershipAttrKind
| PascalAttrKind
| PcsAttrKind
| PreserveAllAttrKind
| PreserveMostAttrKind
| RegCallAttrKind
| StdCallAttrKind
| SwiftAsyncCallAttrKind
| SwiftCallAttrKind
| SysVABIAttrKind
| ThisCallAttrKind
| VectorCallAttrKind
| SwiftAsyncContextAttrKind
| SwiftContextAttrKind
| SwiftErrorResultAttrKind
| SwiftIndirectResultAttrKind
| AnnotateAttrKind
| CFConsumedAttrKind
| CarriesDependencyAttrKind
| NSConsumedAttrKind
| NonNullAttrKind
| OSConsumedAttrKind
| PassObjectSizeAttrKind
| ReleaseHandleAttrKind
| UseHandleAttrKind
| HLSLSV_DispatchThreadIDAttrKind
| HLSLSV_GroupIndexAttrKind
| AMDGPUFlatWorkGroupSizeAttrKind
| AMDGPUNumSGPRAttrKind
| AMDGPUNumVGPRAttrKind
| AMDGPUWavesPerEUAttrKind
| ARMInterruptAttrKind
| AVRInterruptAttrKind
| AVRSignalAttrKind
| AcquireCapabilityAttrKind
| AcquiredAfterAttrKind
| AcquiredBeforeAttrKind
| AlignMac68kAttrKind
| AlignNaturalAttrKind
| AlignedAttrKind
| AllocAlignAttrKind
| AllocSizeAttrKind
| AlwaysDestroyAttrKind
| AnalyzerNoReturnAttrKind
| AnyX86InterruptAttrKind
| AnyX86NoCallerSavedRegistersAttrKind
| ArgumentWithTypeTagAttrKind
| ArmBuiltinAliasAttrKind
| ArmLocallyStreamingAttrKind
| ArmNewAttrKind
| ArtificialAttrKind
| AsmLabelAttrKind
| AssertCapabilityAttrKind
| AssertExclusiveLockAttrKind
| AssumeAlignedAttrKind
| AssumptionAttrKind
| AvailabilityAttrKind
| AvailableOnlyInDefaultEvalMethodAttrKind
| BPFPreserveAccessIndexAttrKind
| BPFPreserveStaticOffsetAttrKind
| BTFDeclTagAttrKind
| BlocksAttrKind
| BuiltinAttrKind
| C11NoReturnAttrKind
| CFAuditedTransferAttrKind
| CFGuardAttrKind
| CFICanonicalJumpTableAttrKind
| CFReturnsNotRetainedAttrKind
| CFReturnsRetainedAttrKind
| CFUnknownTransferAttrKind
| CPUDispatchAttrKind
| CPUSpecificAttrKind
| CUDAConstantAttrKind
| CUDADeviceAttrKind
| CUDADeviceBuiltinSurfaceTypeAttrKind
| CUDADeviceBuiltinTextureTypeAttrKind
| CUDAGlobalAttrKind
| CUDAHostAttrKind
| CUDAInvalidTargetAttrKind
| CUDALaunchBoundsAttrKind
| CXX11NoReturnAttrKind
| CallableWhenAttrKind
| CallbackAttrKind
| CapabilityAttrKind
| CapturedRecordAttrKind
| CleanupAttrKind
| CmseNSEntryAttrKind
| CodeModelAttrKind
| CodeSegAttrKind
| ColdAttrKind
| CommonAttrKind
| ConstAttrKind
| ConstInitAttrKind
| ConstructorAttrKind
| ConsumableAttrKind
| ConsumableAutoCastAttrKind
| ConsumableSetOnReadAttrKind
| ConvergentAttrKind
| CoroDisableLifetimeBoundAttrKind
| CoroLifetimeBoundAttrKind
| CoroOnlyDestroyWhenCompleteAttrKind
| CoroReturnTypeAttrKind
| CoroWrapperAttrKind
| CountedByAttrKind
| DLLExportAttrKind
| DLLExportStaticLocalAttrKind
| DLLImportAttrKind
| DLLImportStaticLocalAttrKind
| DeprecatedAttrKind
| DestructorAttrKind
| DiagnoseAsBuiltinAttrKind
| DiagnoseIfAttrKind
| DisableSanitizerInstrumentationAttrKind
| DisableTailCallsAttrKind
| EmptyBasesAttrKind
| EnableIfAttrKind
| EnforceTCBAttrKind
| EnforceTCBLeafAttrKind
| EnumExtensibilityAttrKind
| ErrorAttrKind
| ExcludeFromExplicitInstantiationAttrKind
| ExclusiveTrylockFunctionAttrKind
| ExternalSourceSymbolAttrKind
| FinalAttrKind
| FlagEnumAttrKind
| FlattenAttrKind
| FormatAttrKind
| FormatArgAttrKind
| FunctionReturnThunksAttrKind
| GNUInlineAttrKind
| GuardedByAttrKind
| GuardedVarAttrKind
| HIPManagedAttrKind
| HLSLNumThreadsAttrKind
| HLSLResourceAttrKind
| HLSLResourceBindingAttrKind
| HLSLShaderAttrKind
| HotAttrKind
| IBActionAttrKind
| IBOutletAttrKind
| IBOutletCollectionAttrKind
| InitPriorityAttrKind
| InternalLinkageAttrKind
| LTOVisibilityPublicAttrKind
| LayoutVersionAttrKind
| LeafAttrKind
| LockReturnedAttrKind
| LocksExcludedAttrKind
| M68kInterruptAttrKind
| MIGServerRoutineAttrKind
| MSAllocatorAttrKind
| MSConstexprAttrKind
| MSInheritanceAttrKind
| MSNoVTableAttrKind
| MSP430InterruptAttrKind
| MSStructAttrKind
| MSVtorDispAttrKind
| MaxFieldAlignmentAttrKind
| MayAliasAttrKind
| MaybeUndefAttrKind
| MicroMipsAttrKind
| MinSizeAttrKind
| MinVectorWidthAttrKind
| Mips16AttrKind
| MipsInterruptAttrKind
| MipsLongCallAttrKind
| MipsShortCallAttrKind
| NSConsumesSelfAttrKind
| NSErrorDomainAttrKind
| NSReturnsAutoreleasedAttrKind
| NSReturnsNotRetainedAttrKind
| NVPTXKernelAttrKind
| NakedAttrKind
| NoAliasAttrKind
| NoCommonAttrKind
| NoDebugAttrKind
| NoDestroyAttrKind
| NoDuplicateAttrKind
| NoInstrumentFunctionAttrKind
| NoMicroMipsAttrKind
| NoMips16AttrKind
| NoProfileFunctionAttrKind
| NoRandomizeLayoutAttrKind
| NoReturnAttrKind
| NoSanitizeAttrKind
| NoSpeculativeLoadHardeningAttrKind
| NoSplitStackAttrKind
| NoStackProtectorAttrKind
| NoThreadSafetyAnalysisAttrKind
| NoThrowAttrKind
| NoUniqueAddressAttrKind
| NoUwtableAttrKind
| NotTailCalledAttrKind
| OMPAllocateDeclAttrKind
| OMPCaptureNoInitAttrKind
| OMPDeclareTargetDeclAttrKind
| OMPDeclareVariantAttrKind
| OMPThreadPrivateDeclAttrKind
| OSConsumesThisAttrKind
| OSReturnsNotRetainedAttrKind
| OSReturnsRetainedAttrKind
| OSReturnsRetainedOnNonZeroAttrKind
| OSReturnsRetainedOnZeroAttrKind
| ObjCBridgeAttrKind
| ObjCBridgeMutableAttrKind
| ObjCBridgeRelatedAttrKind
| ObjCExceptionAttrKind
| ObjCExplicitProtocolImplAttrKind
| ObjCExternallyRetainedAttrKind
| ObjCIndependentClassAttrKind
| ObjCMethodFamilyAttrKind
| ObjCNSObjectAttrKind
| ObjCPreciseLifetimeAttrKind
| ObjCRequiresPropertyDefsAttrKind
| ObjCRequiresSuperAttrKind
| ObjCReturnsInnerPointerAttrKind
| ObjCRootClassAttrKind
| ObjCSubclassingRestrictedAttrKind
| OpenCLIntelReqdSubGroupSizeAttrKind
| OpenCLKernelAttrKind
| OptimizeNoneAttrKind
| OverrideAttrKind
| OwnerAttrKind
| OwnershipAttrKind
| PackedAttrKind
| ParamTypestateAttrKind
| PatchableFunctionEntryAttrKind
| PointerAttrKind
| PragmaClangBSSSectionAttrKind
| PragmaClangDataSectionAttrKind
| PragmaClangRelroSectionAttrKind
| PragmaClangRodataSectionAttrKind
| PragmaClangTextSectionAttrKind
| PreferredNameAttrKind
| PreferredTypeAttrKind
| PtGuardedByAttrKind
| PtGuardedVarAttrKind
| PureAttrKind
| RISCVInterruptAttrKind
| RandomizeLayoutAttrKind
| ReadOnlyPlacementAttrKind
| ReinitializesAttrKind
| ReleaseCapabilityAttrKind
| ReqdWorkGroupSizeAttrKind
| RequiresCapabilityAttrKind
| RestrictAttrKind
| RetainAttrKind
| ReturnTypestateAttrKind
| ReturnsNonNullAttrKind
| ReturnsTwiceAttrKind
| SYCLKernelAttrKind
| SYCLSpecialClassAttrKind
| ScopedLockableAttrKind
| SectionAttrKind
| SelectAnyAttrKind
| SentinelAttrKind
| SetTypestateAttrKind
| SpeculativeLoadHardeningAttrKind
| StandaloneDebugAttrKind
| StrictFPAttrKind
| StrictGuardStackCheckAttrKind
| SwiftAsyncAttrKind
| SwiftAsyncErrorAttrKind
| SwiftAsyncNameAttrKind
| SwiftAttrAttrKind
| SwiftBridgeAttrKind
| SwiftBridgedTypedefAttrKind
| SwiftErrorAttrKind
| SwiftImportAsNonGenericAttrKind
| SwiftImportPropertyAsAccessorsAttrKind
| SwiftNameAttrKind
| SwiftNewTypeAttrKind
| SwiftPrivateAttrKind
| TLSModelAttrKind
| TargetAttrKind
| TargetClonesAttrKind
| TargetVersionAttrKind
| TestTypestateAttrKind
| TransparentUnionAttrKind
| TrivialABIAttrKind
| TryAcquireCapabilityAttrKind
| TypeTagForDatatypeAttrKind
| TypeVisibilityAttrKind
| UninitializedAttrKind
| UnsafeBufferUsageAttrKind
| UnusedAttrKind
| UsedAttrKind
| UsingIfExistsAttrKind
| UuidAttrKind
| VecReturnAttrKind
| VecTypeHintAttrKind
| VisibilityAttrKind
| WarnUnusedAttrKind
| WarnUnusedResultAttrKind
| WeakAttrKind
| WeakImportAttrKind
| WeakRefAttrKind
| WebAssemblyExportNameAttrKind
| WebAssemblyImportModuleAttrKind
| WebAssemblyImportNameAttrKind
| WorkGroupSizeHintAttrKind
| X86ForceAlignArgPointerAttrKind
| XRayInstrumentAttrKind
| XRayLogArgsAttrKind
| ZeroCallUsedRegsAttrKind
| AbiTagAttrKind
| AliasAttrKind
| AlignValueAttrKind
| BuiltinAliasAttrKind
| CalledOnceAttrKind
| IFuncAttrKind
| InitSegAttrKind
| LoaderUninitializedAttrKind
| LoopHintAttrKind
| ModeAttrKind
| NoBuiltinAttrKind
| NoEscapeAttrKind
| OMPCaptureKindAttrKind
| OMPDeclareSimdDeclAttrKind
| OMPReferencedVarAttrKind
| ObjCBoxableAttrKind
| ObjCClassStubAttrKind
| ObjCDesignatedInitializerAttrKind
| ObjCDirectAttrKind
| ObjCDirectMembersAttrKind
| ObjCNonLazyClassAttrKind
| ObjCNonRuntimeProtocolAttrKind
| ObjCRuntimeNameAttrKind
| ObjCRuntimeVisibleAttrKind
| OpenCLAccessAttrKind
| OverloadableAttrKind
| RenderScriptKernelAttrKind
| SwiftObjCMembersAttrKind
| SwiftVersionedAdditionAttrKind
| SwiftVersionedRemovalAttrKind
| ThreadAttrKind
type builtin_type_kind = [
|
`Void
|
`Bool
|
`Char_U
|
`UChar
|
`WChar_U
|
`Char8
|
`Char16
|
`Char32
|
`UShort
|
`UInt
|
`ULong
|
`ULongLong
|
`UInt128
|
`Char_S
|
`SChar
|
`WChar_S
|
`Short
|
`Int
|
`Long
|
`LongLong
|
`Int128
|
`ShortAccum
|
`Accum
|
`LongAccum
|
`UShortAccum
|
`UAccum
|
`ULongAccum
|
`ShortFract
|
`Fract
|
`LongFract
|
`UShortFract
|
`UFract
|
`ULongFract
|
`SatShortAccum
|
`SatAccum
|
`SatLongAccum
|
`SatUShortAccum
|
`SatUAccum
|
`SatULongAccum
|
`SatShortFract
|
`SatFract
|
`SatLongFract
|
`SatUShortFract
|
`SatUFract
|
`SatULongFract
|
`Half
|
`Float
|
`Double
|
`LongDouble
|
`Float16
|
`BFloat16
|
`Float128
|
`Ibm128
|
`NullPtr
|
`ObjCId
|
`ObjCClass
|
`ObjCSel
|
`OCLSampler
|
`OCLEvent
|
`OCLClkEvent
|
`OCLQueue
|
`OCLReserveID
|
`Dependent
|
`Overload
|
`BoundMember
|
`PseudoObject
|
`UnknownAny
|
`BuiltinFn
|
`ARCUnbridgedCast
|
`IncompleteMatrixIdx
|
`OMPArraySection
|
`OMPArrayShaping
|
`OMPIterator
|
`SveInt8
|
`SveInt16
|
`SveInt32
|
`SveInt64
|
`SveUint8
|
`SveUint16
|
`SveUint32
|
`SveUint64
|
`SveFloat16
|
`SveFloat32
|
`SveFloat64
|
`SveBFloat16
|
`SveInt8x2
|
`SveInt16x2
|
`SveInt32x2
|
`SveInt64x2
|
`SveUint8x2
|
`SveUint16x2
|
`SveUint32x2
|
`SveUint64x2
|
`SveFloat16x2
|
`SveFloat32x2
|
`SveFloat64x2
|
`SveBFloat16x2
|
`SveInt8x3
|
`SveInt16x3
|
`SveInt32x3
|
`SveInt64x3
|
`SveUint8x3
|
`SveUint16x3
|
`SveUint32x3
|
`SveUint64x3
|
`SveFloat16x3
|
`SveFloat32x3
|
`SveFloat64x3
|
`SveBFloat16x3
|
`SveInt8x4
|
`SveInt16x4
|
`SveInt32x4
|
`SveInt64x4
|
`SveUint8x4
|
`SveUint16x4
|
`SveUint32x4
|
`SveUint64x4
|
`SveFloat16x4
|
`SveFloat32x4
|
`SveFloat64x4
|
`SveBFloat16x4
|
`SveBool
|
`SveBoolx2
|
`SveBoolx4
|
`SveCount
]
type cast_kind = [
|
`Dependent
|
`BitCast
|
`LValueBitCast
|
`LValueToRValueBitCast
|
`LValueToRValue
|
`NoOp
|
`BaseToDerived
|
`DerivedToBase
|
`UncheckedDerivedToBase
|
`Dynamic
|
`ToUnion
|
`ArrayToPointerDecay
|
`FunctionToPointerDecay
|
`NullToPointer
|
`NullToMemberPointer
|
`BaseToDerivedMemberPointer
|
`DerivedToBaseMemberPointer
|
`MemberPointerToBoolean
|
`ReinterpretMemberPointer
|
`UserDefinedConversion
|
`ConstructorConversion
|
`IntegralToPointer
|
`PointerToIntegral
|
`PointerToBoolean
|
`ToVoid
|
`MatrixCast
|
`VectorSplat
|
`IntegralCast
|
`IntegralToBoolean
|
`IntegralToFloating
|
`FloatingToFixedPoint
|
`FixedPointToFloating
|
`FixedPointCast
|
`FixedPointToIntegral
|
`IntegralToFixedPoint
|
`FixedPointToBoolean
|
`FloatingToIntegral
|
`FloatingToBoolean
|
`BooleanToSignedIntegral
|
`FloatingCast
|
`CPointerToObjCPointerCast
|
`BlockPointerToObjCPointerCast
|
`AnyPointerToBlockPointerCast
|
`ObjCObjectLValueCast
|
`FloatingRealToComplex
|
`FloatingComplexToReal
|
`FloatingComplexToBoolean
|
`FloatingComplexCast
|
`FloatingComplexToIntegralComplex
|
`IntegralRealToComplex
|
`IntegralComplexToReal
|
`IntegralComplexToBoolean
|
`IntegralComplexCast
|
`IntegralComplexToFloatingComplex
|
`ARCProduceObject
|
`ARCConsumeObject
|
`ARCReclaimReturnedObject
|
`ARCExtendBlockObject
|
`AtomicToNonAtomic
|
`NonAtomicToAtomic
|
`CopyAndAutoreleaseBlockObject
|
`BuiltinFnToFnPtr
|
`ZeroToOCLOpaqueType
|
`AddressSpaceConversion
|
`IntToOCLSampler
]
type decl_kind = [
|
`TranslationUnit
|
`RequiresExprBody
|
`LinkageSpec
|
`ExternCContext
|
`Export
|
`Captured
|
`Block
|
`TopLevelStmt
|
`StaticAssert
|
`PragmaDetectMismatch
|
`PragmaComment
|
`ObjCPropertyImpl
|
`OMPThreadPrivate
|
`OMPRequires
|
`OMPAllocate
|
`Named
|
`ObjCMethod
|
`ObjCContainer
|
`ObjCProtocol
|
`ObjCInterface
|
`ObjCImpl
|
`ObjCImplementation
|
`ObjCCategoryImpl
|
`ObjCCategory
|
`Namespace
|
`HLSLBuffer
|
`Value
|
`OMPDeclareReduction
|
`OMPDeclareMapper
|
`UnresolvedUsingValue
|
`UnnamedGlobalConstant
|
`TemplateParamObject
|
`MSGuid
|
`IndirectField
|
`EnumConstant
|
`Declarator
|
`Function
|
`CXXMethod
|
`CXXDestructor
|
`CXXConversion
|
`CXXConstructor
|
`CXXDeductionGuide
|
`Var
|
`VarTemplateSpecialization
|
`VarTemplatePartialSpecialization
|
`ParmVar
|
`OMPCapturedExpr
|
`ImplicitParam
|
`Decomposition
|
`NonTypeTemplateParm
|
`MSProperty
|
`Field
|
`ObjCIvar
|
`ObjCAtDefsField
|
`Binding
|
`UsingShadow
|
`ConstructorUsingShadow
|
`UsingPack
|
`UsingDirective
|
`UnresolvedUsingIfExists
|
`Type
|
`Tag
|
`Record
|
`CXXRecord
|
`ClassTemplateSpecialization
|
`ClassTemplatePartialSpecialization
|
`Enum
|
`UnresolvedUsingTypename
|
`TypedefName
|
`Typedef
|
`TypeAlias
|
`ObjCTypeParam
|
`TemplateTypeParm
|
`Template
|
`TemplateTemplateParm
|
`RedeclarableTemplate
|
`VarTemplate
|
`TypeAliasTemplate
|
`FunctionTemplate
|
`ClassTemplate
|
`Concept
|
`BuiltinTemplate
|
`ObjCProperty
|
`ObjCCompatibleAlias
|
`NamespaceAlias
|
`Label
|
`BaseUsing
|
`UsingEnum
|
`Using
|
`LifetimeExtendedTemporary
|
`Import
|
`ImplicitConceptSpecialization
|
`FriendTemplate
|
`Friend
|
`FileScopeAsm
|
`Empty
|
`AccessSpec
]
type cxx_temporary = pointer
type record_decl_info = {
rdi_definition_ptr : pointer;
rdi_is_module_private : bool;
rdi_is_complete_definition : bool;
rdi_is_dependent_type : bool;
}
type obj_c_subscript_ref_expr_info = {
osrei_kind : obj_c_subscript_kind;
osrei_getter : selector option;
osrei_setter : selector option;
}
type source_location = {
mutable sl_file : source_file option;
mutable sl_line : int option;
mutable sl_column : int option;
sl_is_macro : bool;
mutable sl_macro_file : source_file option;
mutable sl_macro_line : int option;
}
type source_range = source_location * source_location
type attr_tuple = attribute_info
type type_ptr = Clang_ast_types.TypePtr.t
type qual_type = {
qt_type_ptr : type_ptr;
qt_is_const : bool;
qt_is_restrict : bool;
qt_is_volatile : bool;
}
type decl_ref = {
dr_kind : decl_kind;
dr_decl_pointer : pointer;
dr_name : named_decl_info option;
dr_qual_type : qual_type option;
}
type cxx_construct_expr_info = {
xcei_decl_ref : decl_ref;
xcei_is_elidable : bool;
xcei_requires_zero_initialization : bool;
xcei_is_copy_constructor : bool;
}
type member_expr_info = {
mei_is_arrow : bool;
mei_performs_virtual_dispatch : bool;
mei_name : named_decl_info;
mei_decl_ref : decl_ref;
}
type namespace_alias_decl_info = {
nadi_namespace_loc : source_location;
nadi_target_name_loc : source_location;
nadi_nested_name_specifier_locs : nested_name_specifier_loc list;
nadi_namespace : decl_ref;
}
type obj_c_property_decl_info = {
opdi_qual_type : qual_type;
opdi_getter_method : decl_ref option;
opdi_setter_method : decl_ref option;
opdi_ivar_decl : decl_ref option;
opdi_property_control : obj_c_property_control;
opdi_property_attributes : property_attribute list;
}
type obj_c_property_impl_decl_info = {
opidi_implementation : property_implementation;
opidi_property_decl : decl_ref option;
opidi_ivar_decl : decl_ref option;
}
type obj_c_property_ref_expr_info = {
oprei_kind : property_ref_kind;
oprei_is_super_receiver : bool;
oprei_is_messaging_getter : bool;
oprei_is_messaging_setter : bool;
}
type obj_c_message_expr_info = {
omei_selector : string;
omei_is_definition_found : bool;
omei_decl_pointer : pointer option;
omei_receiver_kind : receiver_kind;
}
type c_type =
| NoneType of type_info
| AdjustedType of type_info * qual_type
| DecayedType of type_info * qual_type
| ConstantArrayType of type_info * array_type_info * int
| DependentSizedArrayType of type_info * array_type_info
| IncompleteArrayType of type_info * array_type_info
| VariableArrayType of type_info * array_type_info * pointer
| AtomicType of type_info * qual_type
| AttributedType of type_info * attr_type_info
| BTFTagAttributedType of type_info
| BitIntType of type_info
| BlockPointerType of type_info * qual_type
| BuiltinType of type_info * builtin_type_kind
| ComplexType of type_info
| DecltypeType of type_info * qual_type
| AutoType of type_info
| DeducedTemplateSpecializationType of type_info
| DependentAddressSpaceType of type_info
| DependentBitIntType of type_info
| DependentNameType of type_info
| DependentSizedExtVectorType of type_info
| DependentTemplateSpecializationType of type_info
| DependentVectorType of type_info
| ElaboratedType of type_info
| FunctionNoProtoType of type_info * function_type_info
| FunctionProtoType of type_info * function_type_info * params_type_info
| InjectedClassNameType of type_info
| MacroQualifiedType of type_info
| ConstantMatrixType of type_info
| DependentSizedMatrixType of type_info
| MemberPointerType of type_info * qual_type
| ObjCObjectPointerType of type_info * qual_type
| ObjCObjectType of type_info * objc_object_type_info
| ObjCInterfaceType of type_info * pointer
| ObjCTypeParamType of type_info
| PackExpansionType of type_info
| ParenType of type_info * qual_type
| PipeType of type_info
| PointerType of type_info * qual_type
| LValueReferenceType of type_info * qual_type
| RValueReferenceType of type_info * qual_type
| SubstTemplateTypeParmPackType of type_info
| SubstTemplateTypeParmType of type_info
| EnumType of type_info * pointer
| RecordType of type_info * pointer
| TemplateSpecializationType of type_info
| TemplateTypeParmType of type_info
| TypeOfExprType of type_info
| TypeOfType of type_info
| TypedefType of type_info * typedef_type_info
| UnaryTransformType of type_info
| UnresolvedUsingType of type_info
| UsingType of type_info
| VectorType of type_info
| ExtVectorType of type_info
type translation_unit_decl_info = {
tudi_input_path : source_file;
tudi_input_kind : input_kind;
tudi_integer_type_widths : integer_type_widths;
tudi_is_objc_arc_on : bool;
tudi_types : c_type list;
}
type unary_expr_or_type_trait_expr_info = {
uttei_kind : unary_expr_or_type_trait_kind;
uttei_qual_type : qual_type;
}
type unresolved_lookup_expr_info = {
ulei_requires_ADL : bool;
ulei_is_overloaded : bool;
ulei_naming_class : decl_ref option;
}
type using_directive_decl_info = {
uddi_using_location : source_location;
uddi_namespace_key_location : source_location;
uddi_nested_name_specifier_locs : nested_name_specifier_loc list;
uddi_nominated_namespace : decl_ref option;
}
type expr_info = {
ei_qual_type : qual_type;
ei_value_kind : value_kind;
ei_object_kind : object_kind;
}
type attribute = [
|
`AddressSpaceAttr of attribute_info
|
`AnnotateTypeAttr of attribute_info
|
`ArmInAttr of attribute_info
|
`ArmInOutAttr of attribute_info
|
`ArmMveStrictPolymorphismAttr of attribute_info
|
`ArmOutAttr of attribute_info
|
`ArmPreservesAttr of attribute_info
|
`ArmStreamingAttr of attribute_info
|
`ArmStreamingCompatibleAttr of attribute_info
|
`BTFTypeTagAttr of attribute_info
|
`CmseNSCallAttr of attribute_info
|
`HLSLParamModifierAttr of attribute_info
|
`NoDerefAttr of attribute_info
|
`ObjCGCAttr of attribute_info
|
`ObjCInertUnsafeUnretainedAttr of attribute_info
|
`ObjCKindOfAttr of attribute_info
|
`OpenCLConstantAddressSpaceAttr of attribute_info
|
`OpenCLGenericAddressSpaceAttr of attribute_info
|
`OpenCLGlobalAddressSpaceAttr of attribute_info
|
`OpenCLGlobalDeviceAddressSpaceAttr of attribute_info
|
`OpenCLGlobalHostAddressSpaceAttr of attribute_info
|
`OpenCLLocalAddressSpaceAttr of attribute_info
|
`OpenCLPrivateAddressSpaceAttr of attribute_info
|
`Ptr32Attr of attribute_info
|
`Ptr64Attr of attribute_info
|
`SPtrAttr of attribute_info
|
`TypeNonNullAttr of attribute_info
|
`TypeNullUnspecifiedAttr of attribute_info
|
`TypeNullableAttr of attribute_info
|
`TypeNullableResultAttr of attribute_info
|
`UPtrAttr of attribute_info
|
`WebAssemblyFuncrefAttr of attribute_info
|
`CodeAlignAttr of attribute_info
|
`FallThroughAttr of attribute_info
|
`LikelyAttr of attribute_info
|
`MustTailAttr of attribute_info
|
`OpenCLUnrollHintAttr of attribute_info
|
`UnlikelyAttr of attribute_info
|
`AlwaysInlineAttr of attribute_info
|
`NoInlineAttr of attribute_info
|
`NoMergeAttr of attribute_info
|
`SuppressAttr of attribute_info
|
`AArch64SVEPcsAttr of attribute_info
|
`AArch64VectorPcsAttr of attribute_info
|
`AMDGPUKernelCallAttr of attribute_info
|
`AcquireHandleAttr of attribute_info
|
`AnyX86NoCfCheckAttr of attribute_info
|
`CDeclAttr of attribute_info
|
`FastCallAttr of attribute_info
|
`IntelOclBiccAttr of attribute_info
|
`LifetimeBoundAttr of attribute_info
|
`M68kRTDAttr of attribute_info
|
`MSABIAttr of attribute_info
|
`NSReturnsRetainedAttr of attribute_info
|
`ObjCOwnershipAttr of attribute_info
|
`PascalAttr of attribute_info
|
`PcsAttr of attribute_info
|
`PreserveAllAttr of attribute_info
|
`PreserveMostAttr of attribute_info
|
`RegCallAttr of attribute_info
|
`StdCallAttr of attribute_info
|
`SwiftAsyncCallAttr of attribute_info
|
`SwiftCallAttr of attribute_info
|
`SysVABIAttr of attribute_info
|
`ThisCallAttr of attribute_info
|
`VectorCallAttr of attribute_info
|
`SwiftAsyncContextAttr of attribute_info
|
`SwiftContextAttr of attribute_info
|
`SwiftErrorResultAttr of attribute_info
|
`SwiftIndirectResultAttr of attribute_info
|
`AnnotateAttr of attr_tuple * string
|
`CFConsumedAttr of attribute_info
|
`CarriesDependencyAttr of attribute_info
|
`NSConsumedAttr of attribute_info
|
`NonNullAttr of attribute_info
|
`OSConsumedAttr of attribute_info
|
`PassObjectSizeAttr of attribute_info
|
`ReleaseHandleAttr of attribute_info
|
`UseHandleAttr of attribute_info
|
`HLSLSV_DispatchThreadIDAttr of attribute_info
|
`HLSLSV_GroupIndexAttr of attribute_info
|
`AMDGPUFlatWorkGroupSizeAttr of attribute_info
|
`AMDGPUNumSGPRAttr of attribute_info
|
`AMDGPUNumVGPRAttr of attribute_info
|
`AMDGPUWavesPerEUAttr of attribute_info
|
`ARMInterruptAttr of attribute_info
|
`AVRInterruptAttr of attribute_info
|
`AVRSignalAttr of attribute_info
|
`AcquireCapabilityAttr of attribute_info
|
`AcquiredAfterAttr of attribute_info
|
`AcquiredBeforeAttr of attribute_info
|
`AlignMac68kAttr of attribute_info
|
`AlignNaturalAttr of attribute_info
|
`AlignedAttr of attribute_info
|
`AllocAlignAttr of attribute_info
|
`AllocSizeAttr of attribute_info
|
`AlwaysDestroyAttr of attribute_info
|
`AnalyzerNoReturnAttr of attribute_info
|
`AnyX86InterruptAttr of attribute_info
|
`AnyX86NoCallerSavedRegistersAttr of attribute_info
|
`ArgumentWithTypeTagAttr of attribute_info
|
`ArmBuiltinAliasAttr of attribute_info
|
`ArmLocallyStreamingAttr of attribute_info
|
`ArmNewAttr of attribute_info
|
`ArtificialAttr of attribute_info
|
`AsmLabelAttr of attribute_info
|
`AssertCapabilityAttr of attribute_info
|
`AssertExclusiveLockAttr of attribute_info
|
`AssumeAlignedAttr of attribute_info
|
`AssumptionAttr of attribute_info
|
`AvailabilityAttr of attr_tuple * availability_attr_info
|
`AvailableOnlyInDefaultEvalMethodAttr of attribute_info
|
`BPFPreserveAccessIndexAttr of attribute_info
|
`BPFPreserveStaticOffsetAttr of attribute_info
|
`BTFDeclTagAttr of attribute_info
|
`BlocksAttr of attribute_info
|
`BuiltinAttr of attribute_info
|
`C11NoReturnAttr of attribute_info
|
`CFAuditedTransferAttr of attribute_info
|
`CFGuardAttr of attribute_info
|
`CFICanonicalJumpTableAttr of attribute_info
|
`CFReturnsNotRetainedAttr of attribute_info
|
`CFReturnsRetainedAttr of attribute_info
|
`CFUnknownTransferAttr of attribute_info
|
`CPUDispatchAttr of attribute_info
|
`CPUSpecificAttr of attribute_info
|
`CUDAConstantAttr of attribute_info
|
`CUDADeviceAttr of attribute_info
|
`CUDADeviceBuiltinSurfaceTypeAttr of attribute_info
|
`CUDADeviceBuiltinTextureTypeAttr of attribute_info
|
`CUDAGlobalAttr of attribute_info
|
`CUDAHostAttr of attribute_info
|
`CUDAInvalidTargetAttr of attribute_info
|
`CUDALaunchBoundsAttr of attribute_info
|
`CXX11NoReturnAttr of attribute_info
|
`CallableWhenAttr of attribute_info
|
`CallbackAttr of attribute_info
|
`CapabilityAttr of attribute_info
|
`CapturedRecordAttr of attribute_info
|
`CleanupAttr of attribute_info
|
`CmseNSEntryAttr of attribute_info
|
`CodeModelAttr of attribute_info
|
`CodeSegAttr of attribute_info
|
`ColdAttr of attribute_info
|
`CommonAttr of attribute_info
|
`ConstAttr of attribute_info
|
`ConstInitAttr of attribute_info
|
`ConstructorAttr of attribute_info
|
`ConsumableAttr of attribute_info
|
`ConsumableAutoCastAttr of attribute_info
|
`ConsumableSetOnReadAttr of attribute_info
|
`ConvergentAttr of attribute_info
|
`CoroDisableLifetimeBoundAttr of attribute_info
|
`CoroLifetimeBoundAttr of attribute_info
|
`CoroOnlyDestroyWhenCompleteAttr of attribute_info
|
`CoroReturnTypeAttr of attribute_info
|
`CoroWrapperAttr of attribute_info
|
`CountedByAttr of attribute_info
|
`DLLExportAttr of attribute_info
|
`DLLExportStaticLocalAttr of attribute_info
|
`DLLImportAttr of attribute_info
|
`DLLImportStaticLocalAttr of attribute_info
|
`DeprecatedAttr of attribute_info
|
`DestructorAttr of attribute_info
|
`DiagnoseAsBuiltinAttr of attribute_info
|
`DiagnoseIfAttr of attribute_info
|
`DisableSanitizerInstrumentationAttr of attribute_info
|
`DisableTailCallsAttr of attribute_info
|
`EmptyBasesAttr of attribute_info
|
`EnableIfAttr of attribute_info
|
`EnforceTCBAttr of attribute_info
|
`EnforceTCBLeafAttr of attribute_info
|
`EnumExtensibilityAttr of attribute_info
|
`ErrorAttr of attribute_info
|
`ExcludeFromExplicitInstantiationAttr of attribute_info
|
`ExclusiveTrylockFunctionAttr of attribute_info
|
`ExternalSourceSymbolAttr of attribute_info
|
`FinalAttr of attribute_info
|
`FlagEnumAttr of attribute_info
|
`FlattenAttr of attribute_info
|
`FormatAttr of attribute_info
|
`FormatArgAttr of attribute_info
|
`FunctionReturnThunksAttr of attribute_info
|
`GNUInlineAttr of attribute_info
|
`GuardedByAttr of attribute_info
|
`GuardedVarAttr of attribute_info
|
`HIPManagedAttr of attribute_info
|
`HLSLNumThreadsAttr of attribute_info
|
`HLSLResourceAttr of attribute_info
|
`HLSLResourceBindingAttr of attribute_info
|
`HLSLShaderAttr of attribute_info
|
`HotAttr of attribute_info
|
`IBActionAttr of attribute_info
|
`IBOutletAttr of attribute_info
|
`IBOutletCollectionAttr of attribute_info
|
`InitPriorityAttr of attribute_info
|
`InternalLinkageAttr of attribute_info
|
`LTOVisibilityPublicAttr of attribute_info
|
`LayoutVersionAttr of attribute_info
|
`LeafAttr of attribute_info
|
`LockReturnedAttr of attribute_info
|
`LocksExcludedAttr of attribute_info
|
`M68kInterruptAttr of attribute_info
|
`MIGServerRoutineAttr of attribute_info
|
`MSAllocatorAttr of attribute_info
|
`MSConstexprAttr of attribute_info
|
`MSInheritanceAttr of attribute_info
|
`MSNoVTableAttr of attribute_info
|
`MSP430InterruptAttr of attribute_info
|
`MSStructAttr of attribute_info
|
`MSVtorDispAttr of attribute_info
|
`MaxFieldAlignmentAttr of attribute_info
|
`MayAliasAttr of attribute_info
|
`MaybeUndefAttr of attribute_info
|
`MicroMipsAttr of attribute_info
|
`MinSizeAttr of attribute_info
|
`MinVectorWidthAttr of attribute_info
|
`Mips16Attr of attribute_info
|
`MipsInterruptAttr of attribute_info
|
`MipsLongCallAttr of attribute_info
|
`MipsShortCallAttr of attribute_info
|
`NSConsumesSelfAttr of attribute_info
|
`NSErrorDomainAttr of attribute_info
|
`NSReturnsAutoreleasedAttr of attribute_info
|
`NSReturnsNotRetainedAttr of attribute_info
|
`NVPTXKernelAttr of attribute_info
|
`NakedAttr of attribute_info
|
`NoAliasAttr of attribute_info
|
`NoCommonAttr of attribute_info
|
`NoDebugAttr of attribute_info
|
`NoDestroyAttr of attribute_info
|
`NoDuplicateAttr of attribute_info
|
`NoInstrumentFunctionAttr of attribute_info
|
`NoMicroMipsAttr of attribute_info
|
`NoMips16Attr of attribute_info
|
`NoProfileFunctionAttr of attribute_info
|
`NoRandomizeLayoutAttr of attribute_info
|
`NoReturnAttr of attribute_info
|
`NoSanitizeAttr of attribute_info
|
`NoSpeculativeLoadHardeningAttr of attribute_info
|
`NoSplitStackAttr of attribute_info
|
`NoStackProtectorAttr of attribute_info
|
`NoThreadSafetyAnalysisAttr of attribute_info
|
`NoThrowAttr of attribute_info
|
`NoUniqueAddressAttr of attribute_info
|
`NoUwtableAttr of attribute_info
|
`NotTailCalledAttr of attribute_info
|
`OMPAllocateDeclAttr of attribute_info
|
`OMPCaptureNoInitAttr of attribute_info
|
`OMPDeclareTargetDeclAttr of attribute_info
|
`OMPDeclareVariantAttr of attribute_info
|
`OMPThreadPrivateDeclAttr of attribute_info
|
`OSConsumesThisAttr of attribute_info
|
`OSReturnsNotRetainedAttr of attribute_info
|
`OSReturnsRetainedAttr of attribute_info
|
`OSReturnsRetainedOnNonZeroAttr of attribute_info
|
`OSReturnsRetainedOnZeroAttr of attribute_info
|
`ObjCBridgeAttr of attribute_info
|
`ObjCBridgeMutableAttr of attribute_info
|
`ObjCBridgeRelatedAttr of attribute_info
|
`ObjCExceptionAttr of attribute_info
|
`ObjCExplicitProtocolImplAttr of attribute_info
|
`ObjCExternallyRetainedAttr of attribute_info
|
`ObjCIndependentClassAttr of attribute_info
|
`ObjCMethodFamilyAttr of attribute_info
|
`ObjCNSObjectAttr of attribute_info
|
`ObjCPreciseLifetimeAttr of attribute_info
|
`ObjCRequiresPropertyDefsAttr of attribute_info
|
`ObjCRequiresSuperAttr of attribute_info
|
`ObjCReturnsInnerPointerAttr of attribute_info
|
`ObjCRootClassAttr of attribute_info
|
`ObjCSubclassingRestrictedAttr of attribute_info
|
`OpenCLIntelReqdSubGroupSizeAttr of attribute_info
|
`OpenCLKernelAttr of attribute_info
|
`OptimizeNoneAttr of attribute_info
|
`OverrideAttr of attribute_info
|
`OwnerAttr of attribute_info
|
`OwnershipAttr of attribute_info
|
`PackedAttr of attribute_info
|
`ParamTypestateAttr of attribute_info
|
`PatchableFunctionEntryAttr of attribute_info
|
`PointerAttr of attribute_info
|
`PragmaClangBSSSectionAttr of attribute_info
|
`PragmaClangDataSectionAttr of attribute_info
|
`PragmaClangRelroSectionAttr of attribute_info
|
`PragmaClangRodataSectionAttr of attribute_info
|
`PragmaClangTextSectionAttr of attribute_info
|
`PreferredNameAttr of attribute_info
|
`PreferredTypeAttr of attribute_info
|
`PtGuardedByAttr of attribute_info
|
`PtGuardedVarAttr of attribute_info
|
`PureAttr of attribute_info
|
`RISCVInterruptAttr of attribute_info
|
`RandomizeLayoutAttr of attribute_info
|
`ReadOnlyPlacementAttr of attribute_info
|
`ReinitializesAttr of attribute_info
|
`ReleaseCapabilityAttr of attribute_info
|
`ReqdWorkGroupSizeAttr of attribute_info
|
`RequiresCapabilityAttr of attribute_info
|
`RestrictAttr of attribute_info
|
`RetainAttr of attribute_info
|
`ReturnTypestateAttr of attribute_info
|
`ReturnsNonNullAttr of attribute_info
|
`ReturnsTwiceAttr of attribute_info
|
`SYCLKernelAttr of attribute_info
|
`SYCLSpecialClassAttr of attribute_info
|
`ScopedLockableAttr of attribute_info
|
`SectionAttr of attribute_info
|
`SelectAnyAttr of attribute_info
|
`SentinelAttr of attr_tuple * sentinel_attr_info
|
`SetTypestateAttr of attribute_info
|
`SpeculativeLoadHardeningAttr of attribute_info
|
`StandaloneDebugAttr of attribute_info
|
`StrictFPAttr of attribute_info
|
`StrictGuardStackCheckAttr of attribute_info
|
`SwiftAsyncAttr of attribute_info
|
`SwiftAsyncErrorAttr of attribute_info
|
`SwiftAsyncNameAttr of attribute_info
|
`SwiftAttrAttr of attribute_info
|
`SwiftBridgeAttr of attribute_info
|
`SwiftBridgedTypedefAttr of attribute_info
|
`SwiftErrorAttr of attribute_info
|
`SwiftImportAsNonGenericAttr of attribute_info
|
`SwiftImportPropertyAsAccessorsAttr of attribute_info
|
`SwiftNameAttr of attribute_info
|
`SwiftNewTypeAttr of attribute_info
|
`SwiftPrivateAttr of attribute_info
|
`TLSModelAttr of attribute_info
|
`TargetAttr of attribute_info
|
`TargetClonesAttr of attribute_info
|
`TargetVersionAttr of attribute_info
|
`TestTypestateAttr of attribute_info
|
`TransparentUnionAttr of attribute_info
|
`TrivialABIAttr of attribute_info
|
`TryAcquireCapabilityAttr of attribute_info
|
`TypeTagForDatatypeAttr of attribute_info
|
`TypeVisibilityAttr of attribute_info
|
`UninitializedAttr of attribute_info
|
`UnsafeBufferUsageAttr of attribute_info
|
`UnusedAttr of attribute_info
|
`UsedAttr of attribute_info
|
`UsingIfExistsAttr of attribute_info
|
`UuidAttr of attribute_info
|
`VecReturnAttr of attribute_info
|
`VecTypeHintAttr of attribute_info
|
`VisibilityAttr of attr_tuple * visibility_attr
|
`WarnUnusedAttr of attribute_info
|
`WarnUnusedResultAttr of attribute_info
|
`WeakAttr of attribute_info
|
`WeakImportAttr of attribute_info
|
`WeakRefAttr of attribute_info
|
`WebAssemblyExportNameAttr of attribute_info
|
`WebAssemblyImportModuleAttr of attribute_info
|
`WebAssemblyImportNameAttr of attribute_info
|
`WorkGroupSizeHintAttr of attribute_info
|
`X86ForceAlignArgPointerAttr of attribute_info
|
`XRayInstrumentAttr of attribute_info
|
`XRayLogArgsAttr of attribute_info
|
`ZeroCallUsedRegsAttr of attribute_info
|
`AbiTagAttr of attribute_info
|
`AliasAttr of attribute_info
|
`AlignValueAttr of attribute_info
|
`BuiltinAliasAttr of attribute_info
|
`CalledOnceAttr of attribute_info
|
`IFuncAttr of attribute_info
|
`InitSegAttr of attribute_info
|
`LoaderUninitializedAttr of attribute_info
|
`LoopHintAttr of attribute_info
|
`ModeAttr of attribute_info
|
`NoBuiltinAttr of attribute_info
|
`NoEscapeAttr of attribute_info
|
`OMPCaptureKindAttr of attribute_info
|
`OMPDeclareSimdDeclAttr of attribute_info
|
`OMPReferencedVarAttr of attribute_info
|
`ObjCBoxableAttr of attribute_info
|
`ObjCClassStubAttr of attribute_info
|
`ObjCDesignatedInitializerAttr of attribute_info
|
`ObjCDirectAttr of attribute_info
|
`ObjCDirectMembersAttr of attribute_info
|
`ObjCNonLazyClassAttr of attribute_info
|
`ObjCNonRuntimeProtocolAttr of attribute_info
|
`ObjCRuntimeNameAttr of attribute_info
|
`ObjCRuntimeVisibleAttr of attribute_info
|
`OpenCLAccessAttr of attribute_info
|
`OverloadableAttr of attribute_info
|
`RenderScriptKernelAttr of attribute_info
|
`SwiftObjCMembersAttr of attribute_info
|
`SwiftVersionedAdditionAttr of attribute_info
|
`SwiftVersionedRemovalAttr of attribute_info
|
`ThreadAttr of attribute_info
]
type template_instantiation_arg_info = [
|
`Null
|
`Type of qual_type
|
`Declaration of pointer
|
`NullPtr
|
`Integral of string
|
`Template
|
`TemplateExpansion
|
`Expression
|
`Pack of template_instantiation_arg_info list
]
type comment =
| VerbatimBlockLineComment of comment_info * comment list
| TextComment of comment_info * comment list
| InlineCommandComment of comment_info * comment list
| HTMLStartTagComment of comment_info * comment list
| HTMLEndTagComment of comment_info * comment list
| FullComment of comment_info * comment list
| ParagraphComment of comment_info * comment list
| BlockCommandComment of comment_info * comment list
| VerbatimLineComment of comment_info * comment list
| VerbatimBlockComment of comment_info * comment list
| TParamCommandComment of comment_info * comment list
| ParamCommandComment of comment_info * comment list
type template_specialization_info = {
tsi_template_decl : pointer;
tsi_specialization_args : template_instantiation_arg_info list;
}
type decl_info = {
di_pointer : pointer;
di_parent_pointer : pointer option;
di_source_range : source_range;
di_owning_module : string option;
di_is_implicit : bool;
di_is_used : bool;
di_is_this_declaration_referenced : bool;
di_is_invalid_decl : bool;
di_attributes : attribute list;
di_full_comment : comment option;
di_access : access_specifier;
}
and block_decl_info = {
bdi_parameters : decl list;
bdi_is_variadic : bool;
bdi_captures_cxx_this : bool;
bdi_captured_variables : block_captured_variable list;
bdi_body : stmt option;
bdi_mangled_name : string;
}
and cxx_ctor_initializer = {
xci_subject : cxx_ctor_initializer_subject;
xci_source_range : source_range;
xci_init_expr : stmt option;
}
and cxx_method_decl_info = {
xmdi_is_virtual : bool;
xmdi_is_static : bool;
xmdi_is_const : bool;
xmdi_is_copy_assignment : bool;
xmdi_is_copy_constructor : bool;
xmdi_is_move_constructor : bool;
xmdi_cxx_ctor_initializers : cxx_ctor_initializer list;
xmdi_overriden_methods : decl_ref list;
}
and cxx_record_decl_info = {
xrdi_bases : type_ptr list;
xrdi_vbases : type_ptr list;
xrdi_transitive_vbases : type_ptr list;
xrdi_is_pod : bool;
xrdi_is_trivially_copyable : bool;
xrdi_destructor : decl_ref option;
xrdi_lambda_call_operator : decl_ref option;
xrdi_lambda_captures : lambda_capture_info list;
}
and decl =
| TranslationUnitDecl of decl_info
* decl list
* decl_context_info
* translation_unit_decl_info
| RequiresExprBodyDecl of decl_info
| LinkageSpecDecl of decl_info * decl list * decl_context_info
| ExternCContextDecl of decl_info
| ExportDecl of decl_info
| CapturedDecl of decl_info * decl list * decl_context_info
| BlockDecl of decl_info * block_decl_info
| TopLevelStmtDecl of decl_info
| StaticAssertDecl of decl_info
| PragmaDetectMismatchDecl of decl_info
| PragmaCommentDecl of decl_info
| ObjCPropertyImplDecl of decl_info * obj_c_property_impl_decl_info
| OMPThreadPrivateDecl of decl_info
| OMPRequiresDecl of decl_info
| OMPAllocateDecl of decl_info
| ObjCMethodDecl of decl_info * named_decl_info * obj_c_method_decl_info
| ObjCProtocolDecl of decl_info
* named_decl_info
* decl list
* decl_context_info
* obj_c_protocol_decl_info
| ObjCInterfaceDecl of decl_info
* named_decl_info
* decl list
* decl_context_info
* obj_c_interface_decl_info
| ObjCImplementationDecl of decl_info
* named_decl_info
* decl list
* decl_context_info
* obj_c_implementation_decl_info
| ObjCCategoryImplDecl of decl_info
* named_decl_info
* decl list
* decl_context_info
* obj_c_category_impl_decl_info
| ObjCCategoryDecl of decl_info
* named_decl_info
* decl list
* decl_context_info
* obj_c_category_decl_info
| NamespaceDecl of decl_info
* named_decl_info
* decl list
* decl_context_info
* namespace_decl_info
| HLSLBufferDecl of decl_info * named_decl_info
| OMPDeclareReductionDecl of decl_info * named_decl_info * qual_type
| OMPDeclareMapperDecl of decl_info * named_decl_info * qual_type
| UnresolvedUsingValueDecl of decl_info * named_decl_info * qual_type
| UnnamedGlobalConstantDecl of decl_info * named_decl_info * qual_type
| TemplateParamObjectDecl of decl_info * named_decl_info * qual_type
| MSGuidDecl of decl_info * named_decl_info * qual_type
| IndirectFieldDecl of decl_info * named_decl_info * qual_type * decl_ref list
| EnumConstantDecl of decl_info
* named_decl_info
* qual_type
* enum_constant_decl_info
| FunctionDecl of decl_info * named_decl_info * qual_type * function_decl_info
| CXXMethodDecl of decl_info
* named_decl_info
* qual_type
* function_decl_info
* cxx_method_decl_info
| CXXDestructorDecl of decl_info
* named_decl_info
* qual_type
* function_decl_info
* cxx_method_decl_info
| CXXConversionDecl of decl_info
* named_decl_info
* qual_type
* function_decl_info
* cxx_method_decl_info
| CXXConstructorDecl of decl_info
* named_decl_info
* qual_type
* function_decl_info
* cxx_method_decl_info
| CXXDeductionGuideDecl of decl_info
* named_decl_info
* qual_type
* function_decl_info
| VarDecl of decl_info * named_decl_info * qual_type * var_decl_info
| VarTemplateSpecializationDecl of template_instantiation_arg_info list
* decl_info
* named_decl_info
* qual_type
* var_decl_info
| VarTemplatePartialSpecializationDecl of template_instantiation_arg_info list
* decl_info
* named_decl_info
* qual_type
* var_decl_info
| ParmVarDecl of decl_info * named_decl_info * qual_type * var_decl_info
| OMPCapturedExprDecl of decl_info * named_decl_info * qual_type * var_decl_info
| ImplicitParamDecl of decl_info * named_decl_info * qual_type * var_decl_info
| DecompositionDecl of decl_info
* named_decl_info
* qual_type
* var_decl_info
* decl list
| NonTypeTemplateParmDecl of decl_info * named_decl_info * qual_type
| MSPropertyDecl of decl_info * named_decl_info * qual_type
| FieldDecl of decl_info * named_decl_info * qual_type * field_decl_info
| ObjCIvarDecl of decl_info
* named_decl_info
* qual_type
* field_decl_info
* obj_c_ivar_decl_info
| ObjCAtDefsFieldDecl of decl_info
* named_decl_info
* qual_type
* field_decl_info
| BindingDecl of decl_info * named_decl_info * qual_type * holding_var_decl_info
| UsingShadowDecl of decl_info * named_decl_info
| ConstructorUsingShadowDecl of decl_info * named_decl_info
| UsingPackDecl of decl_info * named_decl_info
| UsingDirectiveDecl of decl_info * named_decl_info * using_directive_decl_info
| UnresolvedUsingIfExistsDecl of decl_info * named_decl_info
| RecordDecl of decl_info
* named_decl_info
* type_ptr
* decl list
* decl_context_info
* tag_kind
* record_decl_info
| CXXRecordDecl of decl_info
* named_decl_info
* type_ptr
* decl list
* decl_context_info
* tag_kind
* record_decl_info
* cxx_record_decl_info
| ClassTemplateSpecializationDecl of decl_info
* named_decl_info
* type_ptr
* decl list
* decl_context_info
* tag_kind
* record_decl_info
* cxx_record_decl_info
* string
* source_location
* template_specialization_info
| ClassTemplatePartialSpecializationDecl of decl_info
* named_decl_info
* type_ptr
* decl list
* decl_context_info
* tag_kind
* record_decl_info
* cxx_record_decl_info
* string
* source_location
* template_specialization_info
| EnumDecl of decl_info
* named_decl_info
* type_ptr
* decl list
* decl_context_info
* tag_kind
* enum_decl_info
| UnresolvedUsingTypenameDecl of decl_info * named_decl_info * type_ptr
| TypedefDecl of decl_info * named_decl_info * type_ptr * typedef_decl_info
| TypeAliasDecl of decl_info * named_decl_info * type_ptr
| ObjCTypeParamDecl of decl_info * named_decl_info * type_ptr
| TemplateTypeParmDecl of decl_info * named_decl_info * type_ptr
| TemplateTemplateParmDecl of decl_info * named_decl_info
| VarTemplateDecl of decl_info * named_decl_info
| TypeAliasTemplateDecl of decl_info * named_decl_info
| FunctionTemplateDecl of decl_info * named_decl_info * template_decl_info
| ClassTemplateDecl of decl_info * named_decl_info * template_decl_info
| ConceptDecl of decl_info * named_decl_info
| BuiltinTemplateDecl of decl_info * named_decl_info
| ObjCPropertyDecl of decl_info * named_decl_info * obj_c_property_decl_info
| ObjCCompatibleAliasDecl of decl_info
* named_decl_info
* obj_c_compatible_alias_decl_info
| NamespaceAliasDecl of decl_info * named_decl_info * namespace_alias_decl_info
| LabelDecl of decl_info * named_decl_info
| UsingEnumDecl of decl_info * named_decl_info
| UsingDecl of decl_info * named_decl_info
| LifetimeExtendedTemporaryDecl of decl_info
| ImportDecl of decl_info * string
| ImplicitConceptSpecializationDecl of decl_info
| FriendTemplateDecl of decl_info
| FriendDecl of decl_info * friend_info
| FileScopeAsmDecl of decl_info
| EmptyDecl of decl_info
| AccessSpecDecl of decl_info
and function_decl_info = {
fdi_mangled_name : string option;
fdi_is_cpp : bool;
fdi_is_inline : bool;
fdi_is_module_private : bool;
fdi_is_pure : bool;
fdi_is_deleted : bool;
fdi_is_no_return : bool;
fdi_is_constexpr : bool;
fdi_is_variadic : bool;
fdi_is_static : bool;
fdi_parameters : decl list;
fdi_decl_ptr_with_body : pointer option;
fdi_body : stmt option;
fdi_template_specialization : template_specialization_info option;
fdi_point_of_instantiation : source_location option;
}
and lambda_capture_info = {
lci_capture_kind : lambda_capture_kind;
lci_capture_this : bool;
lci_capture_variable : bool;
lci_capture_VLAtype : bool;
lci_init_captured_vardecl : decl option;
lci_captured_var : decl_ref option;
lci_is_implicit : bool;
lci_location : source_range;
lci_is_pack_expansion : bool;
}
and obj_c_implementation_decl_info = {
oidi_super : decl_ref option;
oidi_class_interface : decl_ref option;
oidi_ivar_initializers : cxx_ctor_initializer list;
}
and obj_c_method_decl_info = {
omdi_is_instance_method : bool;
omdi_result_type : qual_type;
omdi_is_property_accessor : bool;
omdi_property_decl : decl_ref option;
omdi_parameters : decl list;
omdi_implicit_parameters : decl list;
omdi_is_variadic : bool;
omdi_is_overriding : bool;
omdi_is_optional : bool;
omdi_body : stmt option;
omdi_mangled_name : string;
}
and stmt =
| WhileStmt of stmt_info * stmt list
| LabelStmt of stmt_info * stmt list * string
| VAArgExpr of stmt_info * stmt list * expr_info
| UnaryOperator of stmt_info * stmt list * expr_info * unary_operator_info
| UnaryExprOrTypeTraitExpr of stmt_info
* stmt list
* expr_info
* unary_expr_or_type_trait_expr_info
| TypoExpr of stmt_info * stmt list * expr_info
| TypeTraitExpr of stmt_info * stmt list * expr_info * type_trait_info
| SubstNonTypeTemplateParmPackExpr of stmt_info * stmt list * expr_info
| SubstNonTypeTemplateParmExpr of stmt_info * stmt list * expr_info
| StringLiteral of stmt_info * stmt list * expr_info * string list
| StmtExpr of stmt_info * stmt list * expr_info
| SourceLocExpr of stmt_info * stmt list * expr_info
| SizeOfPackExpr of stmt_info * stmt list * expr_info
| ShuffleVectorExpr of stmt_info * stmt list * expr_info
| SYCLUniqueStableNameExpr of stmt_info * stmt list * expr_info
| RequiresExpr of stmt_info * stmt list * expr_info
| RecoveryExpr of stmt_info * stmt list * expr_info
| PseudoObjectExpr of stmt_info * stmt list * expr_info
| PredefinedExpr of stmt_info * stmt list * expr_info * predefined_expr_type
| ParenListExpr of stmt_info * stmt list * expr_info
| ParenExpr of stmt_info * stmt list * expr_info
| PackExpansionExpr of stmt_info * stmt list * expr_info
| UnresolvedMemberExpr of stmt_info * stmt list * expr_info * overload_expr_info
| UnresolvedLookupExpr of stmt_info
* stmt list
* expr_info
* overload_expr_info
* unresolved_lookup_expr_info
| OpaqueValueExpr of stmt_info * stmt list * expr_info * opaque_value_expr_info
| OffsetOfExpr of stmt_info * stmt list * expr_info * offset_of_expr_info
| ObjCSubscriptRefExpr of stmt_info
* stmt list
* expr_info
* obj_c_subscript_ref_expr_info
| ObjCStringLiteral of stmt_info * stmt list * expr_info
| ObjCSelectorExpr of stmt_info * stmt list * expr_info * selector
| ObjCProtocolExpr of stmt_info * stmt list * expr_info * decl_ref
| ObjCPropertyRefExpr of stmt_info
* stmt list
* expr_info
* obj_c_property_ref_expr_info
| ObjCMessageExpr of stmt_info * stmt list * expr_info * obj_c_message_expr_info
| ObjCIvarRefExpr of stmt_info * stmt list * expr_info * obj_c_ivar_ref_expr_info
| ObjCIsaExpr of stmt_info * stmt list * expr_info
| ObjCIndirectCopyRestoreExpr of stmt_info * stmt list * expr_info
| ObjCEncodeExpr of stmt_info * stmt list * expr_info * objc_encode_expr_info
| ObjCDictionaryLiteral of stmt_info
* stmt list
* expr_info
* obj_c_dictionary_literal_expr_info
| ObjCBoxedExpr of stmt_info * stmt list * expr_info * objc_boxed_expr_info
| ObjCBoolLiteralExpr of stmt_info * stmt list * expr_info * int
| ObjCAvailabilityCheckExpr of stmt_info
* stmt list
* expr_info
* obj_c_availability_check_expr_info
| ObjCArrayLiteral of stmt_info
* stmt list
* expr_info
* obj_c_array_literal_expr_info
| OMPIteratorExpr of stmt_info * stmt list * expr_info
| OMPArrayShapingExpr of stmt_info * stmt list * expr_info
| OMPArraySectionExpr of stmt_info * stmt list * expr_info
| NoInitExpr of stmt_info * stmt list * expr_info
| MemberExpr of stmt_info * stmt list * expr_info * member_expr_info
| MatrixSubscriptExpr of stmt_info * stmt list * expr_info
| MaterializeTemporaryExpr of stmt_info
* stmt list
* expr_info
* materialize_temporary_expr_info
| MSPropertySubscriptExpr of stmt_info * stmt list * expr_info
| MSPropertyRefExpr of stmt_info * stmt list * expr_info
| LambdaExpr of stmt_info * stmt list * expr_info * lambda_expr_info
| IntegerLiteral of stmt_info * stmt list * expr_info * integer_literal_info
| InitListExpr of stmt_info * stmt list * expr_info
| ImplicitValueInitExpr of stmt_info * stmt list * expr_info
| ImaginaryLiteral of stmt_info * stmt list * expr_info
| GenericSelectionExpr of stmt_info
* stmt list
* expr_info
* generic_selection_info
| GNUNullExpr of stmt_info * stmt list * expr_info
| FunctionParmPackExpr of stmt_info * stmt list * expr_info
| ExprWithCleanups of stmt_info * stmt list * expr_info * expr_with_cleanups_info
| ConstantExpr of stmt_info * stmt list * expr_info
| FloatingLiteral of stmt_info * stmt list * expr_info * string
| FixedPointLiteral of stmt_info * stmt list * expr_info * string
| ExtVectorElementExpr of stmt_info * stmt list * expr_info
| ExpressionTraitExpr of stmt_info * stmt list * expr_info
| DesignatedInitUpdateExpr of stmt_info * stmt list * expr_info
| DesignatedInitExpr of stmt_info * stmt list * expr_info
| DependentScopeDeclRefExpr of stmt_info * stmt list * expr_info
| DependentCoawaitExpr of stmt_info * stmt list * expr_info
| DeclRefExpr of stmt_info * stmt list * expr_info * decl_ref_expr_info
| CoyieldExpr of stmt_info * stmt list * expr_info
| CoawaitExpr of stmt_info * stmt list * expr_info
| ConvertVectorExpr of stmt_info * stmt list * expr_info
| ConceptSpecializationExpr of stmt_info * stmt list * expr_info
| CompoundLiteralExpr of stmt_info * stmt list * expr_info
| ChooseExpr of stmt_info * stmt list * expr_info
| CharacterLiteral of stmt_info * stmt list * expr_info * int
| ImplicitCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * bool
| ObjCBridgedCastExpr of stmt_info
* stmt list
* expr_info
* cast_expr_info
* qual_type
* obj_c_bridged_cast_expr_info
| CXXStaticCastExpr of stmt_info
* stmt list
* expr_info
* cast_expr_info
* qual_type
* string
| CXXReinterpretCastExpr of stmt_info
* stmt list
* expr_info
* cast_expr_info
* qual_type
* string
| CXXDynamicCastExpr of stmt_info
* stmt list
* expr_info
* cast_expr_info
* qual_type
* string
| CXXConstCastExpr of stmt_info
* stmt list
* expr_info
* cast_expr_info
* qual_type
* string
| CXXAddrspaceCastExpr of stmt_info
* stmt list
* expr_info
* cast_expr_info
* qual_type
* string
| CXXFunctionalCastExpr of stmt_info
* stmt list
* expr_info
* cast_expr_info
* qual_type
| CStyleCastExpr of stmt_info
* stmt list
* expr_info
* cast_expr_info
* qual_type
| BuiltinBitCastExpr of stmt_info
* stmt list
* expr_info
* cast_expr_info
* qual_type
| CallExpr of stmt_info * stmt list * expr_info
| UserDefinedLiteral of stmt_info * stmt list * expr_info
| CXXOperatorCallExpr of stmt_info * stmt list * expr_info
| CXXMemberCallExpr of stmt_info * stmt list * expr_info
| CUDAKernelCallExpr of stmt_info * stmt list * expr_info
| CXXUuidofExpr of stmt_info * stmt list * expr_info
| CXXUnresolvedConstructExpr of stmt_info * stmt list * expr_info
| CXXTypeidExpr of stmt_info * stmt list * expr_info
| CXXThrowExpr of stmt_info * stmt list * expr_info
| CXXThisExpr of stmt_info * stmt list * expr_info
| CXXStdInitializerListExpr of stmt_info * stmt list * expr_info
| CXXScalarValueInitExpr of stmt_info * stmt list * expr_info
| CXXRewrittenBinaryOperator of stmt_info * stmt list * expr_info
| CXXPseudoDestructorExpr of stmt_info * stmt list * expr_info
| CXXParenListInitExpr of stmt_info * stmt list * expr_info
| CXXNullPtrLiteralExpr of stmt_info * stmt list * expr_info
| CXXNoexceptExpr of stmt_info * stmt list * expr_info * cxx_noexcept_expr_info
| CXXNewExpr of stmt_info * stmt list * expr_info * cxx_new_expr_info
| CXXInheritedCtorInitExpr of stmt_info
* stmt list
* expr_info
* cxx_construct_expr_info
| CXXFoldExpr of stmt_info * stmt list * expr_info
| CXXDependentScopeMemberExpr of stmt_info * stmt list * expr_info
| CXXDeleteExpr of stmt_info * stmt list * expr_info * cxx_delete_expr_info
| CXXDefaultInitExpr of stmt_info * stmt list * expr_info * cxx_default_expr_info
| CXXDefaultArgExpr of stmt_info * stmt list * expr_info * cxx_default_expr_info
| CXXConstructExpr of stmt_info * stmt list * expr_info * cxx_construct_expr_info
| CXXTemporaryObjectExpr of stmt_info
* stmt list
* expr_info
* cxx_construct_expr_info
| CXXBoolLiteralExpr of stmt_info * stmt list * expr_info * int
| CXXBindTemporaryExpr of stmt_info
* stmt list
* expr_info
* cxx_bind_temporary_expr_info
| BlockExpr of stmt_info * stmt list * expr_info * decl
| BinaryOperator of stmt_info * stmt list * expr_info * binary_operator_info
| CompoundAssignOperator of stmt_info
* stmt list
* expr_info
* binary_operator_info
* compound_assign_operator_info
| AtomicExpr of stmt_info * stmt list * expr_info * atomic_expr_info
| AsTypeExpr of stmt_info * stmt list * expr_info
| ArrayTypeTraitExpr of stmt_info * stmt list * expr_info
| ArraySubscriptExpr of stmt_info * stmt list * expr_info
| ArrayInitLoopExpr of stmt_info * stmt list * expr_info
| ArrayInitIndexExpr of stmt_info * stmt list * expr_info
| AddrLabelExpr of stmt_info * stmt list * expr_info * addr_label_expr_info
| ConditionalOperator of stmt_info * stmt list * expr_info
| BinaryConditionalOperator of stmt_info * stmt list * expr_info
| AttributedStmt of stmt_info * stmt list * attribute list
| SwitchStmt of stmt_info * stmt list * switch_stmt_info
| DefaultStmt of stmt_info * stmt list
| CaseStmt of stmt_info * stmt list
| SEHTryStmt of stmt_info * stmt list
| SEHLeaveStmt of stmt_info * stmt list
| SEHFinallyStmt of stmt_info * stmt list
| SEHExceptStmt of stmt_info * stmt list
| ReturnStmt of stmt_info * stmt list
| ObjCForCollectionStmt of stmt_info * stmt list
| ObjCAutoreleasePoolStmt of stmt_info * stmt list
| ObjCAtTryStmt of stmt_info * stmt list
| ObjCAtThrowStmt of stmt_info * stmt list
| ObjCAtSynchronizedStmt of stmt_info * stmt list
| ObjCAtFinallyStmt of stmt_info * stmt list
| ObjCAtCatchStmt of stmt_info * stmt list * obj_c_message_expr_kind
| OMPTeamsDirective of stmt_info * stmt list
| OMPTaskyieldDirective of stmt_info * stmt list
| OMPTaskwaitDirective of stmt_info * stmt list
| OMPTaskgroupDirective of stmt_info * stmt list
| OMPTaskDirective of stmt_info * stmt list
| OMPTargetUpdateDirective of stmt_info * stmt list
| OMPTargetTeamsDirective of stmt_info * stmt list
| OMPTargetParallelForDirective of stmt_info * stmt list
| OMPTargetParallelDirective of stmt_info * stmt list
| OMPTargetExitDataDirective of stmt_info * stmt list
| OMPTargetEnterDataDirective of stmt_info * stmt list
| OMPTargetDirective of stmt_info * stmt list
| OMPTargetDataDirective of stmt_info * stmt list
| OMPSingleDirective of stmt_info * stmt list
| OMPSectionsDirective of stmt_info * stmt list
| OMPSectionDirective of stmt_info * stmt list
| OMPScopeDirective of stmt_info * stmt list
| OMPScanDirective of stmt_info * stmt list
| OMPParallelSectionsDirective of stmt_info * stmt list
| OMPParallelMasterDirective of stmt_info * stmt list
| OMPParallelMaskedDirective of stmt_info * stmt list
| OMPParallelDirective of stmt_info * stmt list
| OMPOrderedDirective of stmt_info * stmt list
| OMPMetaDirective of stmt_info * stmt list
| OMPMasterDirective of stmt_info * stmt list
| OMPMaskedDirective of stmt_info * stmt list
| OMPUnrollDirective of stmt_info * stmt list
| OMPTileDirective of stmt_info * stmt list
| OMPTeamsGenericLoopDirective of stmt_info * stmt list
| OMPTeamsDistributeSimdDirective of stmt_info * stmt list
| OMPTeamsDistributeParallelForSimdDirective of stmt_info * stmt list
| OMPTeamsDistributeParallelForDirective of stmt_info * stmt list
| OMPTeamsDistributeDirective of stmt_info * stmt list
| OMPTaskLoopSimdDirective of stmt_info * stmt list
| OMPTaskLoopDirective of stmt_info * stmt list
| OMPTargetTeamsGenericLoopDirective of stmt_info * stmt list
| OMPTargetTeamsDistributeSimdDirective of stmt_info * stmt list
| OMPTargetTeamsDistributeParallelForSimdDirective of stmt_info * stmt list
| OMPTargetTeamsDistributeParallelForDirective of stmt_info * stmt list
| OMPTargetTeamsDistributeDirective of stmt_info * stmt list
| OMPTargetSimdDirective of stmt_info * stmt list
| OMPTargetParallelGenericLoopDirective of stmt_info * stmt list
| OMPTargetParallelForSimdDirective of stmt_info * stmt list
| OMPSimdDirective of stmt_info * stmt list
| OMPParallelMasterTaskLoopSimdDirective of stmt_info * stmt list
| OMPParallelMasterTaskLoopDirective of stmt_info * stmt list
| OMPParallelMaskedTaskLoopSimdDirective of stmt_info * stmt list
| OMPParallelMaskedTaskLoopDirective of stmt_info * stmt list
| OMPParallelGenericLoopDirective of stmt_info * stmt list
| OMPParallelForSimdDirective of stmt_info * stmt list
| OMPParallelForDirective of stmt_info * stmt list
| OMPMasterTaskLoopSimdDirective of stmt_info * stmt list
| OMPMasterTaskLoopDirective of stmt_info * stmt list
| OMPMaskedTaskLoopSimdDirective of stmt_info * stmt list
| OMPMaskedTaskLoopDirective of stmt_info * stmt list
| OMPGenericLoopDirective of stmt_info * stmt list
| OMPForSimdDirective of stmt_info * stmt list
| OMPForDirective of stmt_info * stmt list
| OMPDistributeSimdDirective of stmt_info * stmt list
| OMPDistributeParallelForSimdDirective of stmt_info * stmt list
| OMPDistributeParallelForDirective of stmt_info * stmt list
| OMPDistributeDirective of stmt_info * stmt list
| OMPInteropDirective of stmt_info * stmt list
| OMPFlushDirective of stmt_info * stmt list
| OMPErrorDirective of stmt_info * stmt list
| OMPDispatchDirective of stmt_info * stmt list
| OMPDepobjDirective of stmt_info * stmt list
| OMPCriticalDirective of stmt_info * stmt list
| OMPCancellationPointDirective of stmt_info * stmt list
| OMPCancelDirective of stmt_info * stmt list
| OMPBarrierDirective of stmt_info * stmt list
| OMPAtomicDirective of stmt_info * stmt list
| OMPCanonicalLoop of stmt_info * stmt list
| NullStmt of stmt_info * stmt list
| MSDependentExistsStmt of stmt_info * stmt list
| IndirectGotoStmt of stmt_info * stmt list
| IfStmt of stmt_info * stmt list * if_stmt_info
| GotoStmt of stmt_info * stmt list * goto_stmt_info
| ForStmt of stmt_info * stmt list
| DoStmt of stmt_info * stmt list
| DeclStmt of stmt_info * stmt list * decl list
| CoroutineBodyStmt of stmt_info * stmt list * coro_body_stmt_info
| CoreturnStmt of stmt_info * stmt list * coreturn_stmt_info
| ContinueStmt of stmt_info * stmt list
| CompoundStmt of stmt_info * stmt list
| CapturedStmt of stmt_info * stmt list
| CXXTryStmt of stmt_info * stmt list
| CXXForRangeStmt of stmt_info * stmt list
| CXXCatchStmt of stmt_info * stmt list * cxx_catch_stmt_info
| BreakStmt of stmt_info * stmt list
| MSAsmStmt of stmt_info * stmt list
| GCCAsmStmt of stmt_info * stmt list
and var_decl_info = {
vdi_is_global : bool;
vdi_is_extern : bool;
vdi_is_static : bool;
vdi_is_static_local : bool;
vdi_is_static_data_member : bool;
vdi_is_constexpr : bool;
vdi_is_init_ice : bool;
vdi_init_expr : stmt option;
vdi_is_init_expr_cxx11_constant : bool;
vdi_parm_index_in_function : int option;
}