Module ATDGenerated.Clang_ast_v

type access_specifier = Clang_ast_t.access_specifier
type atomic_expr_kind = Clang_ast_t.atomic_expr_kind
type atomic_expr_info = Clang_ast_t.atomic_expr_info = {
  1. aei_kind : atomic_expr_kind;
}
type attribute_kind = Clang_ast_t.attribute_kind =
  1. | AddressSpaceAttrKind
  2. | AllocatingAttrKind
  3. | AnnotateTypeAttrKind
  4. | ArmInAttrKind
  5. | ArmInOutAttrKind
  6. | ArmMveStrictPolymorphismAttrKind
  7. | ArmOutAttrKind
  8. | ArmPreservesAttrKind
  9. | ArmStreamingAttrKind
  10. | ArmStreamingCompatibleAttrKind
  11. | BTFTypeTagAttrKind
  12. | BlockingAttrKind
  13. | CmseNSCallAttrKind
  14. | HLSLGroupSharedAddressSpaceAttrKind
  15. | HLSLParamModifierAttrKind
  16. | NoDerefAttrKind
  17. | NonAllocatingAttrKind
  18. | NonBlockingAttrKind
  19. | ObjCGCAttrKind
  20. | ObjCInertUnsafeUnretainedAttrKind
  21. | ObjCKindOfAttrKind
  22. | OpenCLConstantAddressSpaceAttrKind
  23. | OpenCLGenericAddressSpaceAttrKind
  24. | OpenCLGlobalAddressSpaceAttrKind
  25. | OpenCLGlobalDeviceAddressSpaceAttrKind
  26. | OpenCLGlobalHostAddressSpaceAttrKind
  27. | OpenCLLocalAddressSpaceAttrKind
  28. | OpenCLPrivateAddressSpaceAttrKind
  29. | Ptr32AttrKind
  30. | Ptr64AttrKind
  31. | SPtrAttrKind
  32. | TypeNonNullAttrKind
  33. | TypeNullUnspecifiedAttrKind
  34. | TypeNullableResultAttrKind
  35. | UPtrAttrKind
  36. | WebAssemblyFuncrefAttrKind
  37. | CXXAssumeAttrKind
  38. | CodeAlignAttrKind
  39. | FallThroughAttrKind
  40. | HLSLLoopHintAttrKind
  41. | LikelyAttrKind
  42. | MustTailAttrKind
  43. | OpenCLUnrollHintAttrKind
  44. | UnlikelyAttrKind
  45. | AlwaysInlineAttrKind
  46. | NoInlineAttrKind
  47. | NoMergeAttrKind
  48. | SuppressAttrKind
  49. | AArch64SVEPcsAttrKind
  50. | AArch64VectorPcsAttrKind
  51. | AMDGPUKernelCallAttrKind
  52. | AcquireHandleAttrKind
  53. | AnyX86NoCfCheckAttrKind
  54. | CDeclAttrKind
  55. | CountedByAttrKind
  56. | CountedByOrNullAttrKind
  57. | FastCallAttrKind
  58. | IntelOclBiccAttrKind
  59. | LifetimeBoundAttrKind
  60. | M68kRTDAttrKind
  61. | MSABIAttrKind
  62. | NSReturnsRetainedAttrKind
  63. | ObjCOwnershipAttrKind
  64. | PascalAttrKind
  65. | PcsAttrKind
  66. | PreserveAllAttrKind
  67. | PreserveMostAttrKind
  68. | PreserveNoneAttrKind
  69. | RISCVVectorCCAttrKind
  70. | RegCallAttrKind
  71. | SizedByAttrKind
  72. | SizedByOrNullAttrKind
  73. | StdCallAttrKind
  74. | SwiftAsyncCallAttrKind
  75. | SwiftCallAttrKind
  76. | SysVABIAttrKind
  77. | ThisCallAttrKind
  78. | TypeNullableAttrKind
  79. | VectorCallAttrKind
  80. | SwiftAsyncContextAttrKind
  81. | SwiftContextAttrKind
  82. | SwiftErrorResultAttrKind
  83. | SwiftIndirectResultAttrKind
  84. | AnnotateAttrKind
  85. | CFConsumedAttrKind
  86. | CarriesDependencyAttrKind
  87. | NSConsumedAttrKind
  88. | NonNullAttrKind
  89. | OSConsumedAttrKind
  90. | PassObjectSizeAttrKind
  91. | ReleaseHandleAttrKind
  92. | UseHandleAttrKind
  93. | HLSLPackOffsetAttrKind
  94. | HLSLSV_DispatchThreadIDAttrKind
  95. | HLSLSV_GroupIndexAttrKind
  96. | AMDGPUFlatWorkGroupSizeAttrKind
  97. | AMDGPUMaxNumWorkGroupsAttrKind
  98. | AMDGPUNumSGPRAttrKind
  99. | AMDGPUNumVGPRAttrKind
  100. | AMDGPUWavesPerEUAttrKind
  101. | ARMInterruptAttrKind
  102. | AVRInterruptAttrKind
  103. | AVRSignalAttrKind
  104. | AcquireCapabilityAttrKind
  105. | AcquiredAfterAttrKind
  106. | AcquiredBeforeAttrKind
  107. | AlignMac68kAttrKind
  108. | AlignNaturalAttrKind
  109. | AlignedAttrKind
  110. | AllocAlignAttrKind
  111. | AllocSizeAttrKind
  112. | AlwaysDestroyAttrKind
  113. | AnalyzerNoReturnAttrKind
  114. | AnyX86InterruptAttrKind
  115. | AnyX86NoCallerSavedRegistersAttrKind
  116. | ArcWeakrefUnavailableAttrKind
  117. | ArgumentWithTypeTagAttrKind
  118. | ArmBuiltinAliasAttrKind
  119. | ArmLocallyStreamingAttrKind
  120. | ArmNewAttrKind
  121. | ArtificialAttrKind
  122. | AsmLabelAttrKind
  123. | AssertCapabilityAttrKind
  124. | AssertExclusiveLockAttrKind
  125. | AssertSharedLockAttrKind
  126. | AssumeAlignedAttrKind
  127. | AvailabilityAttrKind
  128. | AvailableOnlyInDefaultEvalMethodAttrKind
  129. | BPFPreserveAccessIndexAttrKind
  130. | BPFPreserveStaticOffsetAttrKind
  131. | BTFDeclTagAttrKind
  132. | BlocksAttrKind
  133. | BuiltinAttrKind
  134. | C11NoReturnAttrKind
  135. | CFAuditedTransferAttrKind
  136. | CFGuardAttrKind
  137. | CFICanonicalJumpTableAttrKind
  138. | CFReturnsNotRetainedAttrKind
  139. | CFReturnsRetainedAttrKind
  140. | CFUnknownTransferAttrKind
  141. | CPUDispatchAttrKind
  142. | CPUSpecificAttrKind
  143. | CUDAConstantAttrKind
  144. | CUDADeviceAttrKind
  145. | CUDADeviceBuiltinSurfaceTypeAttrKind
  146. | CUDADeviceBuiltinTextureTypeAttrKind
  147. | CUDAGlobalAttrKind
  148. | CUDAHostAttrKind
  149. | CUDAInvalidTargetAttrKind
  150. | CUDALaunchBoundsAttrKind
  151. | CUDASharedAttrKind
  152. | CXX11NoReturnAttrKind
  153. | CallableWhenAttrKind
  154. | CallbackAttrKind
  155. | CapabilityAttrKind
  156. | CapturedRecordAttrKind
  157. | CleanupAttrKind
  158. | ClspvLibclcBuiltinAttrKind
  159. | CmseNSEntryAttrKind
  160. | CodeModelAttrKind
  161. | CodeSegAttrKind
  162. | ColdAttrKind
  163. | CommonAttrKind
  164. | ConstAttrKind
  165. | ConstInitAttrKind
  166. | ConstructorAttrKind
  167. | ConsumableAttrKind
  168. | ConsumableAutoCastAttrKind
  169. | ConsumableSetOnReadAttrKind
  170. | ConvergentAttrKind
  171. | CoroDisableLifetimeBoundAttrKind
  172. | CoroLifetimeBoundAttrKind
  173. | CoroOnlyDestroyWhenCompleteAttrKind
  174. | CoroReturnTypeAttrKind
  175. | CoroWrapperAttrKind
  176. | DLLExportAttrKind
  177. | DLLExportStaticLocalAttrKind
  178. | DLLImportAttrKind
  179. | DLLImportStaticLocalAttrKind
  180. | DeprecatedAttrKind
  181. | DestructorAttrKind
  182. | DiagnoseAsBuiltinAttrKind
  183. | DiagnoseIfAttrKind
  184. | DisableSanitizerInstrumentationAttrKind
  185. | DisableTailCallsAttrKind
  186. | EmptyBasesAttrKind
  187. | EnableIfAttrKind
  188. | EnforceTCBAttrKind
  189. | EnforceTCBLeafAttrKind
  190. | EnumExtensibilityAttrKind
  191. | ErrorAttrKind
  192. | ExcludeFromExplicitInstantiationAttrKind
  193. | ExclusiveTrylockFunctionAttrKind
  194. | ExternalSourceSymbolAttrKind
  195. | FinalAttrKind
  196. | FlagEnumAttrKind
  197. | FlattenAttrKind
  198. | FormatAttrKind
  199. | FormatArgAttrKind
  200. | FunctionReturnThunksAttrKind
  201. | GNUInlineAttrKind
  202. | GuardedByAttrKind
  203. | GuardedVarAttrKind
  204. | HIPManagedAttrKind
  205. | HLSLNumThreadsAttrKind
  206. | HLSLResourceAttrKind
  207. | HLSLResourceBindingAttrKind
  208. | HLSLResourceClassAttrKind
  209. | HLSLShaderAttrKind
  210. | HotAttrKind
  211. | HybridPatchableAttrKind
  212. | IBActionAttrKind
  213. | IBOutletAttrKind
  214. | IBOutletCollectionAttrKind
  215. | InitPriorityAttrKind
  216. | InternalLinkageAttrKind
  217. | LTOVisibilityPublicAttrKind
  218. | LayoutVersionAttrKind
  219. | LeafAttrKind
  220. | LockReturnedAttrKind
  221. | LocksExcludedAttrKind
  222. | M68kInterruptAttrKind
  223. | MIGServerRoutineAttrKind
  224. | MSAllocatorAttrKind
  225. | MSConstexprAttrKind
  226. | MSInheritanceAttrKind
  227. | MSNoVTableAttrKind
  228. | MSP430InterruptAttrKind
  229. | MSStructAttrKind
  230. | MSVtorDispAttrKind
  231. | MaxFieldAlignmentAttrKind
  232. | MayAliasAttrKind
  233. | MaybeUndefAttrKind
  234. | MicroMipsAttrKind
  235. | MinSizeAttrKind
  236. | MinVectorWidthAttrKind
  237. | Mips16AttrKind
  238. | MipsInterruptAttrKind
  239. | MipsLongCallAttrKind
  240. | MipsShortCallAttrKind
  241. | NSConsumesSelfAttrKind
  242. | NSErrorDomainAttrKind
  243. | NSReturnsAutoreleasedAttrKind
  244. | NSReturnsNotRetainedAttrKind
  245. | NVPTXKernelAttrKind
  246. | NakedAttrKind
  247. | NoAliasAttrKind
  248. | NoCommonAttrKind
  249. | NoDebugAttrKind
  250. | NoDestroyAttrKind
  251. | NoDuplicateAttrKind
  252. | NoInstrumentFunctionAttrKind
  253. | NoMicroMipsAttrKind
  254. | NoMips16AttrKind
  255. | NoProfileFunctionAttrKind
  256. | NoRandomizeLayoutAttrKind
  257. | NoReturnAttrKind
  258. | NoSanitizeAttrKind
  259. | NoSpeculativeLoadHardeningAttrKind
  260. | NoSplitStackAttrKind
  261. | NoStackProtectorAttrKind
  262. | NoThreadSafetyAnalysisAttrKind
  263. | NoThrowAttrKind
  264. | NoUniqueAddressAttrKind
  265. | NoUwtableAttrKind
  266. | NotTailCalledAttrKind
  267. | OMPAllocateDeclAttrKind
  268. | OMPAssumeAttrKind
  269. | OMPCaptureNoInitAttrKind
  270. | OMPDeclareTargetDeclAttrKind
  271. | OMPDeclareVariantAttrKind
  272. | OMPThreadPrivateDeclAttrKind
  273. | OSConsumesThisAttrKind
  274. | OSReturnsNotRetainedAttrKind
  275. | OSReturnsRetainedAttrKind
  276. | OSReturnsRetainedOnNonZeroAttrKind
  277. | OSReturnsRetainedOnZeroAttrKind
  278. | ObjCBridgeAttrKind
  279. | ObjCBridgeMutableAttrKind
  280. | ObjCBridgeRelatedAttrKind
  281. | ObjCExceptionAttrKind
  282. | ObjCExplicitProtocolImplAttrKind
  283. | ObjCExternallyRetainedAttrKind
  284. | ObjCIndependentClassAttrKind
  285. | ObjCMethodFamilyAttrKind
  286. | ObjCNSObjectAttrKind
  287. | ObjCPreciseLifetimeAttrKind
  288. | ObjCRequiresPropertyDefsAttrKind
  289. | ObjCRequiresSuperAttrKind
  290. | ObjCReturnsInnerPointerAttrKind
  291. | ObjCRootClassAttrKind
  292. | ObjCSubclassingRestrictedAttrKind
  293. | OpenCLIntelReqdSubGroupSizeAttrKind
  294. | OpenCLKernelAttrKind
  295. | OptimizeNoneAttrKind
  296. | OverrideAttrKind
  297. | OwnerAttrKind
  298. | OwnershipAttrKind
  299. | PackedAttrKind
  300. | ParamTypestateAttrKind
  301. | PatchableFunctionEntryAttrKind
  302. | PointerAttrKind
  303. | PragmaClangBSSSectionAttrKind
  304. | PragmaClangDataSectionAttrKind
  305. | PragmaClangRelroSectionAttrKind
  306. | PragmaClangRodataSectionAttrKind
  307. | PragmaClangTextSectionAttrKind
  308. | PreferredNameAttrKind
  309. | PreferredTypeAttrKind
  310. | PtGuardedByAttrKind
  311. | PtGuardedVarAttrKind
  312. | PureAttrKind
  313. | RISCVInterruptAttrKind
  314. | RandomizeLayoutAttrKind
  315. | ReadOnlyPlacementAttrKind
  316. | ReinitializesAttrKind
  317. | ReleaseCapabilityAttrKind
  318. | ReqdWorkGroupSizeAttrKind
  319. | RequiresCapabilityAttrKind
  320. | RestrictAttrKind
  321. | RetainAttrKind
  322. | ReturnTypestateAttrKind
  323. | ReturnsNonNullAttrKind
  324. | ReturnsTwiceAttrKind
  325. | SYCLKernelAttrKind
  326. | SYCLSpecialClassAttrKind
  327. | ScopedLockableAttrKind
  328. | SectionAttrKind
  329. | SelectAnyAttrKind
  330. | SentinelAttrKind
  331. | SetTypestateAttrKind
  332. | SharedTrylockFunctionAttrKind
  333. | SpeculativeLoadHardeningAttrKind
  334. | StandaloneDebugAttrKind
  335. | StrictFPAttrKind
  336. | StrictGuardStackCheckAttrKind
  337. | SwiftAsyncAttrKind
  338. | SwiftAsyncErrorAttrKind
  339. | SwiftAsyncNameAttrKind
  340. | SwiftAttrAttrKind
  341. | SwiftBridgeAttrKind
  342. | SwiftBridgedTypedefAttrKind
  343. | SwiftErrorAttrKind
  344. | SwiftImportAsNonGenericAttrKind
  345. | SwiftImportPropertyAsAccessorsAttrKind
  346. | SwiftNameAttrKind
  347. | SwiftNewTypeAttrKind
  348. | SwiftPrivateAttrKind
  349. | TLSModelAttrKind
  350. | TargetAttrKind
  351. | TargetClonesAttrKind
  352. | TargetVersionAttrKind
  353. | TestTypestateAttrKind
  354. | TransparentUnionAttrKind
  355. | TrivialABIAttrKind
  356. | TryAcquireCapabilityAttrKind
  357. | TypeTagForDatatypeAttrKind
  358. | TypeVisibilityAttrKind
  359. | UnavailableAttrKind
  360. | UninitializedAttrKind
  361. | UnsafeBufferUsageAttrKind
  362. | UnusedAttrKind
  363. | UsedAttrKind
  364. | UsingIfExistsAttrKind
  365. | UuidAttrKind
  366. | VTablePointerAuthenticationAttrKind
  367. | VecReturnAttrKind
  368. | VecTypeHintAttrKind
  369. | VisibilityAttrKind
  370. | WarnUnusedAttrKind
  371. | WarnUnusedResultAttrKind
  372. | WeakAttrKind
  373. | WeakImportAttrKind
  374. | WeakRefAttrKind
  375. | WebAssemblyExportNameAttrKind
  376. | WebAssemblyImportModuleAttrKind
  377. | WebAssemblyImportNameAttrKind
  378. | WorkGroupSizeHintAttrKind
  379. | X86ForceAlignArgPointerAttrKind
  380. | XRayInstrumentAttrKind
  381. | XRayLogArgsAttrKind
  382. | ZeroCallUsedRegsAttrKind
  383. | AbiTagAttrKind
  384. | AliasAttrKind
  385. | AlignValueAttrKind
  386. | BuiltinAliasAttrKind
  387. | CalledOnceAttrKind
  388. | IFuncAttrKind
  389. | InitSegAttrKind
  390. | LoaderUninitializedAttrKind
  391. | LoopHintAttrKind
  392. | ModeAttrKind
  393. | NoBuiltinAttrKind
  394. | NoEscapeAttrKind
  395. | OMPCaptureKindAttrKind
  396. | OMPDeclareSimdDeclAttrKind
  397. | OMPReferencedVarAttrKind
  398. | ObjCBoxableAttrKind
  399. | ObjCClassStubAttrKind
  400. | ObjCDesignatedInitializerAttrKind
  401. | ObjCDirectAttrKind
  402. | ObjCDirectMembersAttrKind
  403. | ObjCNonLazyClassAttrKind
  404. | ObjCNonRuntimeProtocolAttrKind
  405. | ObjCRuntimeNameAttrKind
  406. | ObjCRuntimeVisibleAttrKind
  407. | OpenCLAccessAttrKind
  408. | OverloadableAttrKind
  409. | RenderScriptKernelAttrKind
  410. | SwiftObjCMembersAttrKind
  411. | SwiftVersionedAdditionAttrKind
  412. | SwiftVersionedRemovalAttrKind
  413. | ThreadAttrKind
type binary_operator_kind = Clang_ast_t.binary_operator_kind
type binary_operator_info = Clang_ast_t.binary_operator_info = {
  1. boi_kind : binary_operator_kind;
}
type builtin_type_kind = Clang_ast_t.builtin_type_kind
type cast_kind = Clang_ast_t.cast_kind
type cxx_base_specifier = Clang_ast_t.cxx_base_specifier = {
  1. xbs_name : string;
  2. xbs_virtual : bool;
}
type cast_expr_info = Clang_ast_t.cast_expr_info = {
  1. cei_cast_kind : cast_kind;
  2. cei_base_path : cxx_base_specifier list;
}
type cxx_noexcept_expr_info = Clang_ast_t.cxx_noexcept_expr_info = {
  1. xnee_value : bool;
}
type decl_context_info = Clang_ast_t.decl_context_info = {
  1. dci_has_external_lexical_storage : bool;
  2. dci_has_external_visible_storage : bool;
}
type decl_kind = Clang_ast_t.decl_kind
type declaration_name_kind = Clang_ast_t.declaration_name_kind
type declaration_name = Clang_ast_t.declaration_name = {
  1. dn_kind : declaration_name_kind;
  2. dn_name : string;
}
type enum_decl_scope = Clang_ast_t.enum_decl_scope
type enum_decl_info = Clang_ast_t.enum_decl_info = {
  1. edi_scope : enum_decl_scope option;
  2. edi_is_module_private : bool;
}
type input_kind = Clang_ast_t.input_kind
type integer_literal_info = Clang_ast_t.integer_literal_info = {
  1. ili_is_signed : bool;
  2. ili_bitwidth : int;
  3. ili_value : string;
}
type integer_type_widths = Clang_ast_t.integer_type_widths = {
  1. itw_char_type : int;
  2. itw_short_type : int;
  3. itw_int_type : int;
  4. itw_long_type : int;
  5. itw_longlong_type : int;
}
type lambda_capture_kind = Clang_ast_t.lambda_capture_kind
type named_decl_info = Clang_ast_t.named_decl_info = {
  1. ni_name : string;
  2. ni_qual_name : string list;
}
type namespace_decl_info = Clang_ast_t.namespace_decl_info = {
  1. ndi_is_inline : bool;
}
type obj_c_access_control = Clang_ast_t.obj_c_access_control
type obj_c_availability_check_expr_info = Clang_ast_t.obj_c_availability_check_expr_info = {
  1. oacei_version : string option;
}
type obj_c_bridge_cast_kind = Clang_ast_t.obj_c_bridge_cast_kind
type obj_c_bridged_cast_expr_info = Clang_ast_t.obj_c_bridged_cast_expr_info = {
  1. obcei_cast_kind : obj_c_bridge_cast_kind;
}
type obj_c_ivar_decl_info = Clang_ast_t.obj_c_ivar_decl_info = {
  1. ovdi_is_synthesize : bool;
  2. ovdi_access_control : obj_c_access_control;
}
type obj_c_property_control = Clang_ast_t.obj_c_property_control
type obj_c_subscript_kind = Clang_ast_t.obj_c_subscript_kind
type objc_lifetime_attr = Clang_ast_t.objc_lifetime_attr
type attr_type_info = Clang_ast_t.attr_type_info = {
  1. ati_attr_kind : attribute_kind;
  2. ati_lifetime : objc_lifetime_attr;
}
type object_kind = Clang_ast_t.object_kind
type offset_of_expr_info = Clang_ast_t.offset_of_expr_info = {
  1. ooe_literal : integer_literal_info option;
}
type pointer = Clang_ast_t.pointer
type addr_label_expr_info = Clang_ast_t.addr_label_expr_info = {
  1. alei_label : string;
  2. alei_pointer : pointer;
}
type cxx_new_expr_info = Clang_ast_t.cxx_new_expr_info = {
  1. xnei_is_array : bool;
  2. xnei_array_size_expr : pointer option;
  3. xnei_initializer_expr : pointer option;
  4. xnei_placement_args : pointer list;
}
type cxx_temporary = Clang_ast_t.cxx_temporary
type cxx_bind_temporary_expr_info = Clang_ast_t.cxx_bind_temporary_expr_info = {
  1. xbtei_cxx_temporary : cxx_temporary;
}
type goto_stmt_info = Clang_ast_t.goto_stmt_info = {
  1. gsi_label : string;
  2. gsi_pointer : pointer;
}
type obj_c_array_literal_expr_info = Clang_ast_t.obj_c_array_literal_expr_info = {
  1. oalei_array_method : pointer option;
}
type obj_c_dictionary_literal_expr_info = Clang_ast_t.obj_c_dictionary_literal_expr_info = {
  1. odlei_dict_method : pointer option;
}
type predefined_expr_type = Clang_ast_t.predefined_expr_type
type property_attribute = Clang_ast_t.property_attribute
type property_implementation = Clang_ast_t.property_implementation
type record_decl_info = Clang_ast_t.record_decl_info = {
  1. rdi_definition_ptr : pointer;
  2. rdi_is_module_private : bool;
  3. rdi_is_complete_definition : bool;
  4. rdi_is_dependent_type : bool;
}
type selector = Clang_ast_t.selector
type obj_c_method_ref_info = Clang_ast_t.obj_c_method_ref_info = {
  1. mri_getter : selector option;
  2. mri_setter : selector option;
}
type obj_c_subscript_ref_expr_info = Clang_ast_t.obj_c_subscript_ref_expr_info = {
  1. osrei_kind : obj_c_subscript_kind;
  2. osrei_getter : selector option;
  3. osrei_setter : selector option;
}
type objc_boxed_expr_info = Clang_ast_t.objc_boxed_expr_info = {
  1. obei_boxing_method : selector option;
}
type sentinel_attr_info = Clang_ast_t.sentinel_attr_info = {
  1. sai_sentinel : int;
  2. sai_null_pos : int;
}
type source_file = Clang_ast_t.source_file
type source_location = Clang_ast_t.source_location = {
  1. mutable sl_file : source_file option;
  2. mutable sl_line : int option;
  3. mutable sl_column : int option;
  4. sl_is_macro : bool;
  5. mutable sl_macro_file : source_file option;
  6. mutable sl_macro_line : int option;
}
type source_range = Clang_ast_t.source_range
type attribute_info = Clang_ast_t.attribute_info = {
  1. ai_pointer : pointer;
  2. ai_source_range : source_range;
}
type attr_tuple = Clang_ast_t.attr_tuple
type comment_info = Clang_ast_t.comment_info = {
  1. ci_parent_pointer : pointer;
  2. ci_source_range : source_range;
}
type specifier_kind = Clang_ast_t.specifier_kind
type stmt_info = Clang_ast_t.stmt_info = {
  1. si_pointer : pointer;
  2. si_source_range : source_range;
}
type tag_kind = Clang_ast_t.tag_kind
type type_ptr = Clang_ast_t.type_ptr
type qual_type = Clang_ast_t.qual_type = {
  1. qt_type_ptr : type_ptr;
  2. qt_is_const : bool;
  3. qt_is_restrict : bool;
  4. qt_is_volatile : bool;
}
type array_type_info = Clang_ast_t.array_type_info = {
  1. arti_element_type : qual_type;
  2. arti_stride : int option;
}
type compound_assign_operator_info = Clang_ast_t.compound_assign_operator_info = {
  1. caoi_lhs_type : qual_type;
  2. caoi_result_type : qual_type;
}
type cxx_delete_expr_info = Clang_ast_t.cxx_delete_expr_info = {
  1. xdei_is_array : bool;
  2. xdei_destroyed_type : qual_type;
}
type decl_ref = Clang_ast_t.decl_ref = {
  1. dr_kind : decl_kind;
  2. dr_decl_pointer : pointer;
  3. dr_name : named_decl_info option;
  4. dr_is_hidden : bool;
  5. dr_qual_type : qual_type option;
}
type cxx_construct_expr_info = Clang_ast_t.cxx_construct_expr_info = {
  1. xcei_decl_ref : decl_ref;
  2. xcei_is_elidable : bool;
  3. xcei_requires_zero_initialization : bool;
  4. xcei_is_copy_constructor : bool;
}
type cxx_ctor_initializer_subject = Clang_ast_t.cxx_ctor_initializer_subject
type decl_ref_expr_info = Clang_ast_t.decl_ref_expr_info = {
  1. drti_decl_ref : decl_ref option;
}
type expr_with_cleanups_info = Clang_ast_t.expr_with_cleanups_info = {
  1. ewci_decl_refs : decl_ref list;
}
type function_type_info = Clang_ast_t.function_type_info = {
  1. fti_return_type : qual_type;
}
type materialize_temporary_expr_info = Clang_ast_t.materialize_temporary_expr_info = {
  1. mtei_decl_ref : decl_ref option;
}
type member_expr_info = Clang_ast_t.member_expr_info = {
  1. mei_is_arrow : bool;
  2. mei_performs_virtual_dispatch : bool;
  3. mei_name : named_decl_info;
  4. mei_decl_ref : decl_ref;
}
type nested_name_specifier_loc = Clang_ast_t.nested_name_specifier_loc = {
  1. nnsl_kind : specifier_kind;
  2. nnsl_ref : decl_ref option;
}
type namespace_alias_decl_info = Clang_ast_t.namespace_alias_decl_info = {
  1. nadi_namespace_loc : source_location;
  2. nadi_target_name_loc : source_location;
  3. nadi_nested_name_specifier_locs : nested_name_specifier_loc list;
  4. nadi_namespace : decl_ref;
}
type obj_c_category_decl_info = Clang_ast_t.obj_c_category_decl_info = {
  1. odi_class_interface : decl_ref option;
  2. odi_implementation : decl_ref option;
  3. odi_protocols : decl_ref list;
}
type obj_c_category_impl_decl_info = Clang_ast_t.obj_c_category_impl_decl_info = {
  1. ocidi_class_interface : decl_ref option;
  2. ocidi_category_decl : decl_ref option;
}
type obj_c_compatible_alias_decl_info = Clang_ast_t.obj_c_compatible_alias_decl_info = {
  1. ocadi_class_interface : decl_ref option;
}
type obj_c_interface_decl_info = Clang_ast_t.obj_c_interface_decl_info = {
  1. otdi_super : decl_ref option;
  2. otdi_implementation : decl_ref option;
  3. otdi_protocols : decl_ref list;
  4. otdi_known_categories : decl_ref list;
}
type obj_c_ivar_ref_expr_info = Clang_ast_t.obj_c_ivar_ref_expr_info = {
  1. ovrei_decl_ref : decl_ref;
  2. ovrei_pointer : pointer;
  3. ovrei_is_free_ivar : bool;
}
type obj_c_property_decl_info = Clang_ast_t.obj_c_property_decl_info = {
  1. opdi_qual_type : qual_type;
  2. opdi_getter_method : decl_ref option;
  3. opdi_setter_method : decl_ref option;
  4. opdi_ivar_decl : decl_ref option;
  5. opdi_property_control : obj_c_property_control;
  6. opdi_property_attributes : property_attribute list;
}
type obj_c_property_impl_decl_info = Clang_ast_t.obj_c_property_impl_decl_info = {
  1. opidi_implementation : property_implementation;
  2. opidi_property_decl : decl_ref option;
  3. opidi_ivar_decl : decl_ref option;
}
type obj_c_protocol_decl_info = Clang_ast_t.obj_c_protocol_decl_info = {
  1. opcdi_protocols : decl_ref list;
}
type objc_encode_expr_info = Clang_ast_t.objc_encode_expr_info = {
  1. oeei_qual_type : qual_type;
  2. oeei_raw : string;
}
type objc_object_type_info = Clang_ast_t.objc_object_type_info = {
  1. ooti_base_type : type_ptr;
  2. ooti_protocol_decls_ptr : pointer list;
  3. ooti_type_args : qual_type list;
}
type overload_expr_info = Clang_ast_t.overload_expr_info = {
  1. oei_decls : decl_ref list;
  2. oei_name : declaration_name;
}
type params_type_info = Clang_ast_t.params_type_info = {
  1. pti_params_type : qual_type list;
}
type property_ref_kind = Clang_ast_t.property_ref_kind
type obj_c_property_ref_expr_info = Clang_ast_t.obj_c_property_ref_expr_info = {
  1. oprei_kind : property_ref_kind;
  2. oprei_is_super_receiver : bool;
  3. oprei_is_messaging_getter : bool;
  4. oprei_is_messaging_setter : bool;
}
type receiver_kind = Clang_ast_t.receiver_kind
type obj_c_message_expr_info = Clang_ast_t.obj_c_message_expr_info = {
  1. omei_selector : string;
  2. omei_is_definition_found : bool;
  3. omei_decl_pointer : pointer option;
  4. omei_receiver_kind : receiver_kind;
}
type type_info = Clang_ast_t.type_info = {
  1. ti_pointer : pointer;
  2. ti_desugared_type : type_ptr option;
}
type type_trait_info = Clang_ast_t.type_trait_info = {
  1. xtti_value : bool;
}
type typedef_decl_info = Clang_ast_t.typedef_decl_info = {
  1. tdi_is_module_private : bool;
}
type typedef_type_info = Clang_ast_t.typedef_type_info = {
  1. tti_child_type : qual_type;
  2. tti_decl_ptr : pointer;
}
type c_type = Clang_ast_t.c_type =
  1. | NoneType of type_info
  2. | AdjustedType of type_info * qual_type
  3. | DecayedType of type_info * qual_type
  4. | ConstantArrayType of type_info * array_type_info * int
  5. | ArrayParameterType of type_info * array_type_info * int
  6. | DependentSizedArrayType of type_info * array_type_info
  7. | IncompleteArrayType of type_info * array_type_info
  8. | VariableArrayType of type_info * array_type_info * pointer
  9. | AtomicType of type_info * qual_type
  10. | AttributedType of type_info * attr_type_info
  11. | BTFTagAttributedType of type_info
  12. | BitIntType of type_info
  13. | BlockPointerType of type_info * qual_type
  14. | CountAttributedType of type_info
  15. | BuiltinType of type_info * builtin_type_kind
  16. | ComplexType of type_info
  17. | DecltypeType of type_info * qual_type
  18. | AutoType of type_info
  19. | DeducedTemplateSpecializationType of type_info
  20. | DependentAddressSpaceType of type_info
  21. | DependentBitIntType of type_info
  22. | DependentNameType of type_info
  23. | DependentSizedExtVectorType of type_info
  24. | DependentTemplateSpecializationType of type_info
  25. | DependentVectorType of type_info
  26. | ElaboratedType of type_info
  27. | FunctionNoProtoType of type_info * function_type_info
  28. | FunctionProtoType of type_info * function_type_info * params_type_info
  29. | InjectedClassNameType of type_info
  30. | MacroQualifiedType of type_info
  31. | ConstantMatrixType of type_info
  32. | DependentSizedMatrixType of type_info
  33. | MemberPointerType of type_info * qual_type
  34. | ObjCObjectPointerType of type_info * qual_type
  35. | ObjCObjectType of type_info * objc_object_type_info
  36. | ObjCInterfaceType of type_info * pointer
  37. | ObjCTypeParamType of type_info
  38. | PackExpansionType of type_info
  39. | PackIndexingType of type_info
  40. | ParenType of type_info * qual_type
  41. | PipeType of type_info
  42. | PointerType of type_info * qual_type
  43. | LValueReferenceType of type_info * qual_type
  44. | RValueReferenceType of type_info * qual_type
  45. | SubstTemplateTypeParmPackType of type_info
  46. | SubstTemplateTypeParmType of type_info
  47. | EnumType of type_info * pointer
  48. | RecordType of type_info * pointer
  49. | TemplateSpecializationType of type_info
  50. | TemplateTypeParmType of type_info
  51. | TypeOfExprType of type_info
  52. | TypeOfType of type_info
  53. | TypedefType of type_info * typedef_type_info
  54. | UnaryTransformType of type_info
  55. | UnresolvedUsingType of type_info
  56. | UsingType of type_info
  57. | VectorType of type_info
  58. | ExtVectorType of type_info
type translation_unit_decl_info = Clang_ast_t.translation_unit_decl_info = {
  1. tudi_input_path : source_file;
  2. tudi_input_kind : input_kind;
  3. tudi_integer_type_widths : integer_type_widths;
  4. tudi_is_objc_arc_on : bool;
  5. tudi_types : c_type list;
}
type unary_expr_or_type_trait_kind = Clang_ast_t.unary_expr_or_type_trait_kind
type unary_expr_or_type_trait_expr_info = Clang_ast_t.unary_expr_or_type_trait_expr_info = {
  1. uttei_kind : unary_expr_or_type_trait_kind;
  2. uttei_qual_type : qual_type;
}
type unary_operator_kind = Clang_ast_t.unary_operator_kind
type unary_operator_info = Clang_ast_t.unary_operator_info = {
  1. uoi_kind : unary_operator_kind;
  2. uoi_is_postfix : bool;
}
type unresolved_lookup_expr_info = Clang_ast_t.unresolved_lookup_expr_info = {
  1. ulei_requires_ADL : bool;
  2. ulei_naming_class : decl_ref option;
}
type using_directive_decl_info = Clang_ast_t.using_directive_decl_info = {
  1. uddi_using_location : source_location;
  2. uddi_namespace_key_location : source_location;
  3. uddi_nested_name_specifier_locs : nested_name_specifier_loc list;
  4. uddi_nominated_namespace : decl_ref option;
}
type value_kind = Clang_ast_t.value_kind
type expr_info = Clang_ast_t.expr_info = {
  1. ei_qual_type : qual_type;
  2. ei_value_kind : value_kind;
  3. ei_object_kind : object_kind;
}
type version_tuple = Clang_ast_t.version_tuple = {
  1. vt_major : int;
  2. vt_minor : int option;
  3. vt_subminor : int option;
  4. vt_build : int option;
}
type availability_attr_info = Clang_ast_t.availability_attr_info = {
  1. aai_platform : string option;
  2. aai_introduced : version_tuple;
}
type visibility_attr = Clang_ast_t.visibility_attr =
  1. | DefaultVisibility
  2. | HiddenVisibility
  3. | ProtectedVisibility
type attribute = Clang_ast_t.attribute
type template_instantiation_arg_info = Clang_ast_t.template_instantiation_arg_info
type comment = Clang_ast_t.comment =
  1. | VerbatimBlockLineComment of comment_info * comment list
  2. | TextComment of comment_info * comment list
  3. | InlineCommandComment of comment_info * comment list
  4. | HTMLStartTagComment of comment_info * comment list
  5. | HTMLEndTagComment of comment_info * comment list
  6. | FullComment of comment_info * comment list
  7. | ParagraphComment of comment_info * comment list
  8. | BlockCommandComment of comment_info * comment list
  9. | VerbatimLineComment of comment_info * comment list
  10. | VerbatimBlockComment of comment_info * comment list
  11. | TParamCommandComment of comment_info * comment list
  12. | ParamCommandComment of comment_info * comment list
type template_specialization_info = Clang_ast_t.template_specialization_info = {
  1. tsi_template_decl : pointer;
  2. tsi_specialization_args : template_instantiation_arg_info list;
}
type decl_info = Clang_ast_t.decl_info = {
  1. di_pointer : pointer;
  2. di_parent_pointer : pointer option;
  3. di_source_range : source_range;
  4. di_owning_module : string option;
  5. di_is_hidden : bool;
  6. di_is_implicit : bool;
  7. di_is_used : bool;
  8. di_is_this_declaration_referenced : bool;
  9. di_is_invalid_decl : bool;
  10. di_attributes : attribute list;
  11. di_full_comment : comment option;
  12. di_access : access_specifier;
}
type binding_decl_info = Clang_ast_t.binding_decl_info = {
  1. binding_var : var_decl_info option;
  2. bound_decl_type : qual_type option;
}
and block_captured_variable = Clang_ast_t.block_captured_variable = {
  1. bcv_is_by_ref : bool;
  2. bcv_is_nested : bool;
  3. bcv_variable : decl_ref option;
  4. bcv_copy_expr : stmt option;
}
and block_decl_info = Clang_ast_t.block_decl_info = {
  1. bdi_parameters : decl list;
  2. bdi_is_variadic : bool;
  3. bdi_captures_cxx_this : bool;
  4. bdi_captured_variables : block_captured_variable list;
  5. bdi_body : stmt option;
  6. bdi_mangled_name : string;
}
and coreturn_stmt_info = Clang_ast_t.coreturn_stmt_info = {
  1. coret_operand : stmt option;
  2. coret_promise_call : stmt option;
}
and coro_body_stmt_info = Clang_ast_t.coro_body_stmt_info = {
  1. cbs_body : pointer;
  2. cbs_promise_decl_stmt : pointer;
  3. cbs_return_value : stmt;
}
and cxx_catch_stmt_info = Clang_ast_t.cxx_catch_stmt_info = {
  1. xcsi_variable : decl option;
}
and cxx_ctor_initializer = Clang_ast_t.cxx_ctor_initializer = {
  1. xci_subject : cxx_ctor_initializer_subject;
  2. xci_source_range : source_range;
  3. xci_init_expr : stmt option;
}
and cxx_default_expr_info = Clang_ast_t.cxx_default_expr_info = {
  1. xdaei_init_expr : stmt option;
}
and cxx_method_decl_info = Clang_ast_t.cxx_method_decl_info = {
  1. xmdi_is_virtual : bool;
  2. xmdi_is_static : bool;
  3. xmdi_is_const : bool;
  4. xmdi_is_copy_assignment : bool;
  5. xmdi_is_copy_constructor : bool;
  6. xmdi_is_move_constructor : bool;
  7. xmdi_cxx_ctor_initializers : cxx_ctor_initializer list;
  8. xmdi_overriden_methods : decl_ref list;
}
and cxx_record_decl_info = Clang_ast_t.cxx_record_decl_info = {
  1. xrdi_bases : type_ptr list;
  2. xrdi_vbases : type_ptr list;
  3. xrdi_transitive_vbases : type_ptr list;
  4. xrdi_is_pod : bool;
  5. xrdi_is_trivially_copyable : bool;
  6. xrdi_destructor : decl_ref option;
  7. xrdi_lambda_call_operator : decl_ref option;
  8. xrdi_lambda_captures : lambda_capture_info list;
}
and decl = Clang_ast_t.decl =
  1. | TranslationUnitDecl of decl_info * decl list * decl_context_info * translation_unit_decl_info
  2. | TopLevelStmtDecl of decl_info
  3. | RequiresExprBodyDecl of decl_info
  4. | LinkageSpecDecl of decl_info * decl list * decl_context_info
  5. | ExternCContextDecl of decl_info
  6. | ExportDecl of decl_info
  7. | CapturedDecl of decl_info * decl list * decl_context_info
  8. | BlockDecl of decl_info * block_decl_info
  9. | StaticAssertDecl of decl_info
  10. | PragmaDetectMismatchDecl of decl_info
  11. | PragmaCommentDecl of decl_info
  12. | ObjCPropertyImplDecl of decl_info * obj_c_property_impl_decl_info
  13. | OMPThreadPrivateDecl of decl_info
  14. | OMPRequiresDecl of decl_info
  15. | OMPAllocateDecl of decl_info
  16. | ObjCMethodDecl of decl_info * named_decl_info * obj_c_method_decl_info
  17. | ObjCProtocolDecl of decl_info * named_decl_info * decl list * decl_context_info * obj_c_protocol_decl_info
  18. | ObjCInterfaceDecl of decl_info * named_decl_info * decl list * decl_context_info * obj_c_interface_decl_info
  19. | ObjCImplementationDecl of decl_info * named_decl_info * decl list * decl_context_info * obj_c_implementation_decl_info
  20. | ObjCCategoryImplDecl of decl_info * named_decl_info * decl list * decl_context_info * obj_c_category_impl_decl_info
  21. | ObjCCategoryDecl of decl_info * named_decl_info * decl list * decl_context_info * obj_c_category_decl_info
  22. | NamespaceDecl of decl_info * named_decl_info * decl list * decl_context_info * namespace_decl_info
  23. | HLSLBufferDecl of decl_info * named_decl_info
  24. | OMPDeclareReductionDecl of decl_info * named_decl_info * qual_type
  25. | OMPDeclareMapperDecl of decl_info * named_decl_info * qual_type
  26. | UnresolvedUsingValueDecl of decl_info * named_decl_info * qual_type
  27. | UnnamedGlobalConstantDecl of decl_info * named_decl_info * qual_type
  28. | TemplateParamObjectDecl of decl_info * named_decl_info * qual_type
  29. | MSGuidDecl of decl_info * named_decl_info * qual_type
  30. | IndirectFieldDecl of decl_info * named_decl_info * qual_type * decl_ref list
  31. | EnumConstantDecl of decl_info * named_decl_info * qual_type * enum_constant_decl_info
  32. | FunctionDecl of decl_info * named_decl_info * qual_type * function_decl_info
  33. | CXXMethodDecl of decl_info * named_decl_info * qual_type * function_decl_info * cxx_method_decl_info
  34. | CXXDestructorDecl of decl_info * named_decl_info * qual_type * function_decl_info * cxx_method_decl_info
  35. | CXXConversionDecl of decl_info * named_decl_info * qual_type * function_decl_info * cxx_method_decl_info
  36. | CXXConstructorDecl of decl_info * named_decl_info * qual_type * function_decl_info * cxx_method_decl_info
  37. | CXXDeductionGuideDecl of decl_info * named_decl_info * qual_type * function_decl_info
  38. | VarDecl of decl_info * named_decl_info * qual_type * var_decl_info
  39. | VarTemplateSpecializationDecl of template_instantiation_arg_info list * decl_info * named_decl_info * qual_type * var_decl_info
  40. | VarTemplatePartialSpecializationDecl of template_instantiation_arg_info list * decl_info * named_decl_info * qual_type * var_decl_info
  41. | ParmVarDecl of decl_info * named_decl_info * qual_type * var_decl_info
  42. | OMPCapturedExprDecl of decl_info * named_decl_info * qual_type * var_decl_info
  43. | ImplicitParamDecl of decl_info * named_decl_info * qual_type * var_decl_info
  44. | DecompositionDecl of decl_info * named_decl_info * qual_type * var_decl_info * decl list
  45. | NonTypeTemplateParmDecl of decl_info * named_decl_info * qual_type
  46. | MSPropertyDecl of decl_info * named_decl_info * qual_type
  47. | FieldDecl of decl_info * named_decl_info * qual_type * field_decl_info
  48. | ObjCIvarDecl of decl_info * named_decl_info * qual_type * field_decl_info * obj_c_ivar_decl_info
  49. | ObjCAtDefsFieldDecl of decl_info * named_decl_info * qual_type * field_decl_info
  50. | BindingDecl of decl_info * named_decl_info * qual_type * binding_decl_info
  51. | UsingShadowDecl of decl_info * named_decl_info
  52. | ConstructorUsingShadowDecl of decl_info * named_decl_info
  53. | UsingPackDecl of decl_info * named_decl_info
  54. | UsingDirectiveDecl of decl_info * named_decl_info * using_directive_decl_info
  55. | UnresolvedUsingIfExistsDecl of decl_info * named_decl_info
  56. | RecordDecl of decl_info * named_decl_info * type_ptr * decl list * decl_context_info * tag_kind * record_decl_info
  57. | CXXRecordDecl of decl_info * named_decl_info * type_ptr * decl list * decl_context_info * tag_kind * record_decl_info * cxx_record_decl_info
  58. | 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
  59. | 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
  60. | EnumDecl of decl_info * named_decl_info * type_ptr * decl list * decl_context_info * tag_kind * enum_decl_info
  61. | UnresolvedUsingTypenameDecl of decl_info * named_decl_info * type_ptr
  62. | TypedefDecl of decl_info * named_decl_info * type_ptr * typedef_decl_info
  63. | TypeAliasDecl of decl_info * named_decl_info * type_ptr
  64. | ObjCTypeParamDecl of decl_info * named_decl_info * type_ptr
  65. | TemplateTypeParmDecl of decl_info * named_decl_info * type_ptr
  66. | TemplateTemplateParmDecl of decl_info * named_decl_info
  67. | VarTemplateDecl of decl_info * named_decl_info
  68. | TypeAliasTemplateDecl of decl_info * named_decl_info
  69. | FunctionTemplateDecl of decl_info * named_decl_info * template_decl_info
  70. | ClassTemplateDecl of decl_info * named_decl_info * template_decl_info
  71. | ConceptDecl of decl_info * named_decl_info
  72. | BuiltinTemplateDecl of decl_info * named_decl_info
  73. | ObjCPropertyDecl of decl_info * named_decl_info * obj_c_property_decl_info
  74. | ObjCCompatibleAliasDecl of decl_info * named_decl_info * obj_c_compatible_alias_decl_info
  75. | NamespaceAliasDecl of decl_info * named_decl_info * namespace_alias_decl_info
  76. | LabelDecl of decl_info * named_decl_info
  77. | UsingEnumDecl of decl_info * named_decl_info
  78. | UsingDecl of decl_info * named_decl_info
  79. | LifetimeExtendedTemporaryDecl of decl_info
  80. | ImportDecl of decl_info * string
  81. | ImplicitConceptSpecializationDecl of decl_info
  82. | FriendTemplateDecl of decl_info
  83. | FriendDecl of decl_info * friend_info
  84. | FileScopeAsmDecl of decl_info
  85. | EmptyDecl of decl_info
  86. | AccessSpecDecl of decl_info
and enum_constant_decl_info = Clang_ast_t.enum_constant_decl_info = {
  1. ecdi_init_expr : stmt option;
}
and field_decl_info = Clang_ast_t.field_decl_info = {
  1. fldi_is_mutable : bool;
  2. fldi_is_module_private : bool;
  3. fldi_init_expr : stmt option;
  4. fldi_bit_width_expr : stmt option;
}
and friend_info = Clang_ast_t.friend_info
and function_decl_info = Clang_ast_t.function_decl_info = {
  1. fdi_mangled_name : string option;
  2. fdi_is_cpp : bool;
  3. fdi_is_inline : bool;
  4. fdi_is_module_private : bool;
  5. fdi_is_pure : bool;
  6. fdi_is_deleted : bool;
  7. fdi_is_no_return : bool;
  8. fdi_is_constexpr : bool;
  9. fdi_is_variadic : bool;
  10. fdi_is_static : bool;
  11. fdi_parameters : decl list;
  12. fdi_decl_ptr_with_body : pointer option;
  13. fdi_body : stmt option;
  14. fdi_template_specialization : template_specialization_info option;
  15. fdi_point_of_instantiation : source_location option;
}
and generic_selection_info = Clang_ast_t.generic_selection_info = {
  1. gse_value : stmt option;
}
and if_stmt_info = Clang_ast_t.if_stmt_info = {
  1. isi_init : pointer option;
  2. isi_cond_var : stmt option;
  3. isi_cond : pointer;
  4. isi_then : pointer;
  5. isi_else : (pointer * source_location) option;
}
and lambda_capture_info = Clang_ast_t.lambda_capture_info = {
  1. lci_capture_kind : lambda_capture_kind;
  2. lci_capture_this : bool;
  3. lci_capture_variable : bool;
  4. lci_capture_VLAtype : bool;
  5. lci_init_captured_vardecl : decl option;
  6. lci_captured_var : decl_ref option;
  7. lci_is_implicit : bool;
  8. lci_location : source_range;
  9. lci_is_pack_expansion : bool;
}
and lambda_expr_info = Clang_ast_t.lambda_expr_info = {
  1. lei_lambda_decl : decl;
}
and obj_c_implementation_decl_info = Clang_ast_t.obj_c_implementation_decl_info = {
  1. oidi_super : decl_ref option;
  2. oidi_class_interface : decl_ref option;
  3. oidi_ivar_initializers : cxx_ctor_initializer list;
}
and obj_c_message_expr_kind = Clang_ast_t.obj_c_message_expr_kind
and obj_c_method_decl_info = Clang_ast_t.obj_c_method_decl_info = {
  1. omdi_is_instance_method : bool;
  2. omdi_result_type : qual_type;
  3. omdi_is_property_accessor : bool;
  4. omdi_property_decl : decl_ref option;
  5. omdi_parameters : decl list;
  6. omdi_implicit_parameters : decl list;
  7. omdi_is_variadic : bool;
  8. omdi_is_overriding : bool;
  9. omdi_is_optional : bool;
  10. omdi_body : stmt option;
  11. omdi_mangled_name : string;
}
and opaque_value_expr_info = Clang_ast_t.opaque_value_expr_info = {
  1. ovei_source_expr : stmt option;
}
and stmt = Clang_ast_t.stmt =
  1. | WhileStmt of stmt_info * stmt list
  2. | LabelStmt of stmt_info * stmt list * string
  3. | VAArgExpr of stmt_info * stmt list * expr_info
  4. | UnaryOperator of stmt_info * stmt list * expr_info * unary_operator_info
  5. | UnaryExprOrTypeTraitExpr of stmt_info * stmt list * expr_info * unary_expr_or_type_trait_expr_info
  6. | TypoExpr of stmt_info * stmt list * expr_info
  7. | TypeTraitExpr of stmt_info * stmt list * expr_info * type_trait_info
  8. | SubstNonTypeTemplateParmPackExpr of stmt_info * stmt list * expr_info
  9. | SubstNonTypeTemplateParmExpr of stmt_info * stmt list * expr_info
  10. | StringLiteral of stmt_info * stmt list * expr_info * string list
  11. | StmtExpr of stmt_info * stmt list * expr_info
  12. | SourceLocExpr of stmt_info * stmt list * expr_info
  13. | SizeOfPackExpr of stmt_info * stmt list * expr_info
  14. | ShuffleVectorExpr of stmt_info * stmt list * expr_info
  15. | SYCLUniqueStableNameExpr of stmt_info * stmt list * expr_info
  16. | RequiresExpr of stmt_info * stmt list * expr_info
  17. | RecoveryExpr of stmt_info * stmt list * expr_info
  18. | PseudoObjectExpr of stmt_info * stmt list * expr_info
  19. | PredefinedExpr of stmt_info * stmt list * expr_info * predefined_expr_type
  20. | ParenListExpr of stmt_info * stmt list * expr_info
  21. | ParenExpr of stmt_info * stmt list * expr_info
  22. | PackIndexingExpr of stmt_info * stmt list * expr_info
  23. | PackExpansionExpr of stmt_info * stmt list * expr_info
  24. | UnresolvedMemberExpr of stmt_info * stmt list * expr_info * overload_expr_info
  25. | UnresolvedLookupExpr of stmt_info * stmt list * expr_info * overload_expr_info * unresolved_lookup_expr_info
  26. | OpaqueValueExpr of stmt_info * stmt list * expr_info * opaque_value_expr_info
  27. | OffsetOfExpr of stmt_info * stmt list * expr_info * offset_of_expr_info
  28. | ObjCSubscriptRefExpr of stmt_info * stmt list * expr_info * obj_c_subscript_ref_expr_info
  29. | ObjCStringLiteral of stmt_info * stmt list * expr_info
  30. | ObjCSelectorExpr of stmt_info * stmt list * expr_info * selector
  31. | ObjCProtocolExpr of stmt_info * stmt list * expr_info * decl_ref
  32. | ObjCPropertyRefExpr of stmt_info * stmt list * expr_info * obj_c_property_ref_expr_info
  33. | ObjCMessageExpr of stmt_info * stmt list * expr_info * obj_c_message_expr_info
  34. | ObjCIvarRefExpr of stmt_info * stmt list * expr_info * obj_c_ivar_ref_expr_info
  35. | ObjCIsaExpr of stmt_info * stmt list * expr_info
  36. | ObjCIndirectCopyRestoreExpr of stmt_info * stmt list * expr_info
  37. | ObjCEncodeExpr of stmt_info * stmt list * expr_info * objc_encode_expr_info
  38. | ObjCDictionaryLiteral of stmt_info * stmt list * expr_info * obj_c_dictionary_literal_expr_info
  39. | ObjCBoxedExpr of stmt_info * stmt list * expr_info * objc_boxed_expr_info
  40. | ObjCBoolLiteralExpr of stmt_info * stmt list * expr_info * int
  41. | ObjCAvailabilityCheckExpr of stmt_info * stmt list * expr_info * obj_c_availability_check_expr_info
  42. | ObjCArrayLiteral of stmt_info * stmt list * expr_info * obj_c_array_literal_expr_info
  43. | OMPIteratorExpr of stmt_info * stmt list * expr_info
  44. | OMPArrayShapingExpr of stmt_info * stmt list * expr_info
  45. | NoInitExpr of stmt_info * stmt list * expr_info
  46. | MemberExpr of stmt_info * stmt list * expr_info * member_expr_info
  47. | MatrixSubscriptExpr of stmt_info * stmt list * expr_info
  48. | MaterializeTemporaryExpr of stmt_info * stmt list * expr_info * materialize_temporary_expr_info
  49. | MSPropertySubscriptExpr of stmt_info * stmt list * expr_info
  50. | MSPropertyRefExpr of stmt_info * stmt list * expr_info
  51. | LambdaExpr of stmt_info * stmt list * expr_info * lambda_expr_info
  52. | IntegerLiteral of stmt_info * stmt list * expr_info * integer_literal_info
  53. | InitListExpr of stmt_info * stmt list * expr_info
  54. | ImplicitValueInitExpr of stmt_info * stmt list * expr_info
  55. | ImaginaryLiteral of stmt_info * stmt list * expr_info
  56. | GenericSelectionExpr of stmt_info * stmt list * expr_info * generic_selection_info
  57. | GNUNullExpr of stmt_info * stmt list * expr_info
  58. | FunctionParmPackExpr of stmt_info * stmt list * expr_info
  59. | ExprWithCleanups of stmt_info * stmt list * expr_info * expr_with_cleanups_info
  60. | ConstantExpr of stmt_info * stmt list * expr_info
  61. | FloatingLiteral of stmt_info * stmt list * expr_info * string
  62. | FixedPointLiteral of stmt_info * stmt list * expr_info * string
  63. | ExtVectorElementExpr of stmt_info * stmt list * expr_info
  64. | ExpressionTraitExpr of stmt_info * stmt list * expr_info
  65. | EmbedExpr of stmt_info * stmt list * expr_info
  66. | DesignatedInitUpdateExpr of stmt_info * stmt list * expr_info
  67. | DesignatedInitExpr of stmt_info * stmt list * expr_info
  68. | DependentScopeDeclRefExpr of stmt_info * stmt list * expr_info
  69. | DependentCoawaitExpr of stmt_info * stmt list * expr_info
  70. | DeclRefExpr of stmt_info * stmt list * expr_info * decl_ref_expr_info
  71. | CoyieldExpr of stmt_info * stmt list * expr_info
  72. | CoawaitExpr of stmt_info * stmt list * expr_info
  73. | ConvertVectorExpr of stmt_info * stmt list * expr_info
  74. | ConceptSpecializationExpr of stmt_info * stmt list * expr_info
  75. | CompoundLiteralExpr of stmt_info * stmt list * expr_info
  76. | ChooseExpr of stmt_info * stmt list * expr_info
  77. | CharacterLiteral of stmt_info * stmt list * expr_info * int
  78. | ImplicitCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * bool
  79. | ObjCBridgedCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type * obj_c_bridged_cast_expr_info
  80. | CXXStaticCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type * string
  81. | CXXReinterpretCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type * string
  82. | CXXDynamicCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type * string
  83. | CXXConstCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type * string
  84. | CXXAddrspaceCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type * string
  85. | CXXFunctionalCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type
  86. | CStyleCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type
  87. | BuiltinBitCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type
  88. | CallExpr of stmt_info * stmt list * expr_info
  89. | UserDefinedLiteral of stmt_info * stmt list * expr_info
  90. | CXXOperatorCallExpr of stmt_info * stmt list * expr_info
  91. | CXXMemberCallExpr of stmt_info * stmt list * expr_info
  92. | CUDAKernelCallExpr of stmt_info * stmt list * expr_info
  93. | CXXUuidofExpr of stmt_info * stmt list * expr_info
  94. | CXXUnresolvedConstructExpr of stmt_info * stmt list * expr_info
  95. | CXXTypeidExpr of stmt_info * stmt list * expr_info
  96. | CXXThrowExpr of stmt_info * stmt list * expr_info
  97. | CXXThisExpr of stmt_info * stmt list * expr_info
  98. | CXXStdInitializerListExpr of stmt_info * stmt list * expr_info
  99. | CXXScalarValueInitExpr of stmt_info * stmt list * expr_info
  100. | CXXRewrittenBinaryOperator of stmt_info * stmt list * expr_info
  101. | CXXPseudoDestructorExpr of stmt_info * stmt list * expr_info
  102. | CXXParenListInitExpr of stmt_info * stmt list * expr_info
  103. | CXXNullPtrLiteralExpr of stmt_info * stmt list * expr_info
  104. | CXXNoexceptExpr of stmt_info * stmt list * expr_info * cxx_noexcept_expr_info
  105. | CXXNewExpr of stmt_info * stmt list * expr_info * cxx_new_expr_info
  106. | CXXInheritedCtorInitExpr of stmt_info * stmt list * expr_info * cxx_construct_expr_info
  107. | CXXFoldExpr of stmt_info * stmt list * expr_info
  108. | CXXDependentScopeMemberExpr of stmt_info * stmt list * expr_info
  109. | CXXDeleteExpr of stmt_info * stmt list * expr_info * cxx_delete_expr_info
  110. | CXXDefaultInitExpr of stmt_info * stmt list * expr_info * cxx_default_expr_info
  111. | CXXDefaultArgExpr of stmt_info * stmt list * expr_info * cxx_default_expr_info
  112. | CXXConstructExpr of stmt_info * stmt list * expr_info * cxx_construct_expr_info
  113. | CXXTemporaryObjectExpr of stmt_info * stmt list * expr_info * cxx_construct_expr_info
  114. | CXXBoolLiteralExpr of stmt_info * stmt list * expr_info * int
  115. | CXXBindTemporaryExpr of stmt_info * stmt list * expr_info * cxx_bind_temporary_expr_info
  116. | BlockExpr of stmt_info * stmt list * expr_info * decl
  117. | BinaryOperator of stmt_info * stmt list * expr_info * binary_operator_info
  118. | CompoundAssignOperator of stmt_info * stmt list * expr_info * binary_operator_info * compound_assign_operator_info
  119. | AtomicExpr of stmt_info * stmt list * expr_info * atomic_expr_info
  120. | AsTypeExpr of stmt_info * stmt list * expr_info
  121. | ArrayTypeTraitExpr of stmt_info * stmt list * expr_info
  122. | ArraySubscriptExpr of stmt_info * stmt list * expr_info
  123. | ArraySectionExpr of stmt_info * stmt list * expr_info
  124. | ArrayInitLoopExpr of stmt_info * stmt list * expr_info
  125. | ArrayInitIndexExpr of stmt_info * stmt list * expr_info
  126. | AddrLabelExpr of stmt_info * stmt list * expr_info * addr_label_expr_info
  127. | ConditionalOperator of stmt_info * stmt list * expr_info
  128. | BinaryConditionalOperator of stmt_info * stmt list * expr_info
  129. | AttributedStmt of stmt_info * stmt list * attribute list
  130. | SwitchStmt of stmt_info * stmt list * switch_stmt_info
  131. | DefaultStmt of stmt_info * stmt list
  132. | CaseStmt of stmt_info * stmt list
  133. | SEHTryStmt of stmt_info * stmt list
  134. | SEHLeaveStmt of stmt_info * stmt list
  135. | SEHFinallyStmt of stmt_info * stmt list
  136. | SEHExceptStmt of stmt_info * stmt list
  137. | ReturnStmt of stmt_info * stmt list
  138. | OpenACCLoopConstruct of stmt_info * stmt list
  139. | OpenACCComputeConstruct of stmt_info * stmt list
  140. | ObjCForCollectionStmt of stmt_info * stmt list
  141. | ObjCAutoreleasePoolStmt of stmt_info * stmt list
  142. | ObjCAtTryStmt of stmt_info * stmt list
  143. | ObjCAtThrowStmt of stmt_info * stmt list
  144. | ObjCAtSynchronizedStmt of stmt_info * stmt list
  145. | ObjCAtFinallyStmt of stmt_info * stmt list
  146. | ObjCAtCatchStmt of stmt_info * stmt list * obj_c_message_expr_kind
  147. | OMPTeamsDirective of stmt_info * stmt list
  148. | OMPTaskyieldDirective of stmt_info * stmt list
  149. | OMPTaskwaitDirective of stmt_info * stmt list
  150. | OMPTaskgroupDirective of stmt_info * stmt list
  151. | OMPTaskDirective of stmt_info * stmt list
  152. | OMPTargetUpdateDirective of stmt_info * stmt list
  153. | OMPTargetTeamsDirective of stmt_info * stmt list
  154. | OMPTargetParallelForDirective of stmt_info * stmt list
  155. | OMPTargetParallelDirective of stmt_info * stmt list
  156. | OMPTargetExitDataDirective of stmt_info * stmt list
  157. | OMPTargetEnterDataDirective of stmt_info * stmt list
  158. | OMPTargetDirective of stmt_info * stmt list
  159. | OMPTargetDataDirective of stmt_info * stmt list
  160. | OMPSingleDirective of stmt_info * stmt list
  161. | OMPSectionsDirective of stmt_info * stmt list
  162. | OMPSectionDirective of stmt_info * stmt list
  163. | OMPScopeDirective of stmt_info * stmt list
  164. | OMPScanDirective of stmt_info * stmt list
  165. | OMPParallelSectionsDirective of stmt_info * stmt list
  166. | OMPParallelMasterDirective of stmt_info * stmt list
  167. | OMPParallelMaskedDirective of stmt_info * stmt list
  168. | OMPParallelDirective of stmt_info * stmt list
  169. | OMPOrderedDirective of stmt_info * stmt list
  170. | OMPMetaDirective of stmt_info * stmt list
  171. | OMPMasterDirective of stmt_info * stmt list
  172. | OMPMaskedDirective of stmt_info * stmt list
  173. | OMPUnrollDirective of stmt_info * stmt list
  174. | OMPTileDirective of stmt_info * stmt list
  175. | OMPReverseDirective of stmt_info * stmt list
  176. | OMPInterchangeDirective of stmt_info * stmt list
  177. | OMPTeamsGenericLoopDirective of stmt_info * stmt list
  178. | OMPTeamsDistributeSimdDirective of stmt_info * stmt list
  179. | OMPTeamsDistributeParallelForSimdDirective of stmt_info * stmt list
  180. | OMPTeamsDistributeParallelForDirective of stmt_info * stmt list
  181. | OMPTeamsDistributeDirective of stmt_info * stmt list
  182. | OMPTaskLoopSimdDirective of stmt_info * stmt list
  183. | OMPTaskLoopDirective of stmt_info * stmt list
  184. | OMPTargetTeamsGenericLoopDirective of stmt_info * stmt list
  185. | OMPTargetTeamsDistributeSimdDirective of stmt_info * stmt list
  186. | OMPTargetTeamsDistributeParallelForSimdDirective of stmt_info * stmt list
  187. | OMPTargetTeamsDistributeParallelForDirective of stmt_info * stmt list
  188. | OMPTargetTeamsDistributeDirective of stmt_info * stmt list
  189. | OMPTargetSimdDirective of stmt_info * stmt list
  190. | OMPTargetParallelGenericLoopDirective of stmt_info * stmt list
  191. | OMPTargetParallelForSimdDirective of stmt_info * stmt list
  192. | OMPSimdDirective of stmt_info * stmt list
  193. | OMPParallelMasterTaskLoopSimdDirective of stmt_info * stmt list
  194. | OMPParallelMasterTaskLoopDirective of stmt_info * stmt list
  195. | OMPParallelMaskedTaskLoopSimdDirective of stmt_info * stmt list
  196. | OMPParallelMaskedTaskLoopDirective of stmt_info * stmt list
  197. | OMPParallelGenericLoopDirective of stmt_info * stmt list
  198. | OMPParallelForSimdDirective of stmt_info * stmt list
  199. | OMPParallelForDirective of stmt_info * stmt list
  200. | OMPMasterTaskLoopSimdDirective of stmt_info * stmt list
  201. | OMPMasterTaskLoopDirective of stmt_info * stmt list
  202. | OMPMaskedTaskLoopSimdDirective of stmt_info * stmt list
  203. | OMPMaskedTaskLoopDirective of stmt_info * stmt list
  204. | OMPGenericLoopDirective of stmt_info * stmt list
  205. | OMPForSimdDirective of stmt_info * stmt list
  206. | OMPForDirective of stmt_info * stmt list
  207. | OMPDistributeSimdDirective of stmt_info * stmt list
  208. | OMPDistributeParallelForSimdDirective of stmt_info * stmt list
  209. | OMPDistributeParallelForDirective of stmt_info * stmt list
  210. | OMPDistributeDirective of stmt_info * stmt list
  211. | OMPInteropDirective of stmt_info * stmt list
  212. | OMPFlushDirective of stmt_info * stmt list
  213. | OMPErrorDirective of stmt_info * stmt list
  214. | OMPDispatchDirective of stmt_info * stmt list
  215. | OMPDepobjDirective of stmt_info * stmt list
  216. | OMPCriticalDirective of stmt_info * stmt list
  217. | OMPCancellationPointDirective of stmt_info * stmt list
  218. | OMPCancelDirective of stmt_info * stmt list
  219. | OMPBarrierDirective of stmt_info * stmt list
  220. | OMPAtomicDirective of stmt_info * stmt list
  221. | OMPCanonicalLoop of stmt_info * stmt list
  222. | NullStmt of stmt_info * stmt list
  223. | MSDependentExistsStmt of stmt_info * stmt list
  224. | IndirectGotoStmt of stmt_info * stmt list
  225. | IfStmt of stmt_info * stmt list * if_stmt_info
  226. | GotoStmt of stmt_info * stmt list * goto_stmt_info
  227. | ForStmt of stmt_info * stmt list
  228. | DoStmt of stmt_info * stmt list
  229. | DeclStmt of stmt_info * stmt list * decl list
  230. | CoroutineBodyStmt of stmt_info * stmt list * coro_body_stmt_info
  231. | CoreturnStmt of stmt_info * stmt list * coreturn_stmt_info
  232. | ContinueStmt of stmt_info * stmt list
  233. | CompoundStmt of stmt_info * stmt list
  234. | CapturedStmt of stmt_info * stmt list
  235. | CXXTryStmt of stmt_info * stmt list
  236. | CXXForRangeStmt of stmt_info * stmt list
  237. | CXXCatchStmt of stmt_info * stmt list * cxx_catch_stmt_info
  238. | BreakStmt of stmt_info * stmt list
  239. | MSAsmStmt of stmt_info * stmt list
  240. | GCCAsmStmt of stmt_info * stmt list
and switch_stmt_info = Clang_ast_t.switch_stmt_info = {
  1. ssi_init : pointer option;
  2. ssi_cond_var : stmt option;
  3. ssi_cond : pointer;
  4. ssi_body : pointer;
  5. ssi_is_all_enum_cases_covered : bool;
}
and template_decl_info = Clang_ast_t.template_decl_info = {
  1. tdi_specializations : decl list;
}
and var_decl_info = Clang_ast_t.var_decl_info = {
  1. vdi_is_global : bool;
  2. vdi_is_extern : bool;
  3. vdi_is_static : bool;
  4. vdi_is_static_local : bool;
  5. vdi_is_static_data_member : bool;
  6. vdi_is_constexpr : bool;
  7. vdi_is_init_ice : bool;
  8. vdi_init_expr : stmt option;
  9. vdi_is_init_expr_cxx11_constant : bool;
  10. vdi_parm_index_in_function : int option;
}
type lookup = Clang_ast_t.lookup = {
  1. lup_decl_name : string;
  2. lup_decl_refs : decl_ref list;
}
type lookups = Clang_ast_t.lookups = {
  1. lups_decl_ref : decl_ref;
  2. lups_primary_context_pointer : pointer option;
  3. lups_lookups : lookup list;
  4. lups_has_undeserialized_decls : bool;
}
val validate_access_specifier : Atdgen_runtime.Util.Validation.path -> access_specifier -> Atdgen_runtime.Util.Validation.error option

Validate a value of type access_specifier.

val validate_atomic_expr_kind : Atdgen_runtime.Util.Validation.path -> atomic_expr_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type atomic_expr_kind.

val create_atomic_expr_info : aei_kind:atomic_expr_kind -> unit -> atomic_expr_info

Create a record of type atomic_expr_info.

val validate_atomic_expr_info : Atdgen_runtime.Util.Validation.path -> atomic_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type atomic_expr_info.

val validate_attribute_kind : Atdgen_runtime.Util.Validation.path -> attribute_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type attribute_kind.

val validate_binary_operator_kind : Atdgen_runtime.Util.Validation.path -> binary_operator_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type binary_operator_kind.

val create_binary_operator_info : boi_kind:binary_operator_kind -> unit -> binary_operator_info

Create a record of type binary_operator_info.

val validate_binary_operator_info : Atdgen_runtime.Util.Validation.path -> binary_operator_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type binary_operator_info.

val validate_builtin_type_kind : Atdgen_runtime.Util.Validation.path -> builtin_type_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type builtin_type_kind.

val validate_cast_kind : Atdgen_runtime.Util.Validation.path -> cast_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type cast_kind.

val create_cxx_base_specifier : xbs_name:string -> ?xbs_virtual:bool -> unit -> cxx_base_specifier

Create a record of type cxx_base_specifier.

val validate_cxx_base_specifier : Atdgen_runtime.Util.Validation.path -> cxx_base_specifier -> Atdgen_runtime.Util.Validation.error option

Validate a value of type cxx_base_specifier.

val create_cast_expr_info : cei_cast_kind:cast_kind -> cei_base_path:cxx_base_specifier list -> unit -> cast_expr_info

Create a record of type cast_expr_info.

val validate_cast_expr_info : Atdgen_runtime.Util.Validation.path -> cast_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type cast_expr_info.

val create_cxx_noexcept_expr_info : ?xnee_value:bool -> unit -> cxx_noexcept_expr_info

Create a record of type cxx_noexcept_expr_info.

val validate_cxx_noexcept_expr_info : Atdgen_runtime.Util.Validation.path -> cxx_noexcept_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type cxx_noexcept_expr_info.

val create_decl_context_info : ?dci_has_external_lexical_storage:bool -> ?dci_has_external_visible_storage:bool -> unit -> decl_context_info

Create a record of type decl_context_info.

val validate_decl_context_info : Atdgen_runtime.Util.Validation.path -> decl_context_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type decl_context_info.

val validate_decl_kind : Atdgen_runtime.Util.Validation.path -> decl_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type decl_kind.

val validate_declaration_name_kind : Atdgen_runtime.Util.Validation.path -> declaration_name_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type declaration_name_kind.

val create_declaration_name : dn_kind:declaration_name_kind -> dn_name:string -> unit -> declaration_name

Create a record of type declaration_name.

val validate_declaration_name : Atdgen_runtime.Util.Validation.path -> declaration_name -> Atdgen_runtime.Util.Validation.error option

Validate a value of type declaration_name.

val validate_enum_decl_scope : Atdgen_runtime.Util.Validation.path -> enum_decl_scope -> Atdgen_runtime.Util.Validation.error option

Validate a value of type enum_decl_scope.

val create_enum_decl_info : ?edi_scope:enum_decl_scope -> ?edi_is_module_private:bool -> unit -> enum_decl_info

Create a record of type enum_decl_info.

val validate_enum_decl_info : Atdgen_runtime.Util.Validation.path -> enum_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type enum_decl_info.

val validate_input_kind : Atdgen_runtime.Util.Validation.path -> input_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type input_kind.

val create_integer_literal_info : ?ili_is_signed:bool -> ili_bitwidth:int -> ili_value:string -> unit -> integer_literal_info

Create a record of type integer_literal_info.

val validate_integer_literal_info : Atdgen_runtime.Util.Validation.path -> integer_literal_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type integer_literal_info.

val create_integer_type_widths : itw_char_type:int -> itw_short_type:int -> itw_int_type:int -> itw_long_type:int -> itw_longlong_type:int -> unit -> integer_type_widths

Create a record of type integer_type_widths.

val validate_integer_type_widths : Atdgen_runtime.Util.Validation.path -> integer_type_widths -> Atdgen_runtime.Util.Validation.error option

Validate a value of type integer_type_widths.

val validate_lambda_capture_kind : Atdgen_runtime.Util.Validation.path -> lambda_capture_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type lambda_capture_kind.

val create_named_decl_info : ni_name:string -> ni_qual_name:string list -> unit -> named_decl_info

Create a record of type named_decl_info.

val validate_named_decl_info : Atdgen_runtime.Util.Validation.path -> named_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type named_decl_info.

val create_namespace_decl_info : ?ndi_is_inline:bool -> unit -> namespace_decl_info

Create a record of type namespace_decl_info.

val validate_namespace_decl_info : Atdgen_runtime.Util.Validation.path -> namespace_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type namespace_decl_info.

val validate_obj_c_access_control : Atdgen_runtime.Util.Validation.path -> obj_c_access_control -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_access_control.

val create_obj_c_availability_check_expr_info : ?oacei_version:string -> unit -> obj_c_availability_check_expr_info

Create a record of type obj_c_availability_check_expr_info.

val validate_obj_c_availability_check_expr_info : Atdgen_runtime.Util.Validation.path -> obj_c_availability_check_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_availability_check_expr_info.

val validate_obj_c_bridge_cast_kind : Atdgen_runtime.Util.Validation.path -> obj_c_bridge_cast_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_bridge_cast_kind.

val create_obj_c_bridged_cast_expr_info : obcei_cast_kind:obj_c_bridge_cast_kind -> unit -> obj_c_bridged_cast_expr_info

Create a record of type obj_c_bridged_cast_expr_info.

val validate_obj_c_bridged_cast_expr_info : Atdgen_runtime.Util.Validation.path -> obj_c_bridged_cast_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_bridged_cast_expr_info.

val create_obj_c_ivar_decl_info : ?ovdi_is_synthesize:bool -> ?ovdi_access_control:obj_c_access_control -> unit -> obj_c_ivar_decl_info

Create a record of type obj_c_ivar_decl_info.

val validate_obj_c_ivar_decl_info : Atdgen_runtime.Util.Validation.path -> obj_c_ivar_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_ivar_decl_info.

val validate_obj_c_property_control : Atdgen_runtime.Util.Validation.path -> obj_c_property_control -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_property_control.

val validate_obj_c_subscript_kind : Atdgen_runtime.Util.Validation.path -> obj_c_subscript_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_subscript_kind.

val validate_objc_lifetime_attr : Atdgen_runtime.Util.Validation.path -> objc_lifetime_attr -> Atdgen_runtime.Util.Validation.error option

Validate a value of type objc_lifetime_attr.

val create_attr_type_info : ati_attr_kind:attribute_kind -> ?ati_lifetime:objc_lifetime_attr -> unit -> attr_type_info

Create a record of type attr_type_info.

val validate_attr_type_info : Atdgen_runtime.Util.Validation.path -> attr_type_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type attr_type_info.

val validate_object_kind : Atdgen_runtime.Util.Validation.path -> object_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type object_kind.

val create_offset_of_expr_info : ?ooe_literal:integer_literal_info -> unit -> offset_of_expr_info

Create a record of type offset_of_expr_info.

val validate_offset_of_expr_info : Atdgen_runtime.Util.Validation.path -> offset_of_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type offset_of_expr_info.

val validate_pointer : Atdgen_runtime.Util.Validation.path -> pointer -> Atdgen_runtime.Util.Validation.error option

Validate a value of type pointer.

val create_addr_label_expr_info : alei_label:string -> alei_pointer:pointer -> unit -> addr_label_expr_info

Create a record of type addr_label_expr_info.

val validate_addr_label_expr_info : Atdgen_runtime.Util.Validation.path -> addr_label_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type addr_label_expr_info.

val create_cxx_new_expr_info : ?xnei_is_array:bool -> ?xnei_array_size_expr:pointer -> ?xnei_initializer_expr:pointer -> ?xnei_placement_args:pointer list -> unit -> cxx_new_expr_info

Create a record of type cxx_new_expr_info.

val validate_cxx_new_expr_info : Atdgen_runtime.Util.Validation.path -> cxx_new_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type cxx_new_expr_info.

val validate_cxx_temporary : Atdgen_runtime.Util.Validation.path -> cxx_temporary -> Atdgen_runtime.Util.Validation.error option

Validate a value of type cxx_temporary.

val create_cxx_bind_temporary_expr_info : xbtei_cxx_temporary:cxx_temporary -> unit -> cxx_bind_temporary_expr_info

Create a record of type cxx_bind_temporary_expr_info.

val validate_cxx_bind_temporary_expr_info : Atdgen_runtime.Util.Validation.path -> cxx_bind_temporary_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type cxx_bind_temporary_expr_info.

val create_goto_stmt_info : gsi_label:string -> gsi_pointer:pointer -> unit -> goto_stmt_info

Create a record of type goto_stmt_info.

val validate_goto_stmt_info : Atdgen_runtime.Util.Validation.path -> goto_stmt_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type goto_stmt_info.

val create_obj_c_array_literal_expr_info : ?oalei_array_method:pointer -> unit -> obj_c_array_literal_expr_info

Create a record of type obj_c_array_literal_expr_info.

val validate_obj_c_array_literal_expr_info : Atdgen_runtime.Util.Validation.path -> obj_c_array_literal_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_array_literal_expr_info.

val create_obj_c_dictionary_literal_expr_info : ?odlei_dict_method:pointer -> unit -> obj_c_dictionary_literal_expr_info

Create a record of type obj_c_dictionary_literal_expr_info.

val validate_obj_c_dictionary_literal_expr_info : Atdgen_runtime.Util.Validation.path -> obj_c_dictionary_literal_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_dictionary_literal_expr_info.

val validate_predefined_expr_type : Atdgen_runtime.Util.Validation.path -> predefined_expr_type -> Atdgen_runtime.Util.Validation.error option

Validate a value of type predefined_expr_type.

val validate_property_attribute : Atdgen_runtime.Util.Validation.path -> property_attribute -> Atdgen_runtime.Util.Validation.error option

Validate a value of type property_attribute.

val validate_property_implementation : Atdgen_runtime.Util.Validation.path -> property_implementation -> Atdgen_runtime.Util.Validation.error option

Validate a value of type property_implementation.

val create_record_decl_info : rdi_definition_ptr:pointer -> ?rdi_is_module_private:bool -> ?rdi_is_complete_definition:bool -> ?rdi_is_dependent_type:bool -> unit -> record_decl_info

Create a record of type record_decl_info.

val validate_record_decl_info : Atdgen_runtime.Util.Validation.path -> record_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type record_decl_info.

val validate_selector : Atdgen_runtime.Util.Validation.path -> selector -> Atdgen_runtime.Util.Validation.error option

Validate a value of type selector.

val create_obj_c_method_ref_info : ?mri_getter:selector -> ?mri_setter:selector -> unit -> obj_c_method_ref_info

Create a record of type obj_c_method_ref_info.

val validate_obj_c_method_ref_info : Atdgen_runtime.Util.Validation.path -> obj_c_method_ref_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_method_ref_info.

val create_obj_c_subscript_ref_expr_info : osrei_kind:obj_c_subscript_kind -> ?osrei_getter:selector -> ?osrei_setter:selector -> unit -> obj_c_subscript_ref_expr_info

Create a record of type obj_c_subscript_ref_expr_info.

val validate_obj_c_subscript_ref_expr_info : Atdgen_runtime.Util.Validation.path -> obj_c_subscript_ref_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_subscript_ref_expr_info.

val create_objc_boxed_expr_info : ?obei_boxing_method:selector -> unit -> objc_boxed_expr_info

Create a record of type objc_boxed_expr_info.

val validate_objc_boxed_expr_info : Atdgen_runtime.Util.Validation.path -> objc_boxed_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type objc_boxed_expr_info.

val create_sentinel_attr_info : sai_sentinel:int -> sai_null_pos:int -> unit -> sentinel_attr_info

Create a record of type sentinel_attr_info.

val validate_sentinel_attr_info : Atdgen_runtime.Util.Validation.path -> sentinel_attr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type sentinel_attr_info.

val validate_source_file : Atdgen_runtime.Util.Validation.path -> source_file -> Atdgen_runtime.Util.Validation.error option

Validate a value of type source_file.

val create_source_location : ?sl_file:source_file -> ?sl_line:int -> ?sl_column:int -> ?sl_is_macro:bool -> ?sl_macro_file:source_file -> ?sl_macro_line:int -> unit -> source_location

Create a record of type source_location.

val validate_source_location : Atdgen_runtime.Util.Validation.path -> source_location -> Atdgen_runtime.Util.Validation.error option

Validate a value of type source_location.

val validate_source_range : Atdgen_runtime.Util.Validation.path -> source_range -> Atdgen_runtime.Util.Validation.error option

Validate a value of type source_range.

val create_attribute_info : ai_pointer:pointer -> ai_source_range:source_range -> unit -> attribute_info

Create a record of type attribute_info.

val validate_attribute_info : Atdgen_runtime.Util.Validation.path -> attribute_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type attribute_info.

val validate_attr_tuple : Atdgen_runtime.Util.Validation.path -> attr_tuple -> Atdgen_runtime.Util.Validation.error option

Validate a value of type attr_tuple.

val create_comment_info : ci_parent_pointer:pointer -> ci_source_range:source_range -> unit -> comment_info

Create a record of type comment_info.

val validate_comment_info : Atdgen_runtime.Util.Validation.path -> comment_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type comment_info.

val validate_specifier_kind : Atdgen_runtime.Util.Validation.path -> specifier_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type specifier_kind.

val create_stmt_info : si_pointer:pointer -> si_source_range:source_range -> unit -> stmt_info

Create a record of type stmt_info.

val validate_stmt_info : Atdgen_runtime.Util.Validation.path -> stmt_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type stmt_info.

val validate_tag_kind : Atdgen_runtime.Util.Validation.path -> tag_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type tag_kind.

val validate_type_ptr : Atdgen_runtime.Util.Validation.path -> type_ptr -> Atdgen_runtime.Util.Validation.error option

Validate a value of type type_ptr.

val create_qual_type : qt_type_ptr:type_ptr -> ?qt_is_const:bool -> ?qt_is_restrict:bool -> ?qt_is_volatile:bool -> unit -> qual_type

Create a record of type qual_type.

val validate_qual_type : Atdgen_runtime.Util.Validation.path -> qual_type -> Atdgen_runtime.Util.Validation.error option

Validate a value of type qual_type.

val create_array_type_info : arti_element_type:qual_type -> ?arti_stride:int -> unit -> array_type_info

Create a record of type array_type_info.

val validate_array_type_info : Atdgen_runtime.Util.Validation.path -> array_type_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type array_type_info.

val create_compound_assign_operator_info : caoi_lhs_type:qual_type -> caoi_result_type:qual_type -> unit -> compound_assign_operator_info

Create a record of type compound_assign_operator_info.

val validate_compound_assign_operator_info : Atdgen_runtime.Util.Validation.path -> compound_assign_operator_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type compound_assign_operator_info.

val create_cxx_delete_expr_info : ?xdei_is_array:bool -> xdei_destroyed_type:qual_type -> unit -> cxx_delete_expr_info

Create a record of type cxx_delete_expr_info.

val validate_cxx_delete_expr_info : Atdgen_runtime.Util.Validation.path -> cxx_delete_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type cxx_delete_expr_info.

val create_decl_ref : dr_kind:decl_kind -> dr_decl_pointer:pointer -> ?dr_name:named_decl_info -> ?dr_is_hidden:bool -> ?dr_qual_type:qual_type -> unit -> decl_ref

Create a record of type decl_ref.

val validate_decl_ref : Atdgen_runtime.Util.Validation.path -> decl_ref -> Atdgen_runtime.Util.Validation.error option

Validate a value of type decl_ref.

val create_cxx_construct_expr_info : xcei_decl_ref:decl_ref -> ?xcei_is_elidable:bool -> ?xcei_requires_zero_initialization:bool -> ?xcei_is_copy_constructor:bool -> unit -> cxx_construct_expr_info

Create a record of type cxx_construct_expr_info.

val validate_cxx_construct_expr_info : Atdgen_runtime.Util.Validation.path -> cxx_construct_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type cxx_construct_expr_info.

val validate_cxx_ctor_initializer_subject : Atdgen_runtime.Util.Validation.path -> cxx_ctor_initializer_subject -> Atdgen_runtime.Util.Validation.error option

Validate a value of type cxx_ctor_initializer_subject.

val create_decl_ref_expr_info : ?drti_decl_ref:decl_ref -> unit -> decl_ref_expr_info

Create a record of type decl_ref_expr_info.

val validate_decl_ref_expr_info : Atdgen_runtime.Util.Validation.path -> decl_ref_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type decl_ref_expr_info.

val create_expr_with_cleanups_info : ?ewci_decl_refs:decl_ref list -> unit -> expr_with_cleanups_info

Create a record of type expr_with_cleanups_info.

val validate_expr_with_cleanups_info : Atdgen_runtime.Util.Validation.path -> expr_with_cleanups_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type expr_with_cleanups_info.

val create_function_type_info : fti_return_type:qual_type -> unit -> function_type_info

Create a record of type function_type_info.

val validate_function_type_info : Atdgen_runtime.Util.Validation.path -> function_type_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type function_type_info.

val create_materialize_temporary_expr_info : ?mtei_decl_ref:decl_ref -> unit -> materialize_temporary_expr_info

Create a record of type materialize_temporary_expr_info.

val validate_materialize_temporary_expr_info : Atdgen_runtime.Util.Validation.path -> materialize_temporary_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type materialize_temporary_expr_info.

val create_member_expr_info : ?mei_is_arrow:bool -> ?mei_performs_virtual_dispatch:bool -> mei_name:named_decl_info -> mei_decl_ref:decl_ref -> unit -> member_expr_info

Create a record of type member_expr_info.

val validate_member_expr_info : Atdgen_runtime.Util.Validation.path -> member_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type member_expr_info.

val create_nested_name_specifier_loc : nnsl_kind:specifier_kind -> ?nnsl_ref:decl_ref -> unit -> nested_name_specifier_loc

Create a record of type nested_name_specifier_loc.

val validate_nested_name_specifier_loc : Atdgen_runtime.Util.Validation.path -> nested_name_specifier_loc -> Atdgen_runtime.Util.Validation.error option

Validate a value of type nested_name_specifier_loc.

val create_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 -> unit -> namespace_alias_decl_info

Create a record of type namespace_alias_decl_info.

val validate_namespace_alias_decl_info : Atdgen_runtime.Util.Validation.path -> namespace_alias_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type namespace_alias_decl_info.

val create_obj_c_category_decl_info : ?odi_class_interface:decl_ref -> ?odi_implementation:decl_ref -> ?odi_protocols:decl_ref list -> unit -> obj_c_category_decl_info

Create a record of type obj_c_category_decl_info.

val validate_obj_c_category_decl_info : Atdgen_runtime.Util.Validation.path -> obj_c_category_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_category_decl_info.

val create_obj_c_category_impl_decl_info : ?ocidi_class_interface:decl_ref -> ?ocidi_category_decl:decl_ref -> unit -> obj_c_category_impl_decl_info

Create a record of type obj_c_category_impl_decl_info.

val validate_obj_c_category_impl_decl_info : Atdgen_runtime.Util.Validation.path -> obj_c_category_impl_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_category_impl_decl_info.

val create_obj_c_compatible_alias_decl_info : ?ocadi_class_interface:decl_ref -> unit -> obj_c_compatible_alias_decl_info

Create a record of type obj_c_compatible_alias_decl_info.

val validate_obj_c_compatible_alias_decl_info : Atdgen_runtime.Util.Validation.path -> obj_c_compatible_alias_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_compatible_alias_decl_info.

val create_obj_c_interface_decl_info : ?otdi_super:decl_ref -> ?otdi_implementation:decl_ref -> ?otdi_protocols:decl_ref list -> ?otdi_known_categories:decl_ref list -> unit -> obj_c_interface_decl_info

Create a record of type obj_c_interface_decl_info.

val validate_obj_c_interface_decl_info : Atdgen_runtime.Util.Validation.path -> obj_c_interface_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_interface_decl_info.

val create_obj_c_ivar_ref_expr_info : ovrei_decl_ref:decl_ref -> ovrei_pointer:pointer -> ?ovrei_is_free_ivar:bool -> unit -> obj_c_ivar_ref_expr_info

Create a record of type obj_c_ivar_ref_expr_info.

val validate_obj_c_ivar_ref_expr_info : Atdgen_runtime.Util.Validation.path -> obj_c_ivar_ref_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_ivar_ref_expr_info.

val create_obj_c_property_decl_info : opdi_qual_type:qual_type -> ?opdi_getter_method:decl_ref -> ?opdi_setter_method:decl_ref -> ?opdi_ivar_decl:decl_ref -> ?opdi_property_control:obj_c_property_control -> ?opdi_property_attributes:property_attribute list -> unit -> obj_c_property_decl_info

Create a record of type obj_c_property_decl_info.

val validate_obj_c_property_decl_info : Atdgen_runtime.Util.Validation.path -> obj_c_property_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_property_decl_info.

val create_obj_c_property_impl_decl_info : opidi_implementation:property_implementation -> ?opidi_property_decl:decl_ref -> ?opidi_ivar_decl:decl_ref -> unit -> obj_c_property_impl_decl_info

Create a record of type obj_c_property_impl_decl_info.

val validate_obj_c_property_impl_decl_info : Atdgen_runtime.Util.Validation.path -> obj_c_property_impl_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_property_impl_decl_info.

val create_obj_c_protocol_decl_info : ?opcdi_protocols:decl_ref list -> unit -> obj_c_protocol_decl_info

Create a record of type obj_c_protocol_decl_info.

val validate_obj_c_protocol_decl_info : Atdgen_runtime.Util.Validation.path -> obj_c_protocol_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_protocol_decl_info.

val create_objc_encode_expr_info : oeei_qual_type:qual_type -> oeei_raw:string -> unit -> objc_encode_expr_info

Create a record of type objc_encode_expr_info.

val validate_objc_encode_expr_info : Atdgen_runtime.Util.Validation.path -> objc_encode_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type objc_encode_expr_info.

val create_objc_object_type_info : ooti_base_type:type_ptr -> ?ooti_protocol_decls_ptr:pointer list -> ?ooti_type_args:qual_type list -> unit -> objc_object_type_info

Create a record of type objc_object_type_info.

val validate_objc_object_type_info : Atdgen_runtime.Util.Validation.path -> objc_object_type_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type objc_object_type_info.

val create_overload_expr_info : ?oei_decls:decl_ref list -> oei_name:declaration_name -> unit -> overload_expr_info

Create a record of type overload_expr_info.

val validate_overload_expr_info : Atdgen_runtime.Util.Validation.path -> overload_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type overload_expr_info.

val create_params_type_info : ?pti_params_type:qual_type list -> unit -> params_type_info

Create a record of type params_type_info.

val validate_params_type_info : Atdgen_runtime.Util.Validation.path -> params_type_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type params_type_info.

val validate_property_ref_kind : Atdgen_runtime.Util.Validation.path -> property_ref_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type property_ref_kind.

val create_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 -> unit -> obj_c_property_ref_expr_info

Create a record of type obj_c_property_ref_expr_info.

val validate_obj_c_property_ref_expr_info : Atdgen_runtime.Util.Validation.path -> obj_c_property_ref_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_property_ref_expr_info.

val validate_receiver_kind : Atdgen_runtime.Util.Validation.path -> receiver_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type receiver_kind.

val create_obj_c_message_expr_info : omei_selector:string -> ?omei_is_definition_found:bool -> ?omei_decl_pointer:pointer -> ?omei_receiver_kind:receiver_kind -> unit -> obj_c_message_expr_info

Create a record of type obj_c_message_expr_info.

val validate_obj_c_message_expr_info : Atdgen_runtime.Util.Validation.path -> obj_c_message_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_message_expr_info.

val create_type_info : ti_pointer:pointer -> ?ti_desugared_type:type_ptr -> unit -> type_info

Create a record of type type_info.

val validate_type_info : Atdgen_runtime.Util.Validation.path -> type_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type type_info.

val create_type_trait_info : ?xtti_value:bool -> unit -> type_trait_info

Create a record of type type_trait_info.

val validate_type_trait_info : Atdgen_runtime.Util.Validation.path -> type_trait_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type type_trait_info.

val create_typedef_decl_info : ?tdi_is_module_private:bool -> unit -> typedef_decl_info

Create a record of type typedef_decl_info.

val validate_typedef_decl_info : Atdgen_runtime.Util.Validation.path -> typedef_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type typedef_decl_info.

val create_typedef_type_info : tti_child_type:qual_type -> tti_decl_ptr:pointer -> unit -> typedef_type_info

Create a record of type typedef_type_info.

val validate_typedef_type_info : Atdgen_runtime.Util.Validation.path -> typedef_type_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type typedef_type_info.

val validate_c_type : Atdgen_runtime.Util.Validation.path -> c_type -> Atdgen_runtime.Util.Validation.error option

Validate a value of type c_type.

val create_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 -> unit -> translation_unit_decl_info

Create a record of type translation_unit_decl_info.

val validate_translation_unit_decl_info : Atdgen_runtime.Util.Validation.path -> translation_unit_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type translation_unit_decl_info.

val validate_unary_expr_or_type_trait_kind : Atdgen_runtime.Util.Validation.path -> unary_expr_or_type_trait_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type unary_expr_or_type_trait_kind.

val create_unary_expr_or_type_trait_expr_info : uttei_kind:unary_expr_or_type_trait_kind -> uttei_qual_type:qual_type -> unit -> unary_expr_or_type_trait_expr_info

Create a record of type unary_expr_or_type_trait_expr_info.

val validate_unary_expr_or_type_trait_expr_info : Atdgen_runtime.Util.Validation.path -> unary_expr_or_type_trait_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type unary_expr_or_type_trait_expr_info.

val validate_unary_operator_kind : Atdgen_runtime.Util.Validation.path -> unary_operator_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type unary_operator_kind.

val create_unary_operator_info : uoi_kind:unary_operator_kind -> ?uoi_is_postfix:bool -> unit -> unary_operator_info

Create a record of type unary_operator_info.

val validate_unary_operator_info : Atdgen_runtime.Util.Validation.path -> unary_operator_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type unary_operator_info.

val create_unresolved_lookup_expr_info : ?ulei_requires_ADL:bool -> ?ulei_naming_class:decl_ref -> unit -> unresolved_lookup_expr_info

Create a record of type unresolved_lookup_expr_info.

val validate_unresolved_lookup_expr_info : Atdgen_runtime.Util.Validation.path -> unresolved_lookup_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type unresolved_lookup_expr_info.

val create_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 -> unit -> using_directive_decl_info

Create a record of type using_directive_decl_info.

val validate_using_directive_decl_info : Atdgen_runtime.Util.Validation.path -> using_directive_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type using_directive_decl_info.

val validate_value_kind : Atdgen_runtime.Util.Validation.path -> value_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type value_kind.

val create_expr_info : ei_qual_type:qual_type -> ?ei_value_kind:value_kind -> ?ei_object_kind:object_kind -> unit -> expr_info

Create a record of type expr_info.

val validate_expr_info : Atdgen_runtime.Util.Validation.path -> expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type expr_info.

val create_version_tuple : vt_major:int -> ?vt_minor:int -> ?vt_subminor:int -> ?vt_build:int -> unit -> version_tuple

Create a record of type version_tuple.

val validate_version_tuple : Atdgen_runtime.Util.Validation.path -> version_tuple -> Atdgen_runtime.Util.Validation.error option

Validate a value of type version_tuple.

val create_availability_attr_info : ?aai_platform:string -> aai_introduced:version_tuple -> unit -> availability_attr_info

Create a record of type availability_attr_info.

val validate_availability_attr_info : Atdgen_runtime.Util.Validation.path -> availability_attr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type availability_attr_info.

val validate_visibility_attr : Atdgen_runtime.Util.Validation.path -> visibility_attr -> Atdgen_runtime.Util.Validation.error option

Validate a value of type visibility_attr.

val validate_attribute : Atdgen_runtime.Util.Validation.path -> attribute -> Atdgen_runtime.Util.Validation.error option

Validate a value of type attribute.

val validate_template_instantiation_arg_info : Atdgen_runtime.Util.Validation.path -> template_instantiation_arg_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type template_instantiation_arg_info.

val validate_comment : Atdgen_runtime.Util.Validation.path -> comment -> Atdgen_runtime.Util.Validation.error option

Validate a value of type comment.

val create_template_specialization_info : tsi_template_decl:pointer -> ?tsi_specialization_args:template_instantiation_arg_info list -> unit -> template_specialization_info

Create a record of type template_specialization_info.

val validate_template_specialization_info : Atdgen_runtime.Util.Validation.path -> template_specialization_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type template_specialization_info.

val create_decl_info : di_pointer:pointer -> ?di_parent_pointer:pointer -> di_source_range:source_range -> ?di_owning_module:string -> ?di_is_hidden:bool -> ?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 -> ?di_access:access_specifier -> unit -> decl_info

Create a record of type decl_info.

val validate_decl_info : Atdgen_runtime.Util.Validation.path -> decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type decl_info.

val create_binding_decl_info : ?binding_var:var_decl_info -> ?bound_decl_type:qual_type -> unit -> binding_decl_info

Create a record of type binding_decl_info.

val validate_binding_decl_info : Atdgen_runtime.Util.Validation.path -> binding_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type binding_decl_info.

val create_block_captured_variable : ?bcv_is_by_ref:bool -> ?bcv_is_nested:bool -> ?bcv_variable:decl_ref -> ?bcv_copy_expr:stmt -> unit -> block_captured_variable

Create a record of type block_captured_variable.

val validate_block_captured_variable : Atdgen_runtime.Util.Validation.path -> block_captured_variable -> Atdgen_runtime.Util.Validation.error option

Validate a value of type block_captured_variable.

val create_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 -> ?bdi_mangled_name:string -> unit -> block_decl_info

Create a record of type block_decl_info.

val validate_block_decl_info : Atdgen_runtime.Util.Validation.path -> block_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type block_decl_info.

val create_coreturn_stmt_info : ?coret_operand:stmt -> ?coret_promise_call:stmt -> unit -> coreturn_stmt_info

Create a record of type coreturn_stmt_info.

val validate_coreturn_stmt_info : Atdgen_runtime.Util.Validation.path -> coreturn_stmt_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type coreturn_stmt_info.

val create_coro_body_stmt_info : cbs_body:pointer -> cbs_promise_decl_stmt:pointer -> cbs_return_value:stmt -> unit -> coro_body_stmt_info

Create a record of type coro_body_stmt_info.

val validate_coro_body_stmt_info : Atdgen_runtime.Util.Validation.path -> coro_body_stmt_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type coro_body_stmt_info.

val create_cxx_catch_stmt_info : ?xcsi_variable:decl -> unit -> cxx_catch_stmt_info

Create a record of type cxx_catch_stmt_info.

val validate_cxx_catch_stmt_info : Atdgen_runtime.Util.Validation.path -> cxx_catch_stmt_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type cxx_catch_stmt_info.

val create_cxx_ctor_initializer : xci_subject:cxx_ctor_initializer_subject -> xci_source_range:source_range -> ?xci_init_expr:stmt -> unit -> cxx_ctor_initializer

Create a record of type cxx_ctor_initializer.

val validate_cxx_ctor_initializer : Atdgen_runtime.Util.Validation.path -> cxx_ctor_initializer -> Atdgen_runtime.Util.Validation.error option

Validate a value of type cxx_ctor_initializer.

val create_cxx_default_expr_info : ?xdaei_init_expr:stmt -> unit -> cxx_default_expr_info

Create a record of type cxx_default_expr_info.

val validate_cxx_default_expr_info : Atdgen_runtime.Util.Validation.path -> cxx_default_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type cxx_default_expr_info.

val create_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 -> unit -> cxx_method_decl_info

Create a record of type cxx_method_decl_info.

val validate_cxx_method_decl_info : Atdgen_runtime.Util.Validation.path -> cxx_method_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type cxx_method_decl_info.

val create_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 -> ?xrdi_lambda_call_operator:decl_ref -> ?xrdi_lambda_captures:lambda_capture_info list -> unit -> cxx_record_decl_info

Create a record of type cxx_record_decl_info.

val validate_cxx_record_decl_info : Atdgen_runtime.Util.Validation.path -> cxx_record_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type cxx_record_decl_info.

val validate_decl : Atdgen_runtime.Util.Validation.path -> decl -> Atdgen_runtime.Util.Validation.error option

Validate a value of type decl.

val create_enum_constant_decl_info : ?ecdi_init_expr:stmt -> unit -> enum_constant_decl_info

Create a record of type enum_constant_decl_info.

val validate_enum_constant_decl_info : Atdgen_runtime.Util.Validation.path -> enum_constant_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type enum_constant_decl_info.

val create_field_decl_info : ?fldi_is_mutable:bool -> ?fldi_is_module_private:bool -> ?fldi_init_expr:stmt -> ?fldi_bit_width_expr:stmt -> unit -> field_decl_info

Create a record of type field_decl_info.

val validate_field_decl_info : Atdgen_runtime.Util.Validation.path -> field_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type field_decl_info.

val validate_friend_info : Atdgen_runtime.Util.Validation.path -> friend_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type friend_info.

val create_function_decl_info : ?fdi_mangled_name:string -> ?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 -> ?fdi_body:stmt -> ?fdi_template_specialization:template_specialization_info -> ?fdi_point_of_instantiation:source_location -> unit -> function_decl_info

Create a record of type function_decl_info.

val validate_function_decl_info : Atdgen_runtime.Util.Validation.path -> function_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type function_decl_info.

val create_generic_selection_info : ?gse_value:stmt -> unit -> generic_selection_info

Create a record of type generic_selection_info.

val validate_generic_selection_info : Atdgen_runtime.Util.Validation.path -> generic_selection_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type generic_selection_info.

val create_if_stmt_info : ?isi_init:pointer -> ?isi_cond_var:stmt -> isi_cond:pointer -> isi_then:pointer -> ?isi_else:(pointer * source_location) -> unit -> if_stmt_info

Create a record of type if_stmt_info.

val validate_if_stmt_info : Atdgen_runtime.Util.Validation.path -> if_stmt_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type if_stmt_info.

val create_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 -> ?lci_captured_var:decl_ref -> ?lci_is_implicit:bool -> lci_location:source_range -> ?lci_is_pack_expansion:bool -> unit -> lambda_capture_info

Create a record of type lambda_capture_info.

val validate_lambda_capture_info : Atdgen_runtime.Util.Validation.path -> lambda_capture_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type lambda_capture_info.

val create_lambda_expr_info : lei_lambda_decl:decl -> unit -> lambda_expr_info

Create a record of type lambda_expr_info.

val validate_lambda_expr_info : Atdgen_runtime.Util.Validation.path -> lambda_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type lambda_expr_info.

val create_obj_c_implementation_decl_info : ?oidi_super:decl_ref -> ?oidi_class_interface:decl_ref -> ?oidi_ivar_initializers:cxx_ctor_initializer list -> unit -> obj_c_implementation_decl_info

Create a record of type obj_c_implementation_decl_info.

val validate_obj_c_implementation_decl_info : Atdgen_runtime.Util.Validation.path -> obj_c_implementation_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_implementation_decl_info.

val validate_obj_c_message_expr_kind : Atdgen_runtime.Util.Validation.path -> obj_c_message_expr_kind -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_message_expr_kind.

val create_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 -> ?omdi_parameters:decl list -> ?omdi_implicit_parameters:decl list -> ?omdi_is_variadic:bool -> ?omdi_is_overriding:bool -> ?omdi_is_optional:bool -> ?omdi_body:stmt -> ?omdi_mangled_name:string -> unit -> obj_c_method_decl_info

Create a record of type obj_c_method_decl_info.

val validate_obj_c_method_decl_info : Atdgen_runtime.Util.Validation.path -> obj_c_method_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type obj_c_method_decl_info.

val create_opaque_value_expr_info : ?ovei_source_expr:stmt -> unit -> opaque_value_expr_info

Create a record of type opaque_value_expr_info.

val validate_opaque_value_expr_info : Atdgen_runtime.Util.Validation.path -> opaque_value_expr_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type opaque_value_expr_info.

val validate_stmt : Atdgen_runtime.Util.Validation.path -> stmt -> Atdgen_runtime.Util.Validation.error option

Validate a value of type stmt.

val create_switch_stmt_info : ?ssi_init:pointer -> ?ssi_cond_var:stmt -> ssi_cond:pointer -> ssi_body:pointer -> ?ssi_is_all_enum_cases_covered:bool -> unit -> switch_stmt_info

Create a record of type switch_stmt_info.

val validate_switch_stmt_info : Atdgen_runtime.Util.Validation.path -> switch_stmt_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type switch_stmt_info.

val create_template_decl_info : ?tdi_specializations:decl list -> unit -> template_decl_info

Create a record of type template_decl_info.

val validate_template_decl_info : Atdgen_runtime.Util.Validation.path -> template_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type template_decl_info.

val create_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 -> ?vdi_is_init_expr_cxx11_constant:bool -> ?vdi_parm_index_in_function:int -> unit -> var_decl_info

Create a record of type var_decl_info.

val validate_var_decl_info : Atdgen_runtime.Util.Validation.path -> var_decl_info -> Atdgen_runtime.Util.Validation.error option

Validate a value of type var_decl_info.

val create_lookup : lup_decl_name:string -> lup_decl_refs:decl_ref list -> unit -> lookup

Create a record of type lookup.

val validate_lookup : Atdgen_runtime.Util.Validation.path -> lookup -> Atdgen_runtime.Util.Validation.error option

Validate a value of type lookup.

val create_lookups : lups_decl_ref:decl_ref -> ?lups_primary_context_pointer:pointer -> lups_lookups:lookup list -> ?lups_has_undeserialized_decls:bool -> unit -> lookups

Create a record of type lookups.

val validate_lookups : Atdgen_runtime.Util.Validation.path -> lookups -> Atdgen_runtime.Util.Validation.error option

Validate a value of type lookups.