ATDGenerated.Clang_ast_ttype 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| ThreadAttrKindtype 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 = pointertype 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_locationtype attr_tuple = attribute_infotype type_ptr = Clang_ast_types.TypePtr.ttype 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_infotype 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 listtype 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_infoand 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 listand 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;}