Skip to content

Instantly share code, notes, and snippets.

@intoverflow
Created February 11, 2018 00:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save intoverflow/b7c9b0be02ce1f584e07bc6877101685 to your computer and use it in GitHub Desktop.
Save intoverflow/b7c9b0be02ce1f584e07bc6877101685 to your computer and use it in GitHub Desktop.
c++ ast
/- WARNING: This file is auto generated. Manual edits are not advised -/
import standard
import .enums
namespace cxx
namespace ast
inductive capCapture : Type :=
| capCapturecons : ∀ (VariableCaptureKind : vckEnum) (CapturedVar : string), capCapture
inductive desDesignatedInitExpr : Type :=
| desFieldDecl : ∀ (Decl : string), desDesignatedInitExpr
| desFieldName : ∀ (FieldName : string), desDesignatedInitExpr
| desArray : ∀ (FirstExprIndex : nat), desDesignatedInitExpr
| desArrayRange : ∀ (FirstExprIndex : nat) (EllipsisLoc : string), desDesignatedInitExpr
inductive fcFloatCategory : Type :=
| fcInfinity : ∀ (Sign : bool), fcFloatCategory
| fcNaN : ∀ (Sign : bool) (isSignaling : bool), fcFloatCategory
| fcNormal : ∀ (Sign : bool) (Exp : nat) (Sig : nat), fcFloatCategory
| fcZero : ∀ (Sign : bool), fcFloatCategory
inductive qQualifier : Type :=
| qConst : qQualifier
| qVolatile : qQualifier
| qRestrict : qQualifier
with qQualifierList : Type :=
| qQualifierListnil : qQualifierList
| qQualifierListcons : ∀ (data : qQualifier) (next : qQualifierList), qQualifierList
inductive aAttr : Type :=
| attr : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrAbiTag : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Tags : list string), aAttr
| attrAcquireCapability : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (ArgList : eExprList), aAttr
| attrAcquiredAfter : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (ArgList : eExprList), aAttr
| attrAcquiredBefore : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (ArgList : eExprList), aAttr
| attrAlias : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (isImplicit : bool) (SpellingListIndex : nat) (Aliasee : string), aAttr
| attrAlignValue : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (AlignmentExpr : eExpr), aAttr
| attrAligned : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (AlignmentExpr : eExpr) (AlignType : tType), aAttr
| attrAlwaysInline : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrAnalyzerNoReturn : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrAnnotate : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Annotation : string), aAttr
| attrArgumentWithTypeTag : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (ArgumentKind : string) (ArgumentIdx : nat) (TypeTagIdx : nat) (isPointer : bool), aAttr
| attrAsmLabel : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Label : string), aAttr
| attrAssertCapability : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Expr : eExpr), aAttr
| attrAssertExclusiveLock : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (ExprList : eExprList), aAttr
| attrAssertSharedLock : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (ExprList : eExprList), aAttr
| attrAssumeAligned : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Alignment : eExpr) (Offset : eExpr), aAttr
| attrBlocks : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (baType : baEnum), aAttr
| attrC11NoReturn : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrCDecl : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrCFAuditedTransfer : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrCFConsumed : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrCFReturnsNotRetained : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrCFReturnsRetained : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrCFUnknownTransfer : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrCXX11NoReturn : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrCallableWhen : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (CallableStates : list string), aAttr
| attrCapability : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Capability : string), aAttr
| attrCapturedRecord : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrCarriesDependency : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrCleanup : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (FunctionDecl : string), aAttr
| attrCold : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrCommon : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrConst : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrConstructor : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Priority : nat), aAttr
| attrConsumable : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (ConsumedState : string), aAttr
| attrConsumableAutoCast : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrConsumableSetOnReadAttr : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrDLLExport : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrDLLImport : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrDeprecated : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Message : string), aAttr
| attrDestructor : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Priority : nat), aAttr
| attrEnableIf : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Message : string) (CondExpr : eExpr), aAttr
| attrExclusiveTrylockFunction : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (SuccessValue : eExpr) (Args : eExpr), aAttr
| attrFallThrough : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrFastCall : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrFinal : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrFlagEnum : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrFlatten : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrFormat : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Identifier : string) (FormatIdx : nat) (FirstArg : nat), aAttr
| attrFormatArg : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (FormatIdx : nat), aAttr
| attrGNUInline : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrGuardedBy : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Arg : eExpr), aAttr
| attrGuardedVar : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrHot : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrIBAction : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrIBOutlet : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrIBOutletCollection : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Interface : tType), aAttr
| attrInitPriority : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Priority : nat), aAttr
| attrInitSeg : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Segment : string), aAttr
| attrIntelOclBicc : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrLockReturned : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Arg : eExpr), aAttr
| attrLocksExcluded : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Args : eExprList), aAttr
| attrLoopHint : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (LoopHintOption : string) (LoopHintState : string) (Value : eExpr), aAttr
| attrMSABI : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrMSInheritance : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (BestCase : bool), aAttr
| attrMSNoVTable : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrMSP430Interrupt : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (IntNum : nat), aAttr
| attrMSStruct : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrMSVtorDisp : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (VDM : nat), aAttr
| attrMaxFieldAlignment : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Align : nat), aAttr
| attrMayAlias : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrMinSize : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrMips16 : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrMode : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrNSConsumed : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrNSConsumesSelf : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrNSReturnsAutoreleased : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrNSReturnsNotRetained : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrNSReturnsRetained : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrNaked : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrNoCommon : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrNoDebug : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrNoDuplicate : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrNoInline : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrNoInstrumentFunction : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrNoMips16 : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrNoReturn : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrNoSanitize : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Sanitizers : list string), aAttr
| attrNoSplitStack : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrNoThreadSafetyAnalysis : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrNoThrow : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrNonNull : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Args : list nat), aAttr
| attrOptimizeNone : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrOverloadable : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrOverride : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrOwnership : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Identifier : string) (Args : list nat), aAttr
| attrPacked : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrParamTypestate : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (ParamState : string), aAttr
| attrPascal : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrPcs : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (PCS : string), aAttr
| attrPtGuardedBy : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Arg : eExpr), aAttr
| attrPtGuardedVar : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrPure : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrReleaseCapability : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Args : eExprList), aAttr
| attrRequiresCapability : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Args : eExprList), aAttr
| attrRestrict : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrReturnTypestate : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (State : string), aAttr
| attrReturnsNonNull : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrReturnsTwice : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrScopedLockable : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrSection : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Name : string), aAttr
| attrSelectAny : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrSentinel : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Sentinel : nat) (NullPos : nat), aAttr
| attrSetTypestate : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (NewState : string), aAttr
| attrSharedTrylockFunction : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (SuccessValue : eExpr) (Args : eExprList), aAttr
| attrStdCall : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrSysVABI : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrTLSModel : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Model : string), aAttr
| attrTarget : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Features : string), aAttr
| attrTestTypestate : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (TestState : string), aAttr
| attrThisCall : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrThread : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrTransparentUnion : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrTryAcquireCapability : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (SuccessValue : eExpr) (Args : eExprList), aAttr
| attrTypeTagForDatatype : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Identifier : string) (LayoutCompatible : bool) (MustBeNull : bool) (MatchingCType : tType), aAttr
| attrTypeVisibility : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Visibility : string), aAttr
| attrUnavailable : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Message : string), aAttr
| attrUnused : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrUsed : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrUuid : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Guid : string), aAttr
| attrVecReturn : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrVecTypeHint : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (TypeHint : tType), aAttr
| attrVectorCall : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrVisibility : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Visibility : string), aAttr
| attrWarnUnused : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrWarnUnusedResult : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrWeak : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrWeakImport : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
| attrWeakRef : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat) (Aliasee : string), aAttr
| attrX86ForceAlignArgPointer : ∀ (isInherited : bool) (isImplicit : bool) (SpellingListIndex : nat), aAttr
with aAttrList : Type :=
| aAttrListnil : aAttrList
| aAttrListcons : ∀ (data : aAttr) (next : aAttrList), aAttrList
with tType : Type :=
| tNull : tType
| tVoid : ∀ (Qualifiers : qQualifierList), tType
| tBool : ∀ (Qualifiers : qQualifierList), tType
| tChar_U : ∀ (Qualifiers : qQualifierList), tType
| tUChar : ∀ (Qualifiers : qQualifierList), tType
| tWChar_U : ∀ (Qualifiers : qQualifierList), tType
| tChar16 : ∀ (Qualifiers : qQualifierList), tType
| tChar32 : ∀ (Qualifiers : qQualifierList), tType
| tUShort : ∀ (Qualifiers : qQualifierList), tType
| tUInt : ∀ (Qualifiers : qQualifierList), tType
| tULong : ∀ (Qualifiers : qQualifierList), tType
| tULongLong : ∀ (Qualifiers : qQualifierList), tType
| tUInt128 : ∀ (Qualifiers : qQualifierList), tType
| tChar_S : ∀ (Qualifiers : qQualifierList), tType
| tSChar : ∀ (Qualifiers : qQualifierList), tType
| tWChar_S : ∀ (Qualifiers : qQualifierList), tType
| tShort : ∀ (Qualifiers : qQualifierList), tType
| tInt : ∀ (Qualifiers : qQualifierList), tType
| tLong : ∀ (Qualifiers : qQualifierList), tType
| tLongLong : ∀ (Qualifiers : qQualifierList), tType
| tInt128 : ∀ (Qualifiers : qQualifierList), tType
| tHalf : ∀ (Qualifiers : qQualifierList), tType
| tFloat : ∀ (Qualifiers : qQualifierList), tType
| tDouble : ∀ (Qualifiers : qQualifierList), tType
| tLongDouble : ∀ (Qualifiers : qQualifierList), tType
| tNullPtr : ∀ (Qualifiers : qQualifierList), tType
| tDependent : ∀ (Qualifiers : qQualifierList), tType
| tOverload : ∀ (Qualifiers : qQualifierList), tType
| tBoundMember : ∀ (Qualifiers : qQualifierList), tType
| tPseudoObject : ∀ (Qualifiers : qQualifierList), tType
| tUnknownAny : ∀ (Qualifiers : qQualifierList), tType
| tBuiltinFn : ∀ (Qualifiers : qQualifierList), tType
| tARCUnbridgedCast : ∀ (Qualifiers : qQualifierList), tType
| tArray : ∀ (Qualifiers : qQualifierList) (SizeModifier : asmEnum) (IndexQualifiers : qQualifierList) (ElementType : tType), tType
| tFunction : ∀ (Qualifiers : qQualifierList) (NoReturn : bool) (HasRegParm : bool) (RegParm : nat) (CallingConv : ccEnum) (ProducesResult : bool) (ReturnType : tType), tType
| tTag : ∀ (Qualifiers : qQualifierList) (isDependentType : bool) (TagDecl : string), tType
| tComplex : ∀ (Qualifiers : qQualifierList) (ElementType : tType), tType
| tPointer : ∀ (Qualifiers : qQualifierList) (PointeeType : tType), tType
| tBlockPointer : ∀ (Qualifiers : qQualifierList) (PointeeType : tType), tType
| tLValueReference : ∀ (Qualifiers : qQualifierList) (isSpelledAsLValue : bool) (PointeeType : tType), tType
| tRValueReference : ∀ (Qualifiers : qQualifierList) (PointeeType : tType), tType
| tMemberPointer : ∀ (Qualifiers : qQualifierList) (PointeeType : tType) (ClassType : tType), tType
| tConstantArray : ∀ (Qualifiers : qQualifierList) (SizeModifier : asmEnum) (IndexQualifiers : qQualifierList) (Sign : bool) (Value : nat) (ElementType : tType), tType
| tIncompleteArray : ∀ (Qualifiers : qQualifierList) (SizeModifier : asmEnum) (IndexQualifiers : qQualifierList) (ElementType : tType), tType
| tVariableArray : ∀ (Qualifiers : qQualifierList) (SizeModifier : asmEnum) (IndexQualifiers : qQualifierList) (ElementType : tType) (SizeExpr : eExpr), tType
| tDependentSizedArray : ∀ (Qualifiers : qQualifierList) (SizeModifier : asmEnum) (IndexQualifiers : qQualifierList) (ElementType : tType) (SizeExpr : eExpr), tType
| tVector : ∀ (Qualifiers : qQualifierList) (NumElements : nat) (VectorKind : vkEnum) (ElementType : tType), tType
| tExtVector : ∀ (Qualifiers : qQualifierList) (NumElements : nat) (VectorKind : vkEnum) (ElementType : tType), tType
| 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
| tFunctionNoProto : ∀ (Qualifiers : qQualifierList) (NoReturn : bool) (HasRegParm : bool) (RegParm : nat) (CallingConv : ccEnum) (ProducesResult : bool) (ReturnType : tType), tType
| tUnresolvedUsing : ∀ (Qualifiers : qQualifierList) (Decl : string), tType
| tParen : ∀ (Qualifiers : qQualifierList) (InnerType : tType), tType
| tTypedef : ∀ (Qualifiers : qQualifierList) (Decl : string), tType
| tAdjusted : ∀ (Qualifiers : qQualifierList) (OriginalType : tType) (AdjustedType : tType), tType
| tDecayed : ∀ (Qualifiers : qQualifierList) (OriginalType : tType), tType
| tTypeOfExpr : ∀ (Qualifiers : qQualifierList) (UnderlyingExpr : eExpr), tType
| tTypeOf : ∀ (Qualifiers : qQualifierList) (UnderlyingType : tType), tType
| tDecltype : ∀ (Qualifiers : qQualifierList) (UnderlyingType : tType) (UnderlyingExpr : eExpr), tType
| tUnaryTransform : ∀ (Qualifiers : qQualifierList) (UTTKind : utftEnum) (BaseType : tType) (UnderlyingType : tType), tType
| tRecord : ∀ (Qualifiers : qQualifierList) (isDependentType : bool) (TagDecl : string), tType
| tEnum : ∀ (Qualifiers : qQualifierList) (isDependentType : bool) (TagDecl : string), tType
| tElaborated : ∀ (Qualifiers : qQualifierList) (Keyword : etkEnum) (Qualifier : NestedNameSpecifier) (NamedType : tType), tType
| tAttributed : ∀ (Qualifiers : qQualifierList) (AttrKind : akEnum) (ModifiedType : tType) (EquivalentType : tType), tType
| tTemplateTypeParm : ∀ (Qualifiers : qQualifierList) (Depth : nat) (Index : nat) (isParameterPack : bool) (Decl : string), tType
| tSubstTemplateTypeParm : ∀ (Qualifiers : qQualifierList) (ReplacedParameter : tType) (ReplacementType : tType), tType
| tSubstTemplateTypeParmPack : ∀ (Qualifiers : qQualifierList) (ReplacedParameter : tType) (TemplateArg : taTemplateArg), tType
| tTemplateSpecialization : ∀ (Qualifiers : qQualifierList) (isDependentType : bool) (TemplateArgList : taList) (AliasedOrCanonicalType : tType), tType
| tAuto : ∀ (Qualifiers : qQualifierList) (isDecltypeAuto : bool) (isNull : bool) (DependentType : bool) (DeducedType : tType), tType
| tInjectedClassName : ∀ (Qualifiers : qQualifierList) (Decl : string) (CXXRecordDecl : string) (InjectedSpecializationType : tType), tType
| tDependentName : ∀ (Qualifiers : qQualifierList) (Keyword : etkEnum) (IdentifierName : string) (CanonicalTypeInternal : tType) (Qualifier : NestedNameSpecifier), tType
| tDependentTemplateSpecialization : ∀ (Qualifiers : qQualifierList) (Keyword : etkEnum) (IdentifierName : string) (TemplateArgList : taList) (Qualifier : NestedNameSpecifier), tType
| tPackExpansion : ∀ (Qualifiers : qQualifierList) (hasExpansions : bool) (NumExpansions : nat) (Pattern : tType), tType
| tPipe : ∀ (Qualifiers : qQualifierList) (ElementType : tType), tType
| tAtomic : ∀ (Qualifiers : qQualifierList) (ValueType : tType), tType
with tTypeList : Type :=
| tTypeListnil : tTypeList
| tTypeListcons : ∀ (data : tType) (next : tTypeList), tTypeList
with eExpr : Type :=
| eEmpty : eExpr
| Expr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType), eExpr
| eAbstractConditionalOperator : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (Cond : eExpr) (TrueExpr : eExpr) (FalseExpr : eExpr), eExpr
| 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
| eConditionalOperator : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (Cond : eExpr) (LHS : eExpr) (RHS : eExpr), eExpr
| eAddrLabelExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (LabelDecl : string) (ty : tType), eExpr
| eArraySubscriptExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (LHS : eExpr) (RHS : eExpr), eExpr
| eArrayTypeTraitExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Trait : attEnum) (Value : nat) (ty : tType) (QueriedType : tType), eExpr
| eAtomicExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Op : aoEnum) (ty : tType) (SubExprs : eExprList), eExpr
| 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
| 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
| eBlockExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (BlockDecl : string) (ty : tType), eExpr
| eCXXBindTemporaryExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (TemporaryDecl : string) (ty : tType) (SubExpr : eExpr), eExpr
| eCXXBoolLiteralExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Value : bool) (ty : tType), eExpr
| 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
| 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
| eCXXDefaultArgExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ParamDecl : string) (ty : tType) (Expr : eExpr), eExpr
| eCXXDefaultInitExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (FieldDecl : string) (ty : tType), eExpr
| 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
| 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
| eCXXFoldExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Operator : boEnum) (ty : tType) (LHS : eExpr) (RHS : eExpr), eExpr
| 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
| eCXXNoexceptExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Value : bool) (ty : tType) (Operand : eExpr), eExpr
| eCXXNullPtrLiteralExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType), eExpr
| 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
| eCXXScalarValueInitExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (TypeSource : Type) (ty : tType), eExpr
| eCXXStdInitializerListExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (SubExpr : eExpr), eExpr
| eCXXThisExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (isImplicit : bool) (ty : tType), eExpr
| eCXXThrowExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (isThrownVariableInScope : bool) (ty : tType) (SubExpr : eExpr), eExpr
| eCXXTypeidExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (TypeOperand : tType) (ExprOperand : eExpr), eExpr
| eCXXUnresolvedConstructExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (ArgList : eExprList) (TypeSource : tType), eExpr
| eCXXUuidofExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (TypeOperand : tType) (ExprOperand : eExpr), eExpr
| eCallExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (Callee : eExpr) (ArgList : eExprList), eExpr
| eCXXMemberCallExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (Callee : eExpr) (ArgList : eExprList), eExpr
| 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
| eUserDefinedLiteral : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (Callee : eExpr) (ArgList : eExprList), eExpr
| eCastExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (CastKind : ckEnum) (ty : tType) (SubExpr : eExpr) (Path : cbsList), eExpr
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| eImplicitCastExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (CastKind : ckEnum) (ty : tType) (SubExpr : eExpr) (Path : cbsList), eExpr
| eCharacterLiteral : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Value : nat) (CharacterKind : chEnum) (ty : tType), eExpr
| 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
| eCompoundLiteralExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (isFileScope : bool) (ty : tType) (TypeInfo : tType) (Initializer : eExpr), eExpr
| eConvertVectorExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (TypeInfo : tType) (SrcExpr : eExpr), eExpr
| 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
| 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
| 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
| 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
| eDependentScopeDeclRefExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Name : string) (ty : tType) (Qualifier : NestedNameSpecifier) (TemplateArgs : taList), eExpr
| 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
| eDesignatedInitUpdateExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (Base : eExpr) (Updater : eExpr), eExpr
| eExprWithCleanups : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ObjectDeclList : list string) (ty : tType) (SubExpr : eExpr), eExpr
| eExpressionTraitExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ExpressionTrait : etEnum) (Value : bool) (ty : tType) (QueriedExpression : eExpr), eExpr
| eExtVectorElementExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (AccessorIdentifier : string) (ty : tType) (Base : eExpr), eExpr
| eFloatingLiteral : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (FloatSemantics : fsEnum) (isExact : bool) (Value : fcFloatCategory) (ty : tType), eExpr
| eFunctionParmPackExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ParameterPackDecl : string) (ParamDeclList : list string) (ty : tType), eExpr
| eGNUNullExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType), eExpr
| 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
| eImaginaryLiteral : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (SubExpr : eExpr), eExpr
| eImplicitValueInitExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType), eExpr
| 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
| eIntegerLiteral : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Sign : bool) (Value : nat) (ty : tType), eExpr
| 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
| 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
| eMSPropertySubscriptExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (Base : eExpr) (Idx : eExpr), eExpr
| eMaterializeTemporaryExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ExtendingDecl : string) (ManglingNumber : nat) (ty : tType) (Temporary : sStmt), eExpr
| 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
| eNoInitExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType), eExpr
| eOffsetOfExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (TypeInfo : tType) (ComponentList : oonList) (ExprList : eExprList), eExpr
| eOpaqueValueExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (SourceExpr : eExpr), eExpr
| 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
| 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
| 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
| ePackExpansionExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (hasValue : bool) (Value : nat) (ty : tType) (Pattern : eExpr), eExpr
| eParenExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (SubExpr : eExpr), eExpr
| eParenListExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (SubExprList : eExprList), eExpr
| ePredefinedExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (IdentType : tType) (FunctionName : eExpr), eExpr
| 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
| eShuffleVectorExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (SubExprList : eExprList), eExpr
| eSizeOfPackExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (isValueDependent : bool) (PackLength : nat) (PackDecl : string) (ty : tType), eExpr
| eStmtExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (SubStmt : sStmt), eExpr
| eStringLiteral : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (StringKind : slEnum) (Value : list nat) (ty : tType), eExpr
| eSubstNonTypeTemplateParmExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ParameterDecl : string) (ty : tType) (Replacement : eExpr), eExpr
| eSubstNonTypeTemplateParmPackExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ParameterPackDecl : string) (ty : tType) (TemplateArg : taTemplateArg), eExpr
| 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
| eUnaryExprOrTypeTraitExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (UnaryExprOrTypeTrait : uettEnum) (ty : tType) (ArgumentType : tType) (ArgumentExpr : eExpr), eExpr
| eUnaryOperator : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (Opcode : uoEnum) (ty : tType) (SubExpr : eExpr), eExpr
| eVAArgExpr : ∀ (srcrng : string) (isTypeDependent : bool) (isValueDependent : bool) (isInstantiationDependent : bool) (containsUnexpandedParameterPack : bool) (ValueKind : vkEnum) (ObjectKind : okEnum) (ty : tType) (SubExpr : eExpr), eExpr
with eExprList : Type :=
| eExprListnil : eExprList
| eExprListcons : ∀ (data : eExpr) (next : eExprList), eExprList
with sStmt : Type :=
| sEmpty : sStmt
| Stmt : ∀ (srcrng : string), sStmt
| sAsmStmt : ∀ (srcrng : string) (isVolatile : bool) (isSimple : bool), sStmt
| sGCCAsmStmt : ∀ (srcrng : string) (isVolatile : bool) (isSimple : bool) (AsmString : string) (OutputList : gccIOList) (InputList : gccIOList) (ClobberList : eExprList), sStmt
| sAttributedStmt : ∀ (srcrng : string) (Attrs : aAttrList) (SubStmt : sStmt), sStmt
| sBreakStmt : ∀ (srcrng : string), sStmt
| sCXXCatchStmt : ∀ (srcrng : string) (ExceptionDecl : string) (HandlerBlock : sStmt), sStmt
| sCXXForRangeStmt : ∀ (srcrng : string) (Range : sStmt) (BeginEnd : sStmt) (Cond : eExpr) (Inc : eExpr) (LoopVar : sStmt) (Body : sStmt), sStmt
| sCXXTryStmt : ∀ (srcrng : string) (TryBlock : sStmt) (HandlerList : sStmtList), sStmt
| sCapturedStmt : ∀ (srcrng : string) (CapturedDecl : string) (CapturedRegionKind : crEnum) (CapturedRecordDecl : string) (CaptureList : list capCapture) (CaptureInits : eExprList) (CapturedStmt : sStmt), sStmt
| sCompoundStmt : ∀ (srcrng : string) (StmtList : sStmtList), sStmt
| sContinueStmt : ∀ (srcrng : string), sStmt
| sCoreturnStmt : ∀ (srcrng : string) (Operand : eExpr) (PromiseCall : eExpr), sStmt
| sCoroutineBodyStmt : ∀ (srcrng : string) (Body : sStmt) (PromiseDeclStmt : sStmt) (InitSuspendStmt : sStmt) (FinalSuspendStmt : sStmt) (ExceptionHandler : sStmt) (FallthroughHandler : sStmt) (ReturnValueInit : eExpr), sStmt
| sDeclStmt : ∀ (srcrng : string) (DeclGroup : list string), sStmt
| sDoStmt : ∀ (srcrng : string) (Cond : eExpr) (Body : sStmt), sStmt
| sForStmt : ∀ (srcrng : string) (ConditionVariable : string) (Init : sStmt) (Cond : eExpr) (Inc : eExpr) (Body : sStmt), sStmt
| sGotoStmt : ∀ (srcrng : string) (LabelDecl : string), sStmt
| sIfStmt : ∀ (srcrng : string) (Cond : eExpr) (Then : sStmt) (Else : sStmt), sStmt
| sIndirectGotoStmt : ∀ (srcrng : string) (Target : eExpr), sStmt
| sLabelStmt : ∀ (srcrng : string) (Decl : string) (SubStmt : sStmt), sStmt
| sMSDependentExistsStmt : ∀ (srcrng : string) (isIfExists : bool) (Qualifier : NestedNameSpecifier) (SubStmt : sStmt), sStmt
| sNullStmt : ∀ (srcrng : string) (hasLeadingEmptyMacro : bool), sStmt
| sReturnStmt : ∀ (srcrng : string) (NRVOCandidate : string) (RetValue : eExpr), sStmt
| sSEHExceptStmt : ∀ (srcrng : string) (FilterExpr : eExpr) (Block : sStmt), sStmt
| sSEHFinallyStmt : ∀ (srcrng : string) (Block : sStmt), sStmt
| sSEHLeaveStmt : ∀ (srcrng : string), sStmt
| sSEHTryStmt : ∀ (srcrng : string) (isCXXTry : bool) (TryBlock : sStmt) (Handler : sStmt), sStmt
| sSwitchCase : ∀ (srcrng : string) (NextSwitchCase : sStmt) (SubStmt : sStmt), sStmt
| sCaseStmt : ∀ (srcrng : string) (NextSwitchCase : sStmt) (SubStmt : sStmt) (LHS : eExpr) (RHS : eExpr), sStmt
| sDefaultStmt : ∀ (srcrng : string) (NextSwitchCase : sStmt) (SubStmt : sStmt), sStmt
| sSwitchStmt : ∀ (srcrng : string) (ConditionVariable : string) (isAllEnumCasesCovered : bool) (Cond : eExpr) (Body : sStmt) (SwitchCaseList : sStmt), sStmt
| sWhileStmt : ∀ (srcrng : string) (ConditionVariable : string) (Cond : eExpr) (Body : sStmt), sStmt
with sStmtList : Type :=
| sStmtListnil : sStmtList
| sStmtListcons : ∀ (data : eExpr) (next : eExprList), sStmtList
with gccIONode : Type :=
| gccIOElement : ∀ (ident : string) (constraint : eExpr) (output : eExpr), gccIONode
with gccIOList : Type :=
| gccIOListnil : gccIOList
| gccIOListcons : ∀ (data : gccIONode) (next : gccIOList), gccIOList
with NestedNameSpecifier : Type :=
| nnsFIXME : NestedNameSpecifier
with tnTemplateName : Type :=
| tnTemplate : ∀ (Decl : string), tnTemplateName
| tnOverloadedTemplate : ∀ (Decls : list string), tnTemplateName
| tnQualifiedTemplate : ∀ (hasTemplateKeyword : bool) (Decl : string) (Qualifier : NestedNameSpecifier), tnTemplateName
| tnDependentTemplate : ∀ (Identifier : string) (Operator : ooEnum) (Qualifier : NestedNameSpecifier), tnTemplateName
with taTemplateArg : Type :=
| taNull : taTemplateArg
| taType : ∀ (Ty : tType), taTemplateArg
| taDeclaration : ∀ (Decl : string) (ParamTy : tType), taTemplateArg
| taNullPtr : ∀ (NullPtrTy : tType), taTemplateArg
| taIntegral : ∀ (Sign : bool) (Value : nat) (IntTy : tType), taTemplateArg
| taTemplate : ∀ (Name : string), taTemplateArg
| taTemplateExpansion : ∀ (hasExpansions : bool) (NumExpansions : nat) (Name : tnTemplateName), taTemplateArg
| taExpression : ∀ (SubExpr : eExpr), taTemplateArg
| taPack : ∀ (Args : taList), taTemplateArg
with taList : Type :=
| taListnil : taList
| taListcons : ∀ (data : taTemplateArg) (next : taList), taList
with cbsCXXBaseSpecifier : Type :=
| cbsEntry : ∀ (isVirtual : bool) (isBaseOfClass : bool) (isPackExpansion : bool) (getInheritConstructors : bool) (AccessSpecifier : asEnum) (Ty : tType), cbsCXXBaseSpecifier
with cbsList : Type :=
| cbsListnil : cbsList
| cbsListcons : ∀ (data : cbsCXXBaseSpecifier) (next : cbsList), cbsList
with bdcCapture : Type :=
| bdcCapturecons : ∀ (Variable : string) (isByRef : bool) (isNested : bool) (CopyExpr : eExpr), bdcCapture
with gsaGenericSelectionAssoc : Type :=
| gsaAssoc : ∀ (Ty : tType) (AssocExpr : eExpr), gsaGenericSelectionAssoc
with gsaList : Type :=
| gsaListnil : gsaList
| gsaListcons : ∀ (data : gsaGenericSelectionAssoc) (next : gsaList), gsaList
with lciLambdaCaptureInit : Type :=
| lciLambdaCaptureInitcons : ∀ (VarDeclList : list string) (InitExpr : eExpr), lciLambdaCaptureInit
with lciList : Type :=
| lciListnil : lciList
| lciListcons : ∀ (data : lciLambdaCaptureInit) (next : lciList), lciList
with oonOffsetOfNode : Type :=
| oonOffsetOfNodeArray : ∀ (ArrayExprIndex : nat), oonOffsetOfNode
| oonOffsetOfNodeField : ∀ (FieldDecl : string), oonOffsetOfNode
| oonOffsetOfNodeIdentifier : ∀ (FieldName : string), oonOffsetOfNode
| oonOffsetOfNodeBase : ∀ (BaseSpecifier : cbsCXXBaseSpecifier), oonOffsetOfNode
with oonList : Type :=
| oonListnil : oonList
| oonListcons : ∀ (data : oonOffsetOfNode) (next : oonList), oonList
with estExceptionSpec : Type :=
| estNone : estExceptionSpec
| estDynamic : ∀ (Exceptions : tTypeList), estExceptionSpec
| estComputedNoexcept : ∀ (NoexceptExpr : eExpr), estExceptionSpec
| estUninstantiated : ∀ (ExceptionSpecDecl : string) (ExceptionSpecTemplateDecl : string), estExceptionSpec
| estUnevaluated : ∀ (ExceptionSpecDecl : string), estExceptionSpec
inductive crdCXXRecordDefinition : Type :=
| 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
| crdnil : crdCXXRecordDefinition
inductive etExpansionType : Type :=
| etEntry : ∀ (ExpansionType : tType) (ExpansionTypeSourceInfo : tType), etExpansionType
inductive lckLambdaCaptureKind : Type :=
| lckThis : ∀ (isImplicit : bool), lckLambdaCaptureKind
| lckVLAType : ∀ (isImplicit : bool), lckLambdaCaptureKind
| lckByCopy : ∀ (isImplicit : bool) (CapturedVarDecl : string), lckLambdaCaptureKind
| lckByRef : ∀ (isImplicit : bool) (CapturedVarDecl : string), lckLambdaCaptureKind
inductive msiMemberSpecializationInfo : Type :=
| msiEntry : ∀ (InstantiatedFromDecl : string) (TemplateSpecializationKind : tskEnum) (PointOfInstantiation : string), msiMemberSpecializationInfo
| msiNull : msiMemberSpecializationInfo
inductive tkTemplatedKind : Type :=
| tkNonTemplate : tkTemplatedKind
| tkFunctionTemplate : ∀ (DescribedFunctionTemplateDecl : string), tkTemplatedKind
| tkMemberSpecialization : ∀ (InstantiatedFromDecl : string) (TemplateSpecializationKind : tskEnum), tkTemplatedKind
| tkFunctionTemplateSpecialization : ∀ (TemplateDecl : string) (TemplateSpecializationKind : tskEnum) (TemplateArgumentList : taList), tkTemplatedKind
| tkDependentFunctionTemplateSpecialization : ∀ (TemplateDeclList : list string), tkTemplatedKind
inductive dDecl : Type :=
| dEmpty : dDecl
| Decl : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (AttrList : aAttrList), dDecl
| DeclContext : ∀ (Decls : list string), dDecl
| dAccessSpec : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (AttrList : aAttrList), dDecl
| 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
| 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
| dClassScopeFunctionSpecialization : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (SpecializationDecl : string) (AttrList : aAttrList), dDecl
| dExternCContext : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (Decls : list string) (AttrList : aAttrList), dDecl
| dFileScopeAsm : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (AttrList : aAttrList) (StringLiteral : eExpr), dDecl
| 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
| 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
| dImport : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (ImportedModuleName : string) (AttrList : aAttrList), dDecl
| dLinkageSpec : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (Decls : list string) (AttrList : aAttrList), dDecl
| dNamed : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (AttrList : aAttrList), dDecl
| dLabel : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (AttrList : aAttrList), dDecl
| 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
| dNamespaceAlias : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (NamespaceAliasDecl : string) (AttrList : aAttrList), dDecl
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| dType : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (AttrList : aAttrList) (TypeForDecl : tType), dDecl
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| dUnresolvedUsingTypename : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (AttrList : aAttrList) (TypeForDecl : tType), dDecl
| dUsing : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (AttrList : aAttrList), dDecl
| dUsingDirective : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (NominatedNamespaceDecl : string) (AttrList : aAttrList), dDecl
| 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
| dValue : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (AttrList : aAttrList) (Ty : tType), dDecl
| dDeclarator : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (FullyQualifiedName : string) (AttrList : aAttrList) (Ty : tType), dDecl
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| dTranslationUnitDecl : ∀ (srcrng : string) (isInvalid : bool) (isImplicit : bool) (isUsed : bool) (isReferenced : bool) (Access : asEnum) (isModulePrivate : bool) (isOutOfLine : bool) (Decls : list string) (AttrList : aAttrList), dDecl
end ast
end cxx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment