123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538(* Auto-generated from "ast_generic_v1.atd" *)[@@@ocaml.warning"-27-32-33-35-39"]typeclass_kind=[`Class|`Interface|`Trait|`Object]typeconcat_string_kind=[`InterpolatedConcat|`SequenceConcat|`FStringofstring|`TaggedTemplateLiteral]typeconst_type=[`Cbool|`Cint|`Cstr|`Cany]typecontainer_operator=[`Array|`List|`Set|`Dict|`Tuple]typefunction_kind=[`Function|`Method|`LambdaKind|`Arrow|`BlockCases]typeincr_decr=[`Incr|`Decr]typekeyword_attribute=[`Static|`Volatile|`Extern|`Public|`Private|`Protected|`Abstract|`Final|`Override|`RecordClass|`AnnotationClass|`EnumClass|`SealedClass|`Var|`Let|`Mutable|`Const|`Optional|`NotNull|`Recursive|`MutuallyRecursive|`Generator|`Async|`Inline|`Ctor|`Dtor|`Getter|`Setter|`Unsafe|`DefaultImpl|`Lazy|`Throws|`Rethrows|`OtherKeywordofstring]typeoperator=[`Plus|`Minus|`Mult|`Div|`Mod|`Pow|`FloorDiv|`MatMult|`LSL|`LSR|`ASR|`BitOr|`BitXor|`BitAnd|`BitNot|`BitClear|`And|`Or|`Xor|`Not|`Eq|`NotEq|`PhysEq|`NotPhysEq|`Lt|`LtE|`Gt|`GtE|`Cmp|`Concat|`Append|`RegexpMatch|`NotMatch|`Range|`RangeInclusive|`NotNullPostfix|`Length|`Elvis|`Nullish|`In|`NotIn|`Is|`NotIs|`Background|`Pipe]typeprefix_postfix=[`Prefix|`Postfix]typesid=inttypespecial=[`This|`Super|`Self|`Parent|`Eval|`Typeof|`Instanceof|`Sizeof|`Defined|`ConcatStringofconcat_string_kind|`EncodedStringofstring|`InterpolatedElement|`Spread|`HashSplat|`ForOf|`Opofoperator|`IncrDecrof(incr_decr*prefix_postfix)|`Require|`OtherSpecialofstring]typetoken_location={str:string;charpos:int;line:int;column:int;filename:string}typetoken=[`OriginTokoftoken_location|`FakeTokofstring]typetok=tokentype'abracket=(tok*'a*tok)typesc=toktypevariance=[`Covariant|`Contravariant]type'awrap_=('a*tok)typeident=stringwrap_typedotted_ident=identlisttypelabel=identtypeliteral=[`Boolofboolwrap_|`Intofintoptionwrap_|`Floatoffloatoptionwrap_|`Charofstringwrap_|`Stringofstringwrap_|`Regexpof(stringwrap_bracket*stringwrap_option)|`Atomof(tok*stringwrap_)|`Unitoftok|`Nulloftok|`Undefinedoftok|`Imagofstringwrap_|`Ratioofstringwrap_]typemodule_name=[`DottedNameofdotted_ident|`FileNameofstringwrap_]typeresolved_name_kind=[`Global|`Local|`Param|`ImportedEntityofdotted_ident|`ImportedModuleofmodule_name|`OtherResolvedNameKindofstring]typeresolved_name=(resolved_name_kind*sid)typetodo_kind=stringwrap_typexml_kind=[`XmlClassicof(tok*ident*tok*tok)|`XmlSingletonof(tok*ident*tok)|`XmlFragmentof(tok*tok)]typealias=(ident*id_info)andany=[`Eofexpr|`Sofstmt|`Toftype_|`Pofpattern|`Atofattribute|`Fldoffield|`Arofargument|`Paofparameter|`Taoftype_argument|`Tpoftype_parameter|`Ceofcatch_exn|`Csofcase|`ForOrIfCompoffor_or_if_comp|`Enofentity|`Iofident|`Modnofmodule_name|`Diofdotted_ident|`Lblioflabel_ident|`Strofstringwrap_|`Tkoftok|`TodoKoftodo_kind|`Anysof(anylist)]andargument=[`Argofexpr|`ArgKwdof(ident*expr)|`ArgKwdOptionalof(ident*expr)|`ArgTypeoftype_|`OtherArgof(todo_kind*anylist)]andarguments=argumentlistbracketandattribute=[`KeywordAttrofkeyword_attributewrap_|`NamedAttrof(tok*name*arguments)|`OtherAttributeof(todo_kind*anylist)]andcase=[`Caseof(tok*pattern)|`Defaultoftok|`CaseEqualExprof(tok*expr)|`OtherCaseof(todo_kind*anylist)]andcase_and_body=[`CasesAndBodyof(caselist*stmt)]andcatch=(tok*catch_exn*stmt)andcatch_exn=[`CatchPatternofpattern|`CatchParamofparameter_classic|`OtherCatchof(todo_kind*anylist)]andclass_definition={ckind:class_kindwrap_;cextends:class_parentlist;cimplements:type_list;cmixins:type_list;cparams:parameters;cbody:fieldlistbracket}andclass_parent=(type_*argumentsoption)andcomprehension=(expr*for_or_if_complist)andcondition=[`Condofexpr|`OtherCondof(todo_kind*anylist)]anddefinition=(entity*definition_kind)anddefinition_kind=[`FuncDefoffunction_definition|`VarDefofvariable_definition|`ClassDefofclass_definition|`EnumEntryDefofenum_entry_definition|`TypeDefoftype_definition|`ModuleDefofmodule_definition|`MacroDefofmacro_definition|`Signatureoftype_|`UseOuterDecloftok|`OtherDefof(todo_kind*anylist)]anddirective=[`ImportFromof(tok*module_name*(ident*aliasoption)list)|`ImportAsof(tok*module_name*aliasoption)|`ImportAllof(tok*module_name*tok)|`Packageof(tok*dotted_ident)|`PackageEndoftok|`Pragmaof(ident*anylist)|`OtherDirectiveof(todo_kind*anylist)]andentity={name:entity_name;attrs:attributelist;tparams:type_parameters}andentity_name=[`ENofname|`EDynamicofexpr|`EPatternofpattern|`OtherEntityof(todo_kind*anylist)]andenum_entry_definition={ee_args:argumentsoption;ee_body:fieldlistbracketoption}andexpr=[`Lofliteral|`Containerof(container_operator*exprlistbracket)|`Comprehensionof(container_operator*comprehensionbracket)|`Recordoffieldlistbracket|`Constructorof(name*exprlistbracket)|`Nofname|`IdSpecialofspecialwrap_|`Callof(expr*arguments)|`Newof(tok*type_*arguments)|`Xmlofxml|`Assignof(expr*tok*expr)|`AssignOpof(expr*operatorwrap_*expr)|`LetPatternof(pattern*expr)|`DotAccessof(expr*tok*field_name)|`ArrayAccessof(expr*exprbracket)|`SliceAccessof(expr*(exproption*exproption*exproption)bracket)|`Lambdaoffunction_definition|`AnonClassofclass_definition|`Conditionalof(expr*expr*expr)|`Yieldof(tok*exproption*bool)|`Awaitof(tok*expr)|`Castof(type_*expr)|`Seqofexprlist|`Refof(tok*expr)|`DeRefof(tok*expr)|`Ellipsisoftok|`ParenExprofexprbracket|`StmtExprofstmt|`OtherExprof(todo_kind*anylist)]andfield=[`Fofstmt]andfield_name=[`FNofname|`FDynamicofexpr]andfinally=(tok*stmt)andfor_each=(pattern*tok*expr)andfor_header=[`ForClassicof(for_var_or_exprlist*exproption*exproption)|`ForEachoffor_each|`MultiForEachofmulti_for_eachlist|`ForInof(for_var_or_exprlist*exprlist)]andfor_or_if_comp=[`CompForof(tok*pattern*tok*expr)|`CompIfof(tok*expr)]andfor_var_or_expr=[`ForInitVarof(entity*variable_definition)|`ForInitExprofexpr]andfunction_body=[`FBStmtofstmt|`FBExprofexpr|`FBDeclofsc|`FBNothing]andfunction_definition={fkind:function_kindwrap_;fparams:parameters;frettype:type_option;fbody:function_body}andid_info={id_resolved:resolved_nameoption;id_type:type_option;id_svalue:svalueoption}anditem=stmtandlabel_ident=[`LNone|`LIdoflabel|`LIntofintwrap_|`LDynamicofexpr]andmacro_definition={macroparams:identlist;macrobody:anylist}andmodule_definition={mbody:module_definition_kind}andmodule_definition_kind=[`ModuleAliasofdotted_ident|`ModuleStructof(dotted_identoption*itemlist)|`OtherModuleof(todo_kind*anylist)]andmulti_for_each=[`FEoffor_each|`FECondof(for_each*tok*expr)]andname=[`Idof(ident*id_info)|`IdQualifiedofqualified_info]andor_type_element=[`OrConstructorof(ident*type_list)|`OrEnumof(ident*exproption)|`OrUnionof(ident*type_)|`OtherOrof(todo_kind*anylist)]andparameter=[`ParamClassicofparameter_classic|`ParamPatternofpattern|`ParamRestof(tok*parameter_classic)|`ParamHashSplatof(tok*parameter_classic)|`OtherParamof(todo_kind*anylist)]andparameter_classic={pname:identoption;ptype:type_option;pdefault:exproption;pattrs:attributelist;pinfo:id_info}andparameters=parameterlistandpattern=[`PatLiteralofliteral|`PatConstructorof(name*patternlist)|`PatRecordof(dotted_ident*pattern)listbracket|`PatIdof(ident*id_info)|`PatTupleofpatternlistbracket|`PatListofpatternlistbracket|`PatKeyValof(pattern*pattern)|`PatUnderscoreoftok|`PatDisjof(pattern*pattern)|`PatTypedof(pattern*type_)|`PatWhenof(pattern*expr)|`PatAsof(pattern*(ident*id_info))|`PatTypeoftype_|`OtherPatof(todo_kind*anylist)]andqualified_info={name_last:(ident*type_argumentsoption);name_middle:qualifieroption;name_top:tokoption;name_info:id_info}andqualifier=[`QDotsof(ident*type_argumentsoption)list|`QExprof(expr*tok)]andstmt=[`ExprStmtof(expr*sc)|`Blockofstmtlistbracket|`Ifof(tok*condition*stmt*stmtoption)|`Whileof(tok*condition*stmt)|`Returnof(tok*exproption*sc)|`DoWhileof(tok*stmt*expr)|`Forof(tok*for_header*stmt)|`Switchof(tok*conditionoption*case_and_bodylist)|`Continueof(tok*label_ident*sc)|`Breakof(tok*label_ident*sc)|`Labelof(label*stmt)|`Gotoof(tok*label)|`Throwof(tok*expr*sc)|`Tryof(tok*stmt*catchlist*finallyoption)|`WithUsingResourceof(tok*stmtlist*stmt)|`Assertof(tok*arguments*sc)|`DefStmtofdefinition|`DirectiveStmtofdirective|`OtherStmtof(todo_kind*anylist)]andsvalue=[`Litofliteral|`Cstofconst_type|`Symofexpr|`NotCst]andtype_=[`TyNofname|`TyApplyof(type_*type_arguments)|`TyFunof(parameterlist*type_)|`TyArrayof(exproptionbracket*type_)|`TyTupleoftype_listbracket|`TyVarofident|`TyAnyoftok|`TyPointerof(tok*type_)|`TyRefof(tok*type_)|`TyQuestionof(type_*tok)|`TyRestof(tok*type_)|`TyAndof(type_*tok*type_)|`TyOrof(type_*tok*type_)|`TyRecordAnonof(class_kindwrap_*fieldlistbracket)|`TyExprofexpr|`OtherTypeof(todo_kind*anylist)]andtype_argument=[`TAoftype_|`TAWildcardof(tok*(boolwrap_*type_)option)|`TAExprofexpr|`OtherTypeArgof(todo_kind*anylist)]andtype_arguments=type_argumentlistbracketandtype_definition={tbody:type_definition_kind}andtype_definition_kind=[`OrTypeofor_type_elementlist|`AndTypeoffieldlistbracket|`AliasTypeoftype_|`NewTypeoftype_|`AbstractTypeoftok|`Exceptionof(ident*type_list)|`OtherTypeKindof(todo_kind*anylist)]andtype_parameter=[`TPoftype_parameter_classic|`OtherTypeParamof(todo_kind*anylist)]andtype_parameter_classic={tp_id:ident;tp_attrs:attributelist;tp_bounds:type_list;tp_default:type_option;tp_variance:variancewrap_option}andtype_parameters=type_parameterlistandvariable_definition={vinit:exproption;vtype:type_option}andxml={xml_kind:xml_kind;xml_attrs:xml_attributelist;xml_body:xml_bodylist}andxml_attr_value=exprandxml_attribute=[`XmlAttrof(ident*tok*xml_attr_value)|`XmlAttrExprofexprbracket]andxml_body=[`XmlTextofstringwrap_|`XmlExprofexproptionbracket|`XmlXmlofxml]typeprogram=itemlist