Guest User

Untitled

a guest
Feb 23rd, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 85.70 KB | None | 0 0
  1. /- WARNING: This file is auto generated. Manual edits are not advised -/
  2. import standard
  3.  
  4. import .enums
  5.  
  6. namespace cxx
  7.  
  8. namespace ast
  9.  
  10. inductive capCapture : Type :=
  11. | capCapturecons : ∀ (VariableCaptureKind : vckEnum) (CapturedVar : string), capCapture
  12.  
  13. inductive desDesignatedInitExpr : Type :=
  14. | desFieldDecl : ∀ (Decl : string), desDesignatedInitExpr
  15. | desFieldName : ∀ (FieldName : string), desDesignatedInitExpr
  16. | desArray : ∀ (FirstExprIndex : nat), desDesignatedInitExpr
  17. | desArrayRange : ∀ (FirstExprIndex : nat) (EllipsisLoc : string), desDesignatedInitExpr
  18.  
  19. inductive fcFloatCategory : Type :=
  20. | fcInfinity : ∀ (Sign : bool), fcFloatCategory
  21. | fcNaN : ∀ (Sign : bool) (isSignaling : bool), fcFloatCategory
  22. | fcNormal : ∀ (Sign : bool) (Exp : nat) (Sig : nat), fcFloatCategory
  23. | fcZero : ∀ (Sign : bool), fcFloatCategory
  24.  
  25. inductive qQualifier : Type :=
  26. | qConst : qQualifier
  27. | qVolatile : qQualifier
  28. | qRestrict : qQualifier
  29. with qQualifierList : Type :=
  30. | qQualifierListnil : qQualifierList
  31. | qQualifierListcons : ∀ (data : qQualifier) (next : qQualifierList), qQualifierList
  32.  
  33. inductive aAttr : Type :=
  34. | attr : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  35. | attrAbiTag : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Tags : list string), aAttr
  36. | attrAcquireCapability : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (ArgList : eExprList), aAttr
  37. | attrAcquiredAfter : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (ArgList : eExprList), aAttr
  38. | attrAcquiredBefore : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (ArgList : eExprList), aAttr
  39. | attrAlias : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (isImplicit : bool) (SpellingListIndex : nat) (Aliasee : string), aAttr
  40. | attrAlignValue : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (AlignmentExpr : eExpr), aAttr
  41. | attrAligned : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (AlignmentExpr : eExpr) (AlignType : tType), aAttr
  42. | attrAlwaysInline : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  43. | attrAnalyzerNoReturn : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  44. | attrAnnotate : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Annotation : string), aAttr
  45. | attrArgumentWithTypeTag : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (ArgumentKind : string) (ArgumentIdx : nat) (TypeTagIdx : nat) (isPointer : bool), aAttr
  46. | attrAsmLabel : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Label : string), aAttr
  47. | attrAssertCapability : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Expr : eExpr), aAttr
  48. | attrAssertExclusiveLock : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (ExprList : eExprList), aAttr
  49. | attrAssertSharedLock : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (ExprList : eExprList), aAttr
  50. | attrAssumeAligned : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Alignment : eExpr) (Offset : eExpr), aAttr
  51. | attrBlocks : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (baType : baEnum), aAttr
  52. | attrC11NoReturn : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  53. | attrCDecl : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  54. | attrCFAuditedTransfer : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  55. | attrCFConsumed : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  56. | attrCFReturnsNotRetained : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  57. | attrCFReturnsRetained : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  58. | attrCFUnknownTransfer : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  59. | attrCXX11NoReturn : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  60. | attrCallableWhen : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (CallableStates : list string), aAttr
  61. | attrCapability : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Capability : string), aAttr
  62. | attrCapturedRecord : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  63. | attrCarriesDependency : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  64. | attrCleanup : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (FunctionDecl : string), aAttr
  65. | attrCold : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  66. | attrCommon : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  67. | attrConst : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  68. | attrConstructor : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Priority : nat), aAttr
  69. | attrConsumable : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (ConsumedState : string), aAttr
  70. | attrConsumableAutoCast : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  71. | attrConsumableSetOnReadAttr : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  72. | attrDLLExport : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  73. | attrDLLImport : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  74. | attrDeprecated : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Message : string), aAttr
  75. | attrDestructor : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Priority : nat), aAttr
  76. | attrEnableIf : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Message : string) (CondExpr : eExpr), aAttr
  77. | attrExclusiveTrylockFunction : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (SuccessValue : eExpr) (Args : eExpr), aAttr
  78. | attrFallThrough : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  79. | attrFastCall : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  80. | attrFinal : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  81. | attrFlagEnum : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  82. | attrFlatten : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  83. | attrFormat : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Identifier : string) (FormatIdx : nat) (FirstArg : nat), aAttr
  84. | attrFormatArg : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (FormatIdx : nat), aAttr
  85. | attrGNUInline : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  86. | attrGuardedBy : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Arg : eExpr), aAttr
  87. | attrGuardedVar : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  88. | attrHot : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  89. | attrIBAction : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  90. | attrIBOutlet : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  91. | attrIBOutletCollection : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Interface : tType), aAttr
  92. | attrInitPriority : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Priority : nat), aAttr
  93. | attrInitSeg : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Segment : string), aAttr
  94. | attrIntelOclBicc : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  95. | attrLockReturned : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Arg : eExpr), aAttr
  96. | attrLocksExcluded : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Args : eExprList), aAttr
  97. | attrLoopHint : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (LoopHintOption : string) (LoopHintState : string) (Value : eExpr), aAttr
  98. | attrMSABI : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  99. | attrMSInheritance : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (BestCase : bool), aAttr
  100. | attrMSNoVTable : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  101. | attrMSP430Interrupt : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (IntNum : nat), aAttr
  102. | attrMSStruct : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  103. | attrMSVtorDisp : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (VDM : nat), aAttr
  104. | attrMaxFieldAlignment : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Align : nat), aAttr
  105. | attrMayAlias : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  106. | attrMinSize : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  107. | attrMips16 : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  108. | attrMode : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  109. | attrNSConsumed : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  110. | attrNSConsumesSelf : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  111. | attrNSReturnsAutoreleased : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  112. | attrNSReturnsNotRetained : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  113. | attrNSReturnsRetained : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  114. | attrNaked : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  115. | attrNoCommon : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  116. | attrNoDebug : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  117. | attrNoDuplicate : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  118. | attrNoInline : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  119. | attrNoInstrumentFunction : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  120. | attrNoMips16 : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  121. | attrNoReturn : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  122. | attrNoSanitize : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Sanitizers : list string), aAttr
  123. | attrNoSplitStack : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  124. | attrNoThreadSafetyAnalysis : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  125. | attrNoThrow : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  126. | attrNonNull : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Args : list nat), aAttr
  127. | attrOptimizeNone : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  128. | attrOverloadable : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  129. | attrOverride : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  130. | attrOwnership : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Identifier : string) (Args : list nat), aAttr
  131. | attrPacked : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  132. | attrParamTypestate : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (ParamState : string), aAttr
  133. | attrPascal : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  134. | attrPcs : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (PCS : string), aAttr
  135. | attrPtGuardedBy : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Arg : eExpr), aAttr
  136. | attrPtGuardedVar : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  137. | attrPure : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  138. | attrReleaseCapability : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Args : eExprList), aAttr
  139. | attrRequiresCapability : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Args : eExprList), aAttr
  140. | attrRestrict : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  141. | attrReturnTypestate : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (State : string), aAttr
  142. | attrReturnsNonNull : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  143. | attrReturnsTwice : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  144. | attrScopedLockable : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  145. | attrSection : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Name : string), aAttr
  146. | attrSelectAny : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  147. | attrSentinel : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Sentinel : nat) (NullPos : nat), aAttr
  148. | attrSetTypestate : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (NewState : string), aAttr
  149. | attrSharedTrylockFunction : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (SuccessValue : eExpr) (Args : eExprList), aAttr
  150. | attrStdCall : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  151. | attrSysVABI : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  152. | attrTLSModel : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Model : string), aAttr
  153. | attrTarget : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Features : string), aAttr
  154. | attrTestTypestate : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (TestState : string), aAttr
  155. | attrThisCall : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  156. | attrThread : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  157. | attrTransparentUnion : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  158. | attrTryAcquireCapability : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (SuccessValue : eExpr) (Args : eExprList), aAttr
  159. | attrTypeTagForDatatype : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Identifier : string) (LayoutCompatible : bool) (MustBeNull : bool) (MatchingCType : tType), aAttr
  160. | attrTypeVisibility : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Visibility : string), aAttr
  161. | attrUnavailable : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Message : string), aAttr
  162. | attrUnused : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  163. | attrUsed : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  164. | attrUuid : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Guid : string), aAttr
  165. | attrVecReturn : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  166. | attrVecTypeHint : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (TypeHint : tType), aAttr
  167. | attrVectorCall : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  168. | attrVisibility : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Visibility : string), aAttr
  169. | attrWarnUnused : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  170. | attrWarnUnusedResult : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  171. | attrWeak : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  172. | attrWeakImport : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  173. | attrWeakRef : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Aliasee : string), aAttr
  174. | attrX86ForceAlignArgPointer : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
  175. with aAttrList : Type :=
  176. | aAttrListnil : aAttrList
  177. | aAttrListcons : ∀ (data : aAttr) (next : aAttrList), aAttrList
  178. with tType : Type :=
  179. | tNull : tType
  180. | tVoid : ∀ (Qualifiers : qQualifierList), tType
  181. | tBool : ∀ (Qualifiers : qQualifierList), tType
  182. | tChar_U : ∀ (Qualifiers : qQualifierList), tType
  183. | tUChar : ∀ (Qualifiers : qQualifierList), tType
  184. | tWChar_U : ∀ (Qualifiers : qQualifierList), tType
  185. | tChar16 : ∀ (Qualifiers : qQualifierList), tType
  186. | tChar32 : ∀ (Qualifiers : qQualifierList), tType
  187. | tUShort : ∀ (Qualifiers : qQualifierList), tType
  188. | tUInt : ∀ (Qualifiers : qQualifierList), tType
  189. | tULong : ∀ (Qualifiers : qQualifierList), tType
  190. | tULongLong : ∀ (Qualifiers : qQualifierList), tType
  191. | tUInt128 : ∀ (Qualifiers : qQualifierList), tType
  192. | tChar_S : ∀ (Qualifiers : qQualifierList), tType
  193. | tSChar : ∀ (Qualifiers : qQualifierList), tType
  194. | tWChar_S : ∀ (Qualifiers : qQualifierList), tType
  195. | tShort : ∀ (Qualifiers : qQualifierList), tType
  196. | tInt : ∀ (Qualifiers : qQualifierList), tType
  197. | tLong : ∀ (Qualifiers : qQualifierList), tType
  198. | tLongLong : ∀ (Qualifiers : qQualifierList), tType
  199. | tInt128 : ∀ (Qualifiers : qQualifierList), tType
  200. | tHalf : ∀ (Qualifiers : qQualifierList), tType
  201. | tFloat : ∀ (Qualifiers : qQualifierList), tType
  202. | tDouble : ∀ (Qualifiers : qQualifierList), tType
  203. | tLongDouble : ∀ (Qualifiers : qQualifierList), tType
  204. | tNullPtr : ∀ (Qualifiers : qQualifierList), tType
  205. | tDependent : ∀ (Qualifiers : qQualifierList), tType
  206. | tOverload : ∀ (Qualifiers : qQualifierList), tType
  207. | tBoundMember : ∀ (Qualifiers : qQualifierList), tType
  208. | tPseudoObject : ∀ (Qualifiers : qQualifierList), tType
  209. | tUnknownAny : ∀ (Qualifiers : qQualifierList), tType
  210. | tBuiltinFn : ∀ (Qualifiers : qQualifierList), tType
  211. | tARCUnbridgedCast : ∀ (Qualifiers : qQualifierList), tType
  212. | tArray : ∀ (Qualifiers : qQualifierList) (SizeModifier : asmEnum) (IndexQualifiers : qQualifierList) (ElementType : tType), tType
  213. | tFunction : ∀ (Qualifiers : qQualifierList) (NoReturn : bool) (HasRegParm : bool) (RegParm : nat) (CallingConv : ccEnum) (ProducesResult : bool) (ReturnType : tType), tType
  214. | tTag : ∀ (Qualifiers : qQualifierList) (isDependentType : bool) (TagDecl : string), tType
  215. | tComplex : ∀ (Qualifiers : qQualifierList) (ElementType : tType), tType
  216. | tPointer : ∀ (Qualifiers : qQualifierList) (PointeeType : tType), tType
  217. | tBlockPointer : ∀ (Qualifiers : qQualifierList) (PointeeType : tType), tType
  218. | tLValueReference : ∀ (Qualifiers : qQualifierList) (isSpelledAsLValue : bool) (PointeeType : tType), tType
  219. | tRValueReference : ∀ (Qualifiers : qQualifierList) (PointeeType : tType), tType
  220. | tMemberPointer : ∀ (Qualifiers : qQualifierList) (PointeeType : tType) (ClassType : tType), tType
  221. | tConstantArray : ∀ (Qualifiers : qQualifierList) (SizeModifier : asmEnum) (IndexQualifiers : qQualifierList) (Sign : bool) (Value : nat) (ElementType : tType), tType
  222. | tIncompleteArray : ∀ (Qualifiers : qQualifierList) (SizeModifier : asmEnum) (IndexQualifiers : qQualifierList) (ElementType : tType), tType
  223. | tVariableArray : ∀ (Qualifiers : qQualifierList) (SizeModifier : asmEnum) (IndexQualifiers : qQualifierList) (ElementType : tType) (SizeExpr : eExpr), tType
  224. | tDependentSizedArray : ∀ (Qualifiers : qQualifierList) (SizeModifier : asmEnum) (IndexQualifiers : qQualifierList) (ElementType : tType) (SizeExpr : eExpr), tType
  225. | tVector : ∀ (Qualifiers : qQualifierList) (NumElements : nat) (VectorKind : vkEnum) (ElementType : tType), tType
  226. | tExtVector : ∀ (Qualifiers : qQualifierList) (NumElements : nat) (VectorKind : vkEnum) (ElementType : tType), tType
  227. | tFunctionProto : ∀ (Qualifiers : qQualifierList) (NoReturn : bool) (HasRegParm : bool) (RegParm : nat) (CallingConv : ccEnum) (ProducesResult : bool) (isVariadic : bool) (hasTrailingReturn : bool) (TypeQualifiers : qQualifierList) (RefQualifierKind : rqEnum) (ReturnType : tType) (ExceptionSpec : estExceptionSpec) (ParamTypeList : tTypeList), tType
  228. | tFunctionNoProto : ∀ (Qualifiers : qQualifierList) (NoReturn : bool) (HasRegParm : bool) (RegParm : nat) (CallingConv : ccEnum) (ProducesResult : bool) (ReturnType : tType), tType
  229. | tUnresolvedUsing : ∀ (Qualifiers : qQualifierList) (Decl : string), tType
  230. | tParen : ∀ (Qualifiers : qQualifierList) (InnerType : tType), tType
  231. | tTypedef : ∀ (Qualifiers : qQualifierList) (Decl : string), tType
  232. | tAdjusted : ∀ (Qualifiers : qQualifierList) (OriginalType : tType) (AdjustedType : tType), tType
  233. | tDecayed : ∀ (Qualifiers : qQualifierList) (OriginalType : tType), tType
  234. | tTypeOfExpr : ∀ (Qualifiers : qQualifierList) (UnderlyingExpr : eExpr), tType
  235. | tTypeOf : ∀ (Qualifiers : qQualifierList) (UnderlyingType : tType), tType
  236. | tDecltype : ∀ (Qualifiers : qQualifierList) (UnderlyingType : tType) (UnderlyingExpr : eExpr), tType
  237. | tUnaryTransform : ∀ (Qualifiers : qQualifierList) (UTTKind : utftEnum) (BaseType : tType) (UnderlyingType : tType), tType
  238. | tRecord : ∀ (Qualifiers : qQualifierList) (isDependentType : bool) (TagDecl : string), tType
  239. | tEnum : ∀ (Qualifiers : qQualifierList) (isDependentType : bool) (TagDecl : string), tType
  240. | tElaborated : ∀ (Qualifiers : qQualifierList) (Keyword : etkEnum) (Qualifier : NestedNameSpecifier) (NamedType : tType), tType
  241. | tAttributed : ∀ (Qualifiers : qQualifierList) (AttrKind : akEnum) (ModifiedType : tType) (EquivalentType : tType), tType
  242. | tTemplateTypeParm : ∀ (Qualifiers : qQualifierList) (Depth : nat) (Index : nat) (isParameterPack : bool) (Decl : string), tType
  243. | tSubstTemplateTypeParm : ∀ (Qualifiers : qQualifierList) (ReplacedParameter : tType) (ReplacementType : tType), tType
  244. | tSubstTemplateTypeParmPack : ∀ (Qualifiers : qQualifierList) (ReplacedParameter : tType) (TemplateArg : taTemplateArg), tType
  245. | tTemplateSpecialization : ∀ (Qualifiers : qQualifierList) (isDependentType : bool) (TemplateArgList : taList) (AliasedOrCanonicalType : tType), tType
  246. | tAuto : ∀ (Qualifiers : qQualifierList) (isDecltypeAuto : bool) (isNull : bool) (DependentType : bool) (DeducedType : tType), tType
  247. | tInjectedClassName : ∀ (Qualifiers : qQualifierList) (Decl : string) (CXXRecordDecl : string) (InjectedSpecializationType : tType), tType
  248. | tDependentName : ∀ (Qualifiers : qQualifierList) (Keyword : etkEnum) (IdentifierName : string) (CanonicalTypeInternal : tType) (Qualifier : NestedNameSpecifier), tType
  249. | tDependentTemplateSpecialization : ∀ (Qualifiers : qQualifierList) (Keyword : etkEnum) (IdentifierName : string) (TemplateArgList : taList) (Qualifier : NestedNameSpecifier), tType
  250. | tPackExpansion : ∀ (Qualifiers : qQualifierList) (hasExpansions : bool) (NumExpansions : nat) (Pattern : tType), tType
  251. | tPipe : ∀ (Qualifiers : qQualifierList) (ElementType : tType), tType
  252. | tAtomic : ∀ (Qualifiers : qQualifierList) (ValueType : tType), tType
  253. with tTypeList : Type :=
  254. | tTypeListnil : tTypeList
  255. | tTypeListcons : ∀ (data : tType) (next : tTypeList), tTypeList
  256. with eExpr : Type :=
  257. | eEmpty : eExpr
  258. | Expr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType), eExpr
  259. | eAbstractConditionalOperator : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (Cond : eExpr) (TrueExpr : eExpr) (FalseExpr : eExpr), eExpr
  260. | eBinaryConditionalOperator : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (OpaqueValue : eExpr) (Common : eExpr) (Cond : eExpr) (TrueExpr : eExpr) (FalseExpr : eExpr), eExpr
  261. | eConditionalOperator : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (Cond : eExpr) (LHS : eExpr) (RHS : eExpr), eExpr
  262. | eAddrLabelExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (LabelDecl : string) (ty : tType), eExpr
  263. | eArraySubscriptExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (LHS : eExpr) (RHS : eExpr), eExpr
  264. | eArrayTypeTraitExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Trait : attEnum) (Value : nat) (ty : tType) (QueriedType : tType), eExpr
  265. | eAtomicExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Op : aoEnum) (ty : tType) (SubExprs : eExprList), eExpr
  266. | eBinaryOperator : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Opcode : boEnum) (isFPContractable : bool) (ty : tType) (LHS : eExpr) (RHS : eExpr), eExpr
  267. | eCompoundAssignOperator : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Opcode : boEnum) (isFPContractable : bool) (ty : tType) (LHS : eExpr) (RHS : eExpr) (ComputationLHSType : tType) (ComputationResultType : tType), eExpr
  268. | eBlockExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (BlockDecl : string) (ty : tType), eExpr
  269. | eCXXBindTemporaryExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (TemporaryDecl : string) (ty : tType) (SubExpr : eExpr), eExpr
  270. | eCXXBoolLiteralExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Value : bool) (ty : tType), eExpr
  271. | eCXXConstructExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ConstructorDecl : string) (isElidable : bool) (hadMultipleCandidates : bool) (isListInitialization : bool) (isStdInitListInitialization : bool) (requiresZeroInitialization : bool) (ConstructionKind : conEnum) (ty : tType) (ArgList : eExprList), eExpr
  272. | eCXXTemporaryObjectExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ConstructorDecl : string) (isElidable : bool) (hadMultipleCandidates : bool) (isListInitialization : bool) (isStdInitListInitialization : bool) (requiresZeroInitialization : bool) (ConstructionKind : conEnum) (ty : tType) (ArgList : eExprList) (TempType : tType), eExpr
  273. | eCXXDefaultArgExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ParamDecl : string) (ty : tType) (Expr : eExpr), eExpr
  274. | eCXXDefaultInitExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (FieldDecl : string) (ty : tType), eExpr
  275. | eCXXDeleteExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (isGlobalDelete : bool) (isArrayForm : bool) (isArrayFormAsWritten : bool) (doesUsualArrayDeleteWantSize : bool) (OperatorDelete : string) (ty : tType) (Argument : eExpr), eExpr
  276. | eCXXDependentScopeMemberExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (isArrow : bool) (hasTemplateKeyword : bool) (hasExplicitTemplateArgs : bool) (ty : tType) (Base : eExpr) (BaseType : tType) (Qualifier : NestedNameSpecifier) (TemplateArgs : taList), eExpr
  277. | eCXXFoldExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Operator : boEnum) (ty : tType) (LHS : eExpr) (RHS : eExpr), eExpr
  278. | eCXXNewExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (isGlobalNew : bool) (isArray : bool) (doesUsualArrayDeleteWantSize : bool) (InitializationStyle : isEnum) (OperatorNewDecl : string) (OperatorDeleteDecl : string) (ty : tType) (AllocatedType : tType) (ArraySize : eExpr) (Initializer : eExpr) (PlacementArgs : eExprList), eExpr
  279. | eCXXNoexceptExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Value : bool) (ty : tType) (Operand : eExpr), eExpr
  280. | eCXXNullPtrLiteralExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType), eExpr
  281. | eCXXPseudoDestructorExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (isArrow : bool) (IdentifierInfo : string) (ty : tType) (Base : eExpr) (ScopeType : tType), eExpr
  282. | eCXXScalarValueInitExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (TypeSource : Type) (ty : tType), eExpr
  283. | eCXXStdInitializerListExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (SubExpr : eExpr), eExpr
  284. | eCXXThisExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (isImplicit : bool) (ty : tType), eExpr
  285. | eCXXThrowExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (isThrownVariableInScope : bool) (ty : tType) (SubExpr : eExpr), eExpr
  286. | eCXXTypeidExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (TypeOperand : tType) (ExprOperand : eExpr), eExpr
  287. | eCXXUnresolvedConstructExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (ArgList : eExprList) (TypeSource : tType), eExpr
  288. | eCXXUuidofExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (TypeOperand : tType) (ExprOperand : eExpr), eExpr
  289. | eCallExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (Callee : eExpr) (ArgList : eExprList), eExpr
  290. | eCXXMemberCallExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (Callee : eExpr) (ArgList : eExprList), eExpr
  291. | eCXXOperatorCallExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Operator : ooEnum) (isFPContractable : bool) (ty : tType) (Callee : eExpr) (ArgList : eExprList), eExpr
  292. | eUserDefinedLiteral : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (Callee : eExpr) (ArgList : eExprList), eExpr
  293. | eCastExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (CastKind : ckEnum) (ty : tType) (SubExpr : eExpr) (Path : cbsList), eExpr
  294. | eExplicitCastExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (CastKind : ckEnum) (ty : tType) (SubExpr : eExpr) (Path : cbsList) (TypeAsWritten : tType), eExpr
  295. | eCStyleCastExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (CastKind : ckEnum) (ty : tType) (SubExpr : eExpr) (Path : cbsList) (TypeAsWritten : tType), eExpr
  296. | eCXXFunctionalCastExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (CastKind : ckEnum) (ty : tType) (SubExpr : eExpr) (Path : cbsList) (TypeAsWritten : tType), eExpr
  297. | eCXXNamedCastExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (CastKind : ckEnum) (ty : tType) (SubExpr : eExpr) (Path : cbsList) (TypeAsWritten : tType), eExpr
  298. | eCXXConstCastExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (CastKind : ckEnum) (ty : tType) (SubExpr : eExpr) (Path : cbsList) (TypeAsWritten : tType), eExpr
  299. | eCXXDynamicCastExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (CastKind : ckEnum) (ty : tType) (SubExpr : eExpr) (Path : cbsList) (TypeAsWritten : tType), eExpr
  300. | eCXXReinterpretCastExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (CastKind : ckEnum) (ty : tType) (SubExpr : eExpr) (Path : cbsList) (TypeAsWritten : tType), eExpr
  301. | eCXXStaticCastExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (CastKind : ckEnum) (ty : tType) (SubExpr : eExpr) (Path : cbsList) (TypeAsWritten : tType), eExpr
  302. | eImplicitCastExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (CastKind : ckEnum) (ty : tType) (SubExpr : eExpr) (Path : cbsList), eExpr
  303. | eCharacterLiteral : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Value : nat) (CharacterKind : chEnum) (ty : tType), eExpr
  304. | eChooseExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (isConditionDependent : bool) (isConditionTrue : bool) (ty : tType) (Cond : eExpr) (LHS : eExpr) (RHS : eExpr), eExpr
  305. | eCompoundLiteralExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (isFileScope : bool) (ty : tType) (TypeInfo : tType) (Initializer : eExpr), eExpr
  306. | eConvertVectorExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (TypeInfo : tType) (SrcExpr : eExpr), eExpr
  307. | eCoroutineSuspendExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (CommonExpr : eExpr) (ReadyExpr : eExpr) (SuspendExpr : eExpr) (ResumeExpr : eExpr), eExpr
  308. | eCoawaitExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (CommonExpr : eExpr) (ReadyExpr : eExpr) (SuspendExpr : eExpr) (ResumeExpr : eExpr) (Operand : eExpr), eExpr
  309. | eCoyieldExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (CommonExpr : eExpr) (ReadyExpr : eExpr) (SuspendExpr : eExpr) (ResumeExpr : eExpr) (Operand : eExpr), eExpr
  310. | eDeclRefExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Decl : string) (FoundDecl : string) (hadMultipleCandidates : bool) (refersToEnclosingVariableOrCapture : bool) (ty : tType) (Qualifier : NestedNameSpecifier) (TemplateArgs : taList), eExpr
  311. | eDependentScopeDeclRefExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Name : string) (ty : tType) (Qualifier : NestedNameSpecifier) (TemplateArgs : taList), eExpr
  312. | eDesignatedInitExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (usesGNUSyntax : bool) (DesignatorList : list desDesignatedInitExpr) (ty : tType) (SubExprs : eExprList), eExpr
  313. | eDesignatedInitUpdateExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (Base : eExpr) (Updater : eExpr), eExpr
  314. | eExprWithCleanups : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ObjectDeclList : list string) (ty : tType) (SubExpr : eExpr), eExpr
  315. | eExpressionTraitExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ExpressionTrait : etEnum) (Value : bool) (ty : tType) (QueriedExpression : eExpr), eExpr
  316. | eExtVectorElementExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (AccessorIdentifier : string) (ty : tType) (Base : eExpr), eExpr
  317. | eFloatingLiteral : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (FloatSemantics : fsEnum) (isExact : bool) (Value : fcFloatCategory) (ty : tType), eExpr
  318. | eFunctionParmPackExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ParameterPackDecl : string) (ParamDeclList : list string) (ty : tType), eExpr
  319. | eGNUNullExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType), eExpr
  320. | eGenericSelectionExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (isResultDependent : bool) (ResultIndex : nat) (ty : tType) (ControllingExpr : eExpr) (AssocList : gsaList), eExpr
  321. | eImaginaryLiteral : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (SubExpr : eExpr), eExpr
  322. | eImplicitValueInitExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType), eExpr
  323. | eInitListExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (InitializedFieldInUnionDecl : string) (hadArrayRangeDesignator : bool) (ty : tType) (SyntacticForm : eExpr) (ArrayFiller : eExpr) (InitList : eExprList), eExpr
  324. | eIntegerLiteral : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Sign : bool) (Value : nat) (ty : tType), eExpr
  325. | eLambdaExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (LambdaCaptureDefault : lcdEnum) (hasExplicitParameters : bool) (hasExplicitResultType : bool) (ty : tType) (CaptureInitList : lciList), eExpr
  326. | eMSPropertyRefExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (isArrow : bool) (PropertyDecl : string) (ty : tType) (BaseExpr : eExpr) (Qualifier : NestedNameSpecifier), eExpr
  327. | eMSPropertySubscriptExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (Base : eExpr) (Idx : eExpr), eExpr
  328. | eMaterializeTemporaryExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ExtendingDecl : string) (ManglingNumber : nat) (ty : tType) (Temporary : sStmt), eExpr
  329. | eMemberExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (hadMultipleCandidates : bool) (FoundDecl : string) (AccessSpecifier : asEnum) (ExprObjectKind : okEnum) (MemberDecl : string) (isArrow : bool) (ty : tType) (Qualifier : NestedNameSpecifier) (Base : eExpr) (TemplateArgs : taList), eExpr
  330. | eNoInitExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType), eExpr
  331. | eOffsetOfExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (TypeInfo : tType) (ComponentList : oonList) (ExprList : eExprList), eExpr
  332. | eOpaqueValueExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (SourceExpr : eExpr), eExpr
  333. | eOverloadExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Name : string) (OverloadDeclList : list string) (ty : tType) (Qualifier : NestedNameSpecifier) (TemplateArgs : taList), eExpr
  334. | eUnresolvedLookupExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Name : string) (requiresADL : bool) (isOverloaded : bool) (NamingClassDecl : string) (OverloadDeclList : list string) (ty : tType) (Qualifier : NestedNameSpecifier) (TemplateArgs : taList), eExpr
  335. | eUnresolvedMemberExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Name : string) (isArrow : bool) (hasUnresolvedUsing : bool) (OverloadDeclList : list string) (ty : tType) (Qualifier : NestedNameSpecifier) (TemplateArgs : taList) (Base : eExpr) (BaseType : tType), eExpr
  336. | ePackExpansionExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (hasValue : bool) (Value : nat) (ty : tType) (Pattern : eExpr), eExpr
  337. | eParenExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (SubExpr : eExpr), eExpr
  338. | eParenListExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (SubExprList : eExprList), eExpr
  339. | ePredefinedExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (IdentType : tType) (FunctionName : eExpr), eExpr
  340. | ePseudoObjectExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (hasResult : bool) (Result : nat) (ty : tType) (SyntacticForm : eExpr) (SemanticList : eExprList), eExpr
  341. | eShuffleVectorExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (SubExprList : eExprList), eExpr
  342. | eSizeOfPackExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (isValueDependent : bool) (PackLength : nat) (PackDecl : string) (ty : tType), eExpr
  343. | eStmtExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (SubStmt : sStmt), eExpr
  344. | eStringLiteral : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (StringKind : slEnum) (Value : list nat) (ty : tType), eExpr
  345. | eSubstNonTypeTemplateParmExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ParameterDecl : string) (ty : tType) (Replacement : eExpr), eExpr
  346. | eSubstNonTypeTemplateParmPackExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ParameterPackDecl : string) (ty : tType) (TemplateArg : taTemplateArg), eExpr
  347. | eTypeTraitExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Trait : uttEnum) (isValueDependent : bool) (isValueDependent : bool) (Value : bool) (ty : tType) (ArgTypeList : tTypeList), eExpr
  348. | eUnaryExprOrTypeTraitExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (UnaryExprOrTypeTrait : uettEnum) (ty : tType) (ArgumentType : tType) (ArgumentExpr : eExpr), eExpr
  349. | eUnaryOperator : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Opcode : uoEnum) (ty : tType) (SubExpr : eExpr), eExpr
  350. | eVAArgExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (SubExpr : eExpr), eExpr
  351. with eExprList : Type :=
  352. | eExprListnil : eExprList
  353. | eExprListcons : ∀ (data : eExpr) (next : eExprList), eExprList
  354. with sStmt : Type :=
  355. | sEmpty : sStmt
  356. | Stmt : ∀ (srcrng : string), sStmt
  357. | sAsmStmt : ∀ (srcrng : string) (isVolatile : bool) (isSimple : bool), sStmt
  358. | sGCCAsmStmt : ∀ (srcrng : string) (isVolatile : bool) (isSimple : bool) (AsmString : string) (OutputList : gccIOList) (InputList : gccIOList) (ClobberList : eExprList), sStmt
  359. | sAttributedStmt : ∀ (srcrng : string) (Attrs : aAttrList) (SubStmt : sStmt), sStmt
  360. | sBreakStmt : ∀ (srcrng : string), sStmt
  361. | sCXXCatchStmt : ∀ (srcrng : string) (ExceptionDecl : string) (HandlerBlock : sStmt), sStmt
  362. | sCXXForRangeStmt : ∀ (srcrng : string) (Range : sStmt) (BeginEnd : sStmt) (Cond : eExpr) (Inc : eExpr) (LoopVar : sStmt) (Body : sStmt), sStmt
  363. | sCXXTryStmt : ∀ (srcrng : string) (TryBlock : sStmt) (HandlerList : sStmtList), sStmt
  364. | sCapturedStmt : ∀ (srcrng : string) (CapturedDecl : string) (CapturedRegionKind : crEnum) (CapturedRecordDecl : string) (CaptureList : list capCapture) (CaptureInits : eExprList) (CapturedStmt : sStmt), sStmt
  365. | sCompoundStmt : ∀ (srcrng : string) (StmtList : sStmtList), sStmt
  366. | sContinueStmt : ∀ (srcrng : string), sStmt
  367. | sCoreturnStmt : ∀ (srcrng : string) (Operand : eExpr) (PromiseCall : eExpr), sStmt
  368. | sCoroutineBodyStmt : ∀ (srcrng : string) (Body : sStmt) (PromiseDeclStmt : sStmt) (InitSuspendStmt : sStmt) (FinalSuspendStmt : sStmt) (ExceptionHandler : sStmt) (FallthroughHandler : sStmt) (ReturnValueInit : eExpr), sStmt
  369. | sDeclStmt : ∀ (srcrng : string) (DeclGroup : list string), sStmt
  370. | sDoStmt : ∀ (srcrng : string) (Cond : eExpr) (Body : sStmt), sStmt
  371. | sForStmt : ∀ (srcrng : string) (ConditionVariable : string) (Init : sStmt) (Cond : eExpr) (Inc : eExpr) (Body : sStmt), sStmt
  372. | sGotoStmt : ∀ (srcrng : string) (LabelDecl : string), sStmt
  373. | sIfStmt : ∀ (srcrng : string) (Cond : eExpr) (Then : sStmt) (Else : sStmt), sStmt
  374. | sIndirectGotoStmt : ∀ (srcrng : string) (Target : eExpr), sStmt
  375. | sLabelStmt : ∀ (srcrng : string) (Decl : string) (SubStmt : sStmt), sStmt
  376. | sMSDependentExistsStmt : ∀ (srcrng : string) (isIfExists : bool) (Qualifier : NestedNameSpecifier) (SubStmt : sStmt), sStmt
  377. | sNullStmt : ∀ (srcrng : string) (hasLeadingEmptyMacro : bool), sStmt
  378. | sReturnStmt : ∀ (srcrng : string) (NRVOCandidate : string) (RetValue : eExpr), sStmt
  379. | sSEHExceptStmt : ∀ (srcrng : string) (FilterExpr : eExpr) (Block : sStmt), sStmt
  380. | sSEHFinallyStmt : ∀ (srcrng : string) (Block : sStmt), sStmt
  381. | sSEHLeaveStmt : ∀ (srcrng : string), sStmt
  382. | sSEHTryStmt : ∀ (srcrng : string) (isCXXTry : bool) (TryBlock : sStmt) (Handler : sStmt), sStmt
  383. | sSwitchCase : ∀ (srcrng : string) (NextSwitchCase : sStmt) (SubStmt : sStmt), sStmt
  384. | sCaseStmt : ∀ (srcrng : string) (NextSwitchCase : sStmt) (SubStmt : sStmt) (LHS : eExpr) (RHS : eExpr), sStmt
  385. | sDefaultStmt : ∀ (srcrng : string) (NextSwitchCase : sStmt) (SubStmt : sStmt), sStmt
  386. | sSwitchStmt : ∀ (srcrng : string) (ConditionVariable : string) (isAllEnumCasesCovered : bool) (Cond : eExpr) (Body : sStmt) (SwitchCaseList : sStmt), sStmt
  387. | sWhileStmt : ∀ (srcrng : string) (ConditionVariable : string) (Cond : eExpr) (Body : sStmt), sStmt
  388. with sStmtList : Type :=
  389. | sStmtListnil : sStmtList
  390. | sStmtListcons : ∀ (data : eExpr) (next : eExprList), sStmtList
  391. with gccIONode : Type :=
  392. | gccIOElement : ∀ (ident : string) (constraint : eExpr) (output : eExpr), gccIONode
  393. with gccIOList : Type :=
  394. | gccIOListnil : gccIOList
  395. | gccIOListcons : ∀ (data : gccIONode) (next : gccIOList), gccIOList
  396. with NestedNameSpecifier : Type :=
  397. | nnsFIXME : NestedNameSpecifier
  398. with tnTemplateName : Type :=
  399. | tnTemplate : ∀ (Decl : string), tnTemplateName
  400. | tnOverloadedTemplate : ∀ (Decls : list string), tnTemplateName
  401. | tnQualifiedTemplate : ∀ (hasTemplateKeyword : bool) (Decl : string) (Qualifier : NestedNameSpecifier), tnTemplateName
  402. | tnDependentTemplate : ∀ (Identifier : string) (Operator : ooEnum) (Qualifier : NestedNameSpecifier), tnTemplateName
  403. with taTemplateArg : Type :=
  404. | taNull : taTemplateArg
  405. | taType : ∀ (Ty : tType), taTemplateArg
  406. | taDeclaration : ∀ (Decl : string) (ParamTy : tType), taTemplateArg
  407. | taNullPtr : ∀ (NullPtrTy : tType), taTemplateArg
  408. | taIntegral : ∀ (Sign : bool) (Value : nat) (IntTy : tType), taTemplateArg
  409. | taTemplate : ∀ (Name : string), taTemplateArg
  410. | taTemplateExpansion : ∀ (hasExpansions : bool) (NumExpansions : nat) (Name : tnTemplateName), taTemplateArg
  411. | taExpression : ∀ (SubExpr : eExpr), taTemplateArg
  412. | taPack : ∀ (Args : taList), taTemplateArg
  413. with taList : Type :=
  414. | taListnil : taList
  415. | taListcons : ∀ (data : taTemplateArg) (next : taList), taList
  416. with cbsCXXBaseSpecifier : Type :=
  417. | cbsEntry : ∀ (isVirtual : bool) (isBaseOfClass : bool) (isPackExpansion : bool) (getInheritConstructors : bool) (AccessSpecifier : asEnum) (Ty : tType), cbsCXXBaseSpecifier
  418. with cbsList : Type :=
  419. | cbsListnil : cbsList
  420. | cbsListcons : ∀ (data : cbsCXXBaseSpecifier) (next : cbsList), cbsList
  421. with bdcCapture : Type :=
  422. | bdcCapturecons : ∀ (Variable : string) (isByRef : bool) (isNested : bool) (CopyExpr : eExpr), bdcCapture
  423. with gsaGenericSelectionAssoc : Type :=
  424. | gsaAssoc : ∀ (Ty : tType) (AssocExpr : eExpr), gsaGenericSelectionAssoc
  425. with gsaList : Type :=
  426. | gsaListnil : gsaList
  427. | gsaListcons : ∀ (data : gsaGenericSelectionAssoc) (next : gsaList), gsaList
  428. with lciLambdaCaptureInit : Type :=
  429. | lciLambdaCaptureInitcons : ∀ (VarDeclList : list string) (InitExpr : eExpr), lciLambdaCaptureInit
  430. with lciList : Type :=
  431. | lciListnil : lciList
  432. | lciListcons : ∀ (data : lciLambdaCaptureInit) (next : lciList), lciList
  433. with oonOffsetOfNode : Type :=
  434. | oonOffsetOfNodeArray : ∀ (ArrayExprIndex : nat), oonOffsetOfNode
  435. | oonOffsetOfNodeField : ∀ (FieldDecl : string), oonOffsetOfNode
  436. | oonOffsetOfNodeIdentifier : ∀ (FieldName : string), oonOffsetOfNode
  437. | oonOffsetOfNodeBase : ∀ (BaseSpecifier : cbsCXXBaseSpecifier), oonOffsetOfNode
  438. with oonList : Type :=
  439. | oonListnil : oonList
  440. | oonListcons : ∀ (data : oonOffsetOfNode) (next : oonList), oonList
  441. with estExceptionSpec : Type :=
  442. | estNone : estExceptionSpec
  443. | estDynamic : ∀ (Exceptions : tTypeList), estExceptionSpec
  444. | estComputedNoexcept : ∀ (NoexceptExpr : eExpr), estExceptionSpec
  445. | estUninstantiated : ∀ (ExceptionSpecDecl : string) (ExceptionSpecTemplateDecl : string), estExceptionSpec
  446. | estUnevaluated : ∀ (ExceptionSpecDecl : string), estExceptionSpec
  447.  
  448. inductive crdCXXRecordDefinition : Type :=
  449. | crdInfo : ∀ (hasUserDeclaredConstructor : bool) (hasUserProvidedDefaultConstructor : bool) (hasUserDeclaredCopyConstructor : bool) (hasUserDeclaredMoveConstructor : bool) (hasUserDeclaredCopyAssignment : bool) (hasUserDeclaredMoveAssignment : bool) (hasUserDeclaredDestructor : bool) (isAggregate : bool) (isPOD : bool) (isEmpty : bool) (isPolymorphic : bool) (isAbstract : bool) (isStandardLayout : bool) (hasMutableFields : bool) (hasVariantMembers : bool) (hasInClassInitializer : bool) (hasUninitializedReferenceMember : bool) (needsOverloadResolutionForMoveConstructor : bool) (needsOverloadResolutionForMoveAssignment : bool) (needsOverloadResolutionForDestructor : bool) (hasTrivialDefaultConstructor : bool) (hasTrivialCopyConstructor : bool) (hasTrivialMoveConstructor : bool) (hasTrivialCopyAssignment : bool) (hasTrivialMoveAssignment : bool) (hasTrivialDestructor : bool) (hasNonTrivialDefaultConstructor : bool) (hasNonTrivialCopyConstructor : bool) (hasNonTrivialMoveConstructor : bool) (hasNonTrivialCopyAssignment : bool) (hasNonTrivialMoveAssignment : bool) (hasNonTrivialDestructor : bool) (hasIrrelevantDestructor : bool) (hasConstexprNonCopyMoveConstructor : bool) (defaultedDefaultConstructorIsConstexpr : bool) (hasConstexprDefaultConstructor : bool) (hasNonLiteralTypeFieldsOrBases : bool) (hasDefaultConstructor : bool) (needsImplicitCopyConstructor : bool) (hasMoveConstructor : bool) (needsImplicitCopyAssignment : bool) (hasMoveAssignment : bool) (needsImplicitDestructor : bool) (implicitCopyConstructorHasConstParam : bool) (implicitCopyAssignmentHasConstParam : bool) (hasCopyConstructorWithConstParam : bool) (hasCopyAssignmentWithConstParam : bool), crdCXXRecordDefinition
  450. | crdnil : crdCXXRecordDefinition
  451.  
  452. inductive etExpansionType : Type :=
  453. | etEntry : ∀ (ExpansionType : tType) (ExpansionTypeSourceInfo : tType), etExpansionType
  454.  
  455. inductive lckLambdaCaptureKind : Type :=
  456. | lckThis : ∀ (isImplicit : bool), lckLambdaCaptureKind
  457. | lckVLAType : ∀ (isImplicit : bool), lckLambdaCaptureKind
  458. | lckByCopy : ∀ (isImplicit : bool) (CapturedVarDecl : string), lckLambdaCaptureKind
  459. | lckByRef : ∀ (isImplicit : bool) (CapturedVarDecl : string), lckLambdaCaptureKind
  460.  
  461. inductive msiMemberSpecializationInfo : Type :=
  462. | msiEntry : ∀ (InstantiatedFromDecl : string) (TemplateSpecializationKind : tskEnum) (PointOfInstantiation : string), msiMemberSpecializationInfo
  463. | msiNull : msiMemberSpecializationInfo
  464.  
  465. inductive tkTemplatedKind : Type :=
  466. | tkNonTemplate : tkTemplatedKind
  467. | tkFunctionTemplate : ∀ (DescribedFunctionTemplateDecl : string), tkTemplatedKind
  468. | tkMemberSpecialization : ∀ (InstantiatedFromDecl : string) (TemplateSpecializationKind : tskEnum), tkTemplatedKind
  469. | tkFunctionTemplateSpecialization : ∀ (TemplateDecl : string) (TemplateSpecializationKind : tskEnum) (TemplateArgumentList : taList), tkTemplatedKind
  470. | tkDependentFunctionTemplateSpecialization : ∀ (TemplateDeclList : list string), tkTemplatedKind
  471.  
  472. inductive dDecl : Type :=
  473. | dEmpty : dDecl
  474. | Decl : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (AttrList : aAttrList), dDecl
  475. | DeclContext : ∀ (Decls : list string), dDecl
  476. | dAccessSpec : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (AttrList : aAttrList), dDecl
  477. | dBlock : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (isVariadic : bool) (blockMissingReturnType : bool) (isConversionFromLambda : bool) (capturesCXXThis : bool) (Decls : list string) (ParamList : list string) (AttrList : aAttrList) (Body : sStmt) (SignatureAsWritten : tType) (CaptureList : list bdcCapture), dDecl
  478. | dCaptured : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (ContextParamPosition : nat) (isNothrow : bool) (Decls : list string) (ParamList : list string) (AttrList : aAttrList), dDecl
  479. | dClassScopeFunctionSpecialization : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (SpecializationDecl : string) (AttrList : aAttrList), dDecl
  480. | dExternCContext : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (Decls : list string) (AttrList : aAttrList), dDecl
  481. | dFileScopeAsm : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (AttrList : aAttrList) (StringLiteral : eExpr), dDecl
  482. | dFriend : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FriendDecl : string) (isUnsupportedFriend : bool) (TemplateParamDeclListList : list (list string)) (AttrList : aAttrList) (FriendType : tType), dDecl
  483. | dFriendTemplate : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FriendDecl : string) (TemplateParamDeclListList : list (list string)) (AttrList : aAttrList) (FriendType : tType), dDecl
  484. | dImport : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (ImportedModuleName : string) (AttrList : aAttrList), dDecl
  485. | dLinkageSpec : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (Decls : list string) (AttrList : aAttrList), dDecl
  486. | dNamed : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (AttrList : aAttrList), dDecl
  487. | dLabel : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (AttrList : aAttrList), dDecl
  488. | dNamespace : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (isInline : bool) (isOriginalNamespace : bool) (AnonymousNamespaceDecl : string) (AttrList : aAttrList), dDecl
  489. | dNamespaceAlias : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (NamespaceAliasDecl : string) (AttrList : aAttrList), dDecl
  490. | dTemplate : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (TemplatedDecl : string) (TemplateParameterDeclList : list string) (AttrList : aAttrList), dDecl
  491. | dBuiltinTemplate : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (TemplatedDecl : string) (BuiltinTemplateKind : btkEnum) (TemplateParameterDeclList : list string) (AttrList : aAttrList), dDecl
  492. | dRedeclarableTemplate : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (TemplatedDecl : string) (InstantiatedFromMemberTemplateDecl : string) (isMemberSpecialization : bool) (TemplateParameterDeclList : list string) (AttrList : aAttrList), dDecl
  493. | dClassTemplate : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (TemplatedDecl : string) (InstantiatedFromMemberTemplateDecl : string) (isMemberSpecialization : bool) (TemplateParameterDeclList : list string) (SpecializationList : list string) (AttrList : aAttrList), dDecl
  494. | dFunctionTemplate : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (TemplatedDecl : string) (InstantiatedFromMemberTemplateDecl : string) (isMemberSpecialization : bool) (TemplateParameterDeclList : list string) (SpecializationList : list string) (AttrList : aAttrList), dDecl
  495. | dTypeAliasTemplate : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (TemplatedDecl : string) (InstantiatedFromMemberTemplateDecl : string) (isMemberSpecialization : bool) (TemplateParameterDeclList : list string) (AttrList : aAttrList), dDecl
  496. | dVarTemplate : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (TemplatedDecl : string) (InstantiatedFromMemberTemplateDecl : string) (isMemberSpecialization : bool) (TemplateParameterDeclList : list string) (SpecializationList : list string) (AttrList : aAttrList), dDecl
  497. | dTemplateTemplateParm : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (TemplatedDecl : string) (Depth : nat) (Position : nat) (isExpandedParameterPack : bool) (isParameterPack : bool) (OwnsDefaultArg : bool) (TemplateParameterDeclList : list string) (ExpansionTemplateParameterListList : list (list string)) (AttrList : aAttrList) (TemplateArgument : taList), dDecl
  498. | dType : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (AttrList : aAttrList) (TypeForDecl : tType), dDecl
  499. | dTag : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (TagKind : ttkEnum) (isCompleteDefinition : bool) (isEmbeddedInDeclarator : bool) (isFreeStanding : bool) (isCompleteDefinitionRequired : bool) (Decls : list string) (AttrList : aAttrList) (TypeForDecl : tType), dDecl
  500. | dEnum : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (TagKind : ttkEnum) (isCompleteDefinition : bool) (isEmbeddedInDeclarator : bool) (isFreeStanding : bool) (isCompleteDefinitionRequired : bool) (NumPositiveBits : nat) (NumNegativeBits : nat) (isScoped : bool) (isScopedUsingClassTag : bool) (isFixed : bool) (Decls : list string) (MemberSpecializationInfo : msiMemberSpecializationInfo) (AttrList : aAttrList) (TypeForDecl : tType) (IntegerType : tType) (PromotionType : tType), dDecl
  501. | dRecord : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (TagKind : ttkEnum) (isCompleteDefinition : bool) (isEmbeddedInDeclarator : bool) (isFreeStanding : bool) (isCompleteDefinitionRequired : bool) (hasFlexibleArrayMember : bool) (isAnonymousStructOrUnion : bool) (hasObjectMember : bool) (hasVolatileMember : bool) (Decls : list string) (AttrList : aAttrList) (TypeForDecl : tType), dDecl
  502. | dCXXRecord : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (TagKind : ttkEnum) (isCompleteDefinition : bool) (isEmbeddedInDeclarator : bool) (isFreeStanding : bool) (isCompleteDefinitionRequired : bool) (hasFlexibleArrayMember : bool) (isAnonymousStructOrUnion : bool) (hasObjectMember : bool) (hasVolatileMember : bool) (DescribedClassTemplateDecl : string) (isThisDeclarationADefinition : bool) (hasDefinition : bool) (isLambda : bool) (isDependentLambda : bool) (isGenericLambda : bool) (isCapturedRecord : bool) (LambdaCaptureDefault : lcdEnum) (LambdaContextDecl : string) (Decls : list string) (MemberSpecializationInfo : msiMemberSpecializationInfo) (CXXRecordDefinition : crdCXXRecordDefinition) (FriendDeclList : list string) (LambdaCaptureList : list lckLambdaCaptureKind) (AttrList : aAttrList) (TypeForDecl : tType) (BaseList : cbsList) (VBaseList : cbsList) (LambdaType : tType), dDecl
  503. | dClassTemplateSpecialization : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (TagKind : ttkEnum) (isCompleteDefinition : bool) (isEmbeddedInDeclarator : bool) (isFreeStanding : bool) (isCompleteDefinitionRequired : bool) (hasFlexibleArrayMember : bool) (isAnonymousStructOrUnion : bool) (hasObjectMember : bool) (hasVolatileMember : bool) (DescribedClassTemplateDecl : string) (isThisDeclarationADefinition : bool) (hasDefinition : bool) (isLambda : bool) (isDependentLambda : bool) (isGenericLambda : bool) (isCapturedRecord : bool) (LambdaCaptureDefault : lcdEnum) (LambdaContextDecl : string) (SpecializedTemplateOrPartialDecl : string) (PointOfInstantiation : string) (SpecializationKind : tskEnum) (isCanonicalDecl : bool) (CanonicalDecl : string) (Decls : list string) (MemberSpecializationInfo : msiMemberSpecializationInfo) (CXXRecordDefinition : crdCXXRecordDefinition) (FriendDeclList : list string) (LambdaCaptureList : list lckLambdaCaptureKind) (AttrList : aAttrList) (TypeForDecl : tType) (BaseList : cbsList) (VBaseList : cbsList) (LambdaType : tType) (TemplateInstantiationArgumentList : taList) (TemplateArgumentList : taList) (TypeAsWritten : tType), dDecl
  504. | dClassTemplatePartialSpecialization : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (TagKind : ttkEnum) (isCompleteDefinition : bool) (isEmbeddedInDeclarator : bool) (isFreeStanding : bool) (isCompleteDefinitionRequired : bool) (hasFlexibleArrayMember : bool) (isAnonymousStructOrUnion : bool) (hasObjectMember : bool) (hasVolatileMember : bool) (DescribedClassTemplateDecl : string) (isThisDeclarationADefinition : bool) (hasDefinition : bool) (isLambda : bool) (isDependentLambda : bool) (isGenericLambda : bool) (isCapturedRecord : bool) (LambdaCaptureDefault : lcdEnum) (LambdaContextDecl : string) (SpecializedTemplateOrPartialDecl : string) (PointOfInstantiation : string) (SpecializationKind : tskEnum) (isCanonicalDecl : bool) (CanonicalDecl : string) (Decls : list string) (MemberSpecializationInfo : msiMemberSpecializationInfo) (CXXRecordDefinition : crdCXXRecordDefinition) (FriendDeclList : list string) (TemplateParameterDeclList : list string) (LambdaCaptureList : list lckLambdaCaptureKind) (AttrList : aAttrList) (TypeForDecl : tType) (BaseList : cbsList) (VBaseList : cbsList) (LambdaType : tType) (TemplateInstantiationArgumentList : taList) (TemplateArgumentList : taList) (TypeAsWritten : tType), dDecl
  505. | dTemplateTypeParm : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (wasDeclaredWithTypename : bool) (OwnsDefaultArg : bool) (AttrList : aAttrList) (TypeForDecl : tType) (DefaultArgumentType : tType), dDecl
  506. | dTypedefName : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (isModed : bool) (AttrList : aAttrList) (TypeForDecl : tType) (Ty : tType) (UnderlyingType : tType), dDecl
  507. | dTypeAlias : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (isModed : bool) (DescribedAliasTemplateDecl : string) (AttrList : aAttrList) (TypeForDecl : tType) (Ty : tType) (UnderlyingType : tType), dDecl
  508. | dTypedef : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (isModed : bool) (AttrList : aAttrList) (TypeForDecl : tType) (Ty : tType) (UnderlyingType : tType), dDecl
  509. | dUnresolvedUsingTypename : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (AttrList : aAttrList) (TypeForDecl : tType), dDecl
  510. | dUsing : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (AttrList : aAttrList), dDecl
  511. | dUsingDirective : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (NominatedNamespaceDecl : string) (AttrList : aAttrList), dDecl
  512. | dUsingShadow : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (TargetDecl : string) (NextUsingShadowDecl : string) (AttrList : aAttrList), dDecl
  513. | dValue : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (AttrList : aAttrList) (Ty : tType), dDecl
  514. | dDeclarator : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (AttrList : aAttrList) (Ty : tType), dDecl
  515. | dField : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (isMutable : bool) (isBitField : bool) (InClassInitStyle : icisEnum) (hasCapturedVLAType : bool) (AttrList : aAttrList) (Ty : tType) (BitWidth : eExpr) (InClassInitializer : eExpr) (CapturedVLAExpr : eExpr), dDecl
  516. | dFunction : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (StorageClass : scEnum) (isInlined : bool) (isInlineSpecified : bool) (isVirtualAsWritten : bool) (isPure : bool) (hasInheritedPrototype : bool) (hasWrittenPrototype : bool) (isDeleted : bool) (isTrivial : bool) (isDefaulted : bool) (isExplicitlyDefaulted : bool) (hasImplicitReturnZero : bool) (isConstexpr : bool) (hasSkippedBody : bool) (isLateTemplateParsed : bool) (Decls : list string) (ParamDeclList : list string) (AttrList : aAttrList) (Ty : tType) (TemplatedKind : tkTemplatedKind), dDecl
  517. | dCXXMethod : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (StorageClass : scEnum) (isInlined : bool) (isInlineSpecified : bool) (isVirtualAsWritten : bool) (isPure : bool) (hasInheritedPrototype : bool) (hasWrittenPrototype : bool) (isDeleted : bool) (isTrivial : bool) (isDefaulted : bool) (isExplicitlyDefaulted : bool) (hasImplicitReturnZero : bool) (isConstexpr : bool) (hasSkippedBody : bool) (isLateTemplateParsed : bool) (Decls : list string) (ParamDeclList : list string) (OverriddenMethodDeclList : list string) (AttrList : aAttrList) (Ty : tType) (TemplatedKind : tkTemplatedKind), dDecl
  518. | dCXXConstructor : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (StorageClass : scEnum) (isInlined : bool) (isInlineSpecified : bool) (isVirtualAsWritten : bool) (isPure : bool) (hasInheritedPrototype : bool) (hasWrittenPrototype : bool) (isDeleted : bool) (isTrivial : bool) (isDefaulted : bool) (isExplicitlyDefaulted : bool) (hasImplicitReturnZero : bool) (isConstexpr : bool) (hasSkippedBody : bool) (isLateTemplateParsed : bool) (InheritedConstructorDecl : string) (isExplicitSpecified : bool) (Decls : list string) (ParamDeclList : list string) (OverriddenMethodDeclList : list string) (AttrList : aAttrList) (Ty : tType) (TemplatedKind : tkTemplatedKind), dDecl
  519. | dCXXConversion : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (StorageClass : scEnum) (isInlined : bool) (isInlineSpecified : bool) (isVirtualAsWritten : bool) (isPure : bool) (hasInheritedPrototype : bool) (hasWrittenPrototype : bool) (isDeleted : bool) (isTrivial : bool) (isDefaulted : bool) (isExplicitlyDefaulted : bool) (hasImplicitReturnZero : bool) (isConstexpr : bool) (hasSkippedBody : bool) (isLateTemplateParsed : bool) (isExplicitSpecified : bool) (Decls : list string) (ParamDeclList : list string) (OverriddenMethodDeclList : list string) (AttrList : aAttrList) (Ty : tType) (TemplatedKind : tkTemplatedKind), dDecl
  520. | dCXXDestructor : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (StorageClass : scEnum) (isInlined : bool) (isInlineSpecified : bool) (isVirtualAsWritten : bool) (isPure : bool) (hasInheritedPrototype : bool) (hasWrittenPrototype : bool) (isDeleted : bool) (isTrivial : bool) (isDefaulted : bool) (isExplicitlyDefaulted : bool) (hasImplicitReturnZero : bool) (isConstexpr : bool) (hasSkippedBody : bool) (isLateTemplateParsed : bool) (OperatorDeleteDecl : string) (Decls : list string) (ParamDeclList : list string) (OverriddenMethodDeclList : list string) (AttrList : aAttrList) (Ty : tType) (TemplatedKind : tkTemplatedKind), dDecl
  521. | dMSProperty : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (GetterId : string) (SetterId : string) (AttrList : aAttrList) (Ty : tType), dDecl
  522. | dNonTypeTemplateParm : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (Depth : nat) (Position : nat) (isExpandedParameterPack : bool) (isParameterPack : bool) (OwnsDefaultArg : bool) (AttrList : aAttrList) (Ty : tType) (DefaultArgument : eExpr) (ExpansionTypeList : list etExpansionType), dDecl
  523. | dVar : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (StorageClass : scEnum) (TSCSpec : tscsEnum) (InitStyle : isEnum) (isExceptionVariable : bool) (isNRVOVariable : bool) (isCXXForRangeDecl : bool) (isARCPseudoStrong : bool) (isConstexpr : bool) (isInitCapture : bool) (isPreviousDeclInSameBlockScope : bool) (LinkageInternal : lEnum) (isInitKnownICE : bool) (isInitICE : bool) (DescribedVarTemplateDecl : string) (InstantiatedFromDecl : string) (TemplateSpecializationKind : tskEnum) (AttrList : aAttrList) (Ty : tType) (Init : eExpr), dDecl
  524. | dImplicitParam : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (StorageClass : scEnum) (TSCSpec : tscsEnum) (InitStyle : isEnum) (isExceptionVariable : bool) (isNRVOVariable : bool) (isCXXForRangeDecl : bool) (isARCPseudoStrong : bool) (isConstexpr : bool) (isInitCapture : bool) (isPreviousDeclInSameBlockScope : bool) (LinkageInternal : lEnum) (isInitKnownICE : bool) (isInitICE : bool) (DescribedVarTemplateDecl : string) (InstantiatedFromDecl : string) (TemplateSpecializationKind : tskEnum) (AttrList : aAttrList) (Ty : tType) (Init : eExpr), dDecl
  525. | dParmVar : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (StorageClass : scEnum) (TSCSpec : tscsEnum) (InitStyle : isEnum) (isExceptionVariable : bool) (isNRVOVariable : bool) (isCXXForRangeDecl : bool) (isARCPseudoStrong : bool) (isConstexpr : bool) (isInitCapture : bool) (isPreviousDeclInSameBlockScope : bool) (LinkageInternal : lEnum) (isInitKnownICE : bool) (isInitICE : bool) (DescribedVarTemplateDecl : string) (InstantiatedFromDecl : string) (TemplateSpecializationKind : tskEnum) (FunctionScopeDepth : nat) (FunctionScopeIndex : nat) (isKNRPromoted : bool) (hasInheritedDefaultArg : bool) (hasUninstantiatedDefaultArg : bool) (AttrList : aAttrList) (Ty : tType) (Init : eExpr) (UninstantiatedDefaultArg : eExpr), dDecl
  526. | dVarTemplateSpecialization : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (StorageClass : scEnum) (TSCSpec : tscsEnum) (InitStyle : isEnum) (isExceptionVariable : bool) (isNRVOVariable : bool) (isCXXForRangeDecl : bool) (isARCPseudoStrong : bool) (isConstexpr : bool) (isInitCapture : bool) (isPreviousDeclInSameBlockScope : bool) (LinkageInternal : lEnum) (isInitKnownICE : bool) (isInitICE : bool) (DescribedVarTemplateDecl : string) (InstantiatedFromDecl : string) (TemplateSpecializationKind : tskEnum) (VarTemplateDecl : string) (VarTemplatePartialSpecializationDecl : string) (SpecializationKind : tskEnum) (SpecializedTemplateDecl : string) (AttrList : aAttrList) (Ty : tType) (Init : eExpr) (TemplateInstantiationArgumentList : taList) (TemplateArgumentList : taList), dDecl
  527. | dVarTemplatePartialSpecialization : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (StorageClass : scEnum) (TSCSpec : tscsEnum) (InitStyle : isEnum) (isExceptionVariable : bool) (isNRVOVariable : bool) (isCXXForRangeDecl : bool) (isARCPseudoStrong : bool) (isConstexpr : bool) (isInitCapture : bool) (isPreviousDeclInSameBlockScope : bool) (LinkageInternal : lEnum) (isInitKnownICE : bool) (isInitICE : bool) (DescribedVarTemplateDecl : string) (InstantiatedFromDecl : string) (TemplateSpecializationKind : tskEnum) (VarTemplateDecl : string) (VarTemplatePartialSpecializationDecl : string) (SpecializationKind : tskEnum) (SpecializedTemplateDecl : string) (InstantiatedFromMemberDecl : string) (isMemberSpecialization : bool) (TemplateParameterDeclList : list string) (AttrList : aAttrList) (Ty : tType) (Init : eExpr) (TemplateInstantiationArgumentList : taList) (TemplateArgumentList : taList), dDecl
  528. | dEnumConstant : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (Sign : bool) (Value : nat) (AttrList : aAttrList) (Ty : tType) (InitExpr : eExpr), dDecl
  529. | dIndirectField : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (ChainingSize : nat) (ChainDeclList : list string) (AttrList : aAttrList) (Ty : tType), dDecl
  530. | dUnresolvedUsingValue : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (DeclName : string) (AttrList : aAttrList) (Ty : tType), dDecl
  531. | dStaticAssert : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (isFailed : bool) (AttrList : aAttrList) (AssertExpr : eExpr) (Message : eExpr), dDecl
  532. | dTranslationUnitDecl : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (Decls : list string) (AttrList : aAttrList), dDecl
  533.  
  534. end ast
  535.  
  536. end cxx
Add Comment
Please, Sign In to add comment