Caml1999I0316~@,Ast_iterator(iterator8@@)attributeT@@ @@@@)Parsetree)attribute@@@$unitF@@@@@@@8parsing/ast_iterator.mli__@@&A*attributesU@@@@@@$listI$)attribute@@@@@@"@@@@@@@ `!`0@@EB*binding_opV@@>@@@@=*binding_op@@@:@@@@@@@8a139a1^@@]C$caseW@@V@@@@U$case@@@R@@@@@@@Pb_aQb_@@uD%casesX@@n@@@@Oq$case@@@@@@o@@@@@@@mcnc@@E1class_declarationY@@@@@@1class_declaration@@@@@@@@@@dd@@F1class_descriptionZ@@@@@@1class_description@@@@@@@@@@ݰee @@G*class_expr[@@@@@@*class_expr@@@@@@@@@@ذf!#f!N@@H+class_field\@@@@@@+class_field@@@@@@@@@@ӰgOQgO~@@I/class_signature]@@@@@@/class_signature@@@@@@@@@@ΰhh@@ J/class_structure^@@@@@@/class_structure@@@@@@@@@@ɰii@@"K*class_type_@@@@@@*class_type@@@@@@@@@@İjj@@:L6class_type_declaration`@@3@@@@26class_type_declaration@@@/@@@@@@@-k.kb@@RM0class_type_fielda@@K@@@@J0class_type_field@@@G@@@@@@@ElceFlc@@jN7constructor_declarationb@@c@@@@b7constructor_declaration@@@_@@@@@@@]m^m@@O$exprc@@{@@@@z*expression@@@w@@@@@@@unvn @@P)extensiond@@@@@@)extension@@@@@@@@@@o  o  8@@Q5extension_constructore@@@@@@5extension_constructor@@@@@@@@@@p 9 ;p 9 |@@R3include_declarationf@@@@@@3include_declaration@@@@@@@@@@q } q } @@S3include_descriptiong@@@@@@3include_description@@@@@@@@@@r  r  @@T1label_declarationh@@@@@@1label_declaration@@@@@@@@@@s  s  8@@U(location@@ @@@@(Location!t@@@ @@@@@@@t 9 ; t 9 d@@-V.module_binding@@&@@@@%.module_binding@@@"@@@@@@@ u e g!u e @@EW2module_declaration@@>@@@@=2module_declaration@@@:@@@@@@@8v  9v  @@]X3module_substitution@@V@@@@U3module_substitution@@@R@@@@@@@Pw  Qw  @@uY+module_expr@@n@@@z@m+module_expr@@@{j@@@|@@}@@~hx  ix  H@@Z+module_type@@@@@u@+module_type@@@v@@@w@@x@@yy I Ky I x@@[7module_type_declaration@@@@@p@7module_type_declaration@@@q@@@r@@s@@tz y {z y @@\0open_declaration@@@@@k@0open_declaration@@@l@@@m@@n@@o{  {  @@]0open_description@@@@@f@0open_description@@@g@@@h@@i@@j|  |  4@@^#pat@@@@@a@'pattern@@@b@@@c@@d@@e} 5 7} 5 X@@_'payload@@@@@\@'payload@@@]@@@^@@_@@`~ Y [~ Y @@`)signature@@@@@W@)signature@@@X@@@Y@@Z@@[    @@5a.signature_item@@.@@@R@-.signature_item@@@S*@@@T@@U@@V(@  )@  @@Mb)structure@@F@@@M@E)structure@@@NB@@@O@@P@@Q@A  AA  @@ec.structure_item@@^@@@H@].structure_item@@@IZ@@@J@@K@@LXB  YB  D@@}d#typ@@v@@@C@u)core_type@@@Dr@@@E@@F@@GpC E GqC E j@@e)row_field@@@@@>@)row_field@@@?@@@@@@A@@BD k mD k @@f,object_field@@@@@9@,object_field@@@:@@@;@@<@@=E  E  @@g0type_declaration@@@@@4@0type_declaration@@@5@@@6@@7@@8F  F @@h.type_extension@@@@@/@.type_extension@@@0@@@1@@2@@3GG8@@i.type_exception@@@@@*@.type_exception@@@+@@@,@@-@@.H9;H9n@@ j)type_kind@@@@@%@)type_kind@@@&@@@'@@(@@)IoqIo@@%k-value_binding@@@@@ @-value_binding@@@!@@@"@@#@@$JJ@@=l1value_description@@6@@@@51value_description@@@2@@@@@@@0K1K @@Um/with_constraint@@N@@@@M/with_constraint@@@J@@@@@@@HL  IL B@@mn@@A@@@@@L^MMCD@@@@q@A@0default_iteratori@@@@XSYS=@@}o@@P,,Ast_iterator0 QS4^1 (Warnings0zdͦkUe$-Stdlib__Uchar0*Ujmyc6]]W+Stdlib__Seq05"g1<)b.Stdlib__Lexing01'jh,-k4,Stdlib__Lazy0C 4 "$p1tU.Stdlib__Format0{hXsHW#ȼ.Stdlib__Either0&]XF.Stdlib__Buffer0K ɦb+Z8)#KH"&Stdlib0yӶ~*)Parsetree0`ⰧkRE)Longident0,xeuK⠠(Location0SP=u;0CamlinternalLazy0Seĥ!}䠠8CamlinternalFormatBasics0cEXy< <,Ast_iterator*ocaml.text&_none_@@A J {!Ast_iterator.iterator} enables AST inspection using open recursion. A typical mapper would be based on {!Ast_iterator.default_iterator}, a trivial iterator, and will fall back on it for handling the syntax it does not modify. {b Warning:} this module is unstable and part of {{!Compiler_libs}compiler-libs}. 8parsing/ast_iterator.mliP77X@@@@@@0@@@@@@%arrayH8@@M@A@A@@@@@@8@@@$boolE8@@%false^@@B@$true_@@H@@@A@@@@@I@A@$charB8@@@A@@@@@M@A@#exnG8@@AA@@@@@Q@@@5extension_constructorP8@@@A@@@@@U@@@%floatD8@@@A@@@@@Y@@@*floatarrayQ8@@@A@@@@@]@@@#intA8@@@A@@@@@a@A@%int32L8@@@A@@@@@e@@@%int64M8@@@A@@@@@i@@@&lazy_tN8@@O@A@A@Y@@@@@r@@@$listI8@@P@A"[]a@@@"::b@@@Q@@@ @@A@Y@@@@@@@@)nativeintK8@@@A@@@@@@@@&optionJ8@@S@A$Nonec@@@$Somed@@@@@A@Y@@@@@@@@&stringO8@@@A@@@@@@@@$unitF8@@"()`@@@@@A@@@@@@A@ .Assert_failure\ p@@@@Jm@@@@@@V@@A͠=ocaml.warn_on_literal_patternѐ@@0Division_by_zeroY @@@Aנ  @+End_of_fileX !@@@Aߠ@'FailureU )@%@@A蠰@0Invalid_argumentT 2@.@@A񠰠$#@-Match_failureR ;@:67@@\@@A21@ )Not_foundV I@@@A: 9 @-Out_of_memoryS Q@@@ABA@.Stack_overflowZ Y@@@AJI@.Sys_blocked_io[ a@@@AR"Q"@)Sys_errorW i@e@@A([+Z+@:Undefined_recursive_module] r@qmn@@c@@A6i9h9@ %bytesC8@@@A@@@@@=@@@&Stdlib@A6ࠐ)Parsetree)ParsetreeAZBZ@@A0@??@@@@@@? @AFZ@@D@Z " {1 A generic Parsetree iterator} U\V\@@@@@@A((iteratorSA`^a^@@8@@)attributeT@@@@@ @9)attribute@@@ @@@ @@ @@ z_{_@@A*attributesU@@*@@@ @%V)attribute@@@ @@@ @@@ @@ @@ ``0@@B*binding_opV@@H@@@ @p*binding_op@@@  @@@ @@ @@ a13a1^@@C$caseW@@a@@@ @$case@@@ %@@@ @@ @@ ưb_ab_@@D%casesX@@z@@@ @u$case@@@ @@@ C@@@ @@ @@ ϰcc@@E1class_declarationY@@@@@ @1class_declaration@@@ \@@@ @@ @@ ְdd@@F1class_descriptionZ@@@@@ @1class_description@@@ u@@@ @@ @@ ݰee @@2G*class_expr[@@@@@ @*class_expr@@@ @@@ @@ @@ 3f!#4f!N@@KH+class_field\@@@@@ @ +class_field@@@ @@@ @@ @@ LgOQMgO~@@dI/class_signature]@@@@@ @$/class_signature@@@ @@@ @@ @@ ehfh@@}J/class_structure^@@@@@ @=/class_structure@@@ @@@ @@ @@ ~ii@@K*class_type_@@.@@@ @V*class_type@@@ @@@ @@ @@ jj@@L6class_type_declaration`@@G@@@ @o6class_type_declaration@@@  @@@ @@ @@ kkb@@M0class_type_fielda@@`@@@ @0class_type_field@@@ $@@@ @@ @@ lcelc@@N7constructor_declarationb@@y@@@ @7constructor_declaration@@@ =@@@ @@ @@ mm@@O$exprc@@@@@ @*expression@@@ V@@@ @@ @@ nn @@P)extensiond@@@@@ @)extension@@@ o@@@ !@@ "@@ #o  o  8@@,Q5extension_constructore@@@@@ &@5extension_constructor@@@ '@@@ (@@ )@@ *-p 9 ;.p 9 |@@ER3include_declarationf@@@@@ -@3include_declaration@@@ .@@@ /@@ 0@@ 1Fq } Gq } @@^S3include_descriptiong@@@@@ 4@3include_description@@@ 5@@@ 6@@ 7@@ 8_r  `r  @@wT1label_declarationh@@@@@ ;@71label_declaration@@@ <@@@ =@@ >@@ ?xs  ys  8@@U(location@@(@@@ B@(Location!t@@@3@@@4@@5@@6t 9 ;t 9 d@@V.module_binding@@D@@@9@l.module_binding@@@:@@@;@@<@@=u e gu e @@W2module_declaration@@]@@@@@2module_declaration@@@A!@@@B@@C@@Dv  v  @@X3module_substitution@@v@@@G@3module_substitution@@@H:@@@I@@J@@Kw  w  @@Y+module_expr@@@@@N@+module_expr@@@OS@@@P@@Q@@Rx  x  H@@Z+module_type@@@@@U@+module_type@@@Vl@@@W@@X@@Yy I Ky I x@@)[7module_type_declaration@@@@@\@7module_type_declaration@@@]@@@^@@_@@`*z y {+z y @@B\0open_declaration@@@@@c@0open_declaration@@@d@@@e@@f@@gC{  D{  @@[]0open_description@@@@@j@0open_description@@@k@@@l@@m@@n\|  ]|  4@@t^#pat@@ @@@q@4'pattern@@@r@@@s@@t@@uu} 5 7v} 5 X@@_'payload@@%@@@x@M'payload@@@y@@@z@@{@@|~ Y [~ Y @@`)signature@@>@@@@f)signature@@@@@@@@@@    @@a.signature_item@@W@@@@.signature_item@@@@@@@@@@@  @  @@b)structure@@p@@@@)structure@@@4@@@@@@@A  A  @@c.structure_item@@@@@@.structure_item@@@M@@@@@@@B  B  D@@ d#typ@@@@@@)core_type@@@f@@@@@@@ C E G C E j@@#e)row_field@@@@@@)row_field@@@@@@@@@@$D k m%D k @@E  @@Ug0type_declaration@@@@@@0type_declaration@@@@@@@@@@VF  WF @@nh.type_extension@@@@@@..type_extension@@@@@@@@@@oGpG8@@i.type_exception@@@@@@G.type_exception@@@@@@@@@@°H9;H9n@@j)type_kind@@8@@@@`)type_kind@@@@@@@@@@ɰIoqIo@@k-value_binding@@Q@@@@y-value_binding@@@@@@@@@@аJJ@@l1value_description@@j@@@@1value_description@@@.@@@@@@@װKK @@m/with_constraint@@@@@@/with_constraint@@@G@@@@@@@ްL  L B@@n@@A@@@@@^MCD@)ocaml.doc A [iterator] record implements one "method" per syntactic category, using an open recursion style: each method takes as its first argument the iterator to be applied to children in the syntax tree. NEEQ@@@@@@@@@@@_@@Ш@б@г(iterator__@@0@8@@@A@@@@@(%@@@A@@б@г_ _@@ @@г$unit(_)_@@@@ @@@@@C@ @@3` @@Ш@б@г(iterator>` ?`@@,@@б@г$listI`#J`'@гQ`R`"@@?@@@@ @@г $unit[`+\`/@@I@@J@@K"@@@C@ N@@Ǡǰfa1=@@Ш@б@гʠ(iteratorqa1?ra1G@@_@@б@гϠа{a1K|a1U@@i@@гҠ$unita1Ya1]@@r@@s @@t@@@C@ w@@נװb_e@@Ш@б@гڠ(iteratorb_gb_o@@@@б@гߠb_sb_w@@@@г⠐$unitb_{b_@@@@ @@@@@C@ @@c@@Ш@б@гꠐ(iteratorcc@@@@б@г$listcc@гcc@@İ@@@Ű @@г$unitcc@@ΰ@@ ϰ@@а"@@@C@ @@d@@Ш@б@г(iteratordd@@@@б@гdd@@ @@г$unit d d@@@@ @@@@!@C@ @@  e@@Ш@б@г(iteratore e@@ @@б@г)e*e@@@@г$unit2e3e@@ @@'! @@."@@1@C@ %@ @ =f!-@@Ш@б@г(iteratorHf!/If!7@@'6@@б@г$%Rf!;Sf!E@@+@@@г'$unit[f!I\f!M@@/I@@7J @@>K@@A@C@ N@0@,,fgO\@@Ш@б@г/(iteratorqgO^rgOf@@7_@@б@г45{gOj|gOu@@;i@@г7$unitgOygO}@@?r@@Gs @@Nt@@Q@C@ w@@@<<*h@@Ш@б@г?(iteratorhh@@G@@б@гDEhh@@K@@гG$unithh@@O@@W @@^@@a@C@ @P@LL:i@@Ш@б@гO(iteratorii@@W@@б@гTUii@@[@@гW$unitii@@_İ@@gŰ @@nư@@q@C@ @`@\\Jj@@Ш@б@г_(iteratorjj@@gڰ@@б@гdej j@@k@@гg$unitjj@@o@@w @@~@@@C@ @p@llZ k5@@Ш@б@гo(iteratork7k?@@w@@б@гtukC kY@@{ @@гw$unit(k])ka@@@@ @@@@@C@ @@||j3lcu@@Ш@б@г(iterator>lcw?lc@@,@@б@гHlcIlc@@6@@г$unitQlcRlc@@?@@@ @@A@@@C@ D@@z\m@@Ш@б@г(iteratorgmhm@@U@@б@гqmrm@@_@@г$unitzm{m@@h@@i @@j@@@C@ m@@n@@Ш@б@г(iteratornn@@~@@б@гnn @@@@г$unitn n @@@@ @@@@@C@ @@o  @@Ш@б@г(iteratoro  o  "@@@@б@гo  &o  /@@@@г$unito  3o  7@@@@ @@@@@C@ $@@p 9 P@@Ш@б@г(iteratorp 9 Rp 9 Z@@а@@б@гĠŰp 9 ^p 9 s@@ڰ@@гǠ$unitp 9 wp 9 {@@@@ @@@@@C@ +@@̠̰ q } @@Ш@б@гϠ(iterator q }  q } @@@@б@гԠհ q }  q } @@@@гנ$unit q }  q } @@ @@  @@@@@C@ 2@@ܠܰ )r  @@Ш@б@гߠ(iterator 4r   5r  @@"@@б@г䠐 >r   ?r  @@,@@г砐$unit Gr   Hr  @@5@@6 @@7@@@C@ 9:@@ Rs  @@Ш@б@г(iterator ]s   ^s  @@K@@б@г gs   hs  /@@U@@г$unit ps  3 qs  7@@^@@_ @@`@@@C@ @c@@ {t 9 C@@Ш@б@г(iterator t 9 E t 9 M@@t@@б@г(Location t 9 Q t 9 [@@ @@г$unit t 9 _ t 9 c@@@@ @@ @@#@C@7@@   u e u@@Ш@б@г(iterator u e w u e @@@@б@г u e  u e @@@@г$unit u e  u e @@@@& @@-@@0@C@>@@  v  @@Ш@б@г(iterator v   v  @@&Ȱ@@б@г#$ v   v  @@*Ұ@@г&$unit v   v  @@.۰@@6ܰ @@=ݰ@@@@C@E@/@++ w  @@Ш@б@г.(iterator w   w  @@6@@б@г34 w   w  @@:@@г6$unit w   w  @@>@@F @@M@@P@C@L @?@;;) !x  &@@Ш@б@г>(iterator ,x  ( -x  0@@F@@б@гCD 6x  4 7x  ?@@J$@@гF$unit ?x  C @x  G@@N-@@V. @@]/@@`@C@S2@O@KK9 Jy I V@@Ш@б@гN(iterator Uy I X Vy I `@@VC@@б@гST _y I d `y I o@@ZM@@гV$unit hy I s iy I w@@^V@@fW @@mX@@p@C@Z[@_@[[I sz y @@Ш@б@г^(iterator ~z y  z y @@fl@@б@гcd z y  z y @@jv@@гf$unit z y  z y @@n@@v @@}@@@C@a@o@kkY {  @@Ш@б@гn(iterator {   {  @@v@@б@гst {   {  @@z@@гv$unit {   {  @@~@@ @@@@@C@h@@{{i |  @@Ш@б@г~(iterator |   |  @@@@б@г |   |  +@@Ȱ@@г$unit |  / |  3@@Ѱ@@Ұ @@Ӱ@@@C@o@@y } 5 :@@Ш@б@г(iterator } 5 < } 5 D@@@@б@г } 5 H } 5 O@@@@г$unit } 5 S } 5 W@@@@ @@@@@C@v@@ ~ Y b@@Ш@б@г(iterator "~ Y d #~ Y l@@@@б@г ,~ Y p -~ Y w@@@@г$unit 5~ Y { 6~ Y @@#@@$ @@%@@@C@}(@@ @  @@Ш@б@г(iterator K   L  @@9@@б@г U   V  @@C@@г$unit ^   _  @@L@@M @@N@@@C@Q@@ i@  @@Ш@б@г(iterator t@   u@  @@b@@б@гàİ ~@   @  @@l@@гƠ$unit @   @  @@u@@v @@w@@@C@z@@ˠ˰ A  @@Ш@б@гΠ(iterator A   A  @@@@б@гӠ԰ A   A  @@@@г֠$unit A   A  @@@@ @@@@@C@@@۠۰ B  @@Ш@б@гޠ(iterator B  ! B  )@@@@б@г㠐 B  - B  ;@@@@г栐$unit B  ? B  C@@ǰ@@Ȱ @@ɰ@@@C@@@ C E J@@Ш@б@г(iterator C E L C E T@@ݰ@@б@г C E X C E a@@@@г$unit C E e C E i@@@@ @@ @@@C@@@ D k v@@Ш@б@г(iterator D k x D k @@@@б@г "D k  #D k @@ @@г$unit +D k  ,D k @@@@ @@@@ @C@@@   6E  @@Ш@б@г(iterator AE   BE  @@/@@б@г KE   LE  @@9@@г$unit TE   UE  @@B@@&C @@-D@@0@C@G@@  _F  @@Ш@б@г(iterator jF   kF  @@&X@@б@г#$ tF   uF  @@*b@@г&$unit }F   ~F @@.k@@6l @@=m@@@@C@p@/@++ G@@Ш@б@г.(iterator G G@@6@@б@г34 G! G/@@:@@г6$unit G3 G7@@>@@F @@M@@P@C@@?@;;) H9I@@Ш@б@г>(iterator H9K H9S@@F@@б@гCD H9W H9e@@J@@гF$unit H9i H9m@@N@@V @@]@@`@C@@O@KK9 Ioz@@Ш@б@гN(iterator Io| Io@@VӰ@@б@гST Io Io@@Zݰ@@гV$unit Io Io@@^@@f @@m@@p@C@@_@[[I J@@Ш@б@г^(iterator J J@@f@@б@гcd J J@@j@@гf$unit !J "J@@n@@v @@}@@@C@@o@kkY ,K@@Ш@б@гn(iterator 7K 8K@@v%@@б@гst AK BK@@z/@@гv$unit JK KK @@~8@@9 @@:@@@C@=@@{{i UL @@Ш@б@г~(iterator `L  aL &@@N@@б@г jL * kL 9@@X@@г$unit sL = tL A@@a@@b @@c@@@C@f@@@A@@ 7@0default_iterator S# S3@г ,(iterator S5 S=@@ @@@]0        @ O 7 1@A@@@ S @ F A default iterator, which implements a "do not do anything" mapping.  T>> T>@@@@@@@ o@@@ L FA@+@@0        @-@A@ H************************************************************************ A@@ A@L@ H  BMM BM@ H OCaml  C C@ H  D D3@ H Nicolas Ojeda Bar, LexiFi  E44 E4@ H  F F@ H Copyright 2012 Institut National de Recherche en Informatique et  G G@ H en Automatique.  H Hg@ H  Ihh Ih@ H All rights reserved. This file is distributed under the terms of  J J@ H the GNU Lesser General Public License version 2.1, with the  K KN@ H special exception on linking described in the file LICENSE.  LOO LO@ H  M M@ H************************************************************************ N N5@ K* {!Ast_iterator.iterator} enables AST inspection using open recursion. A typical mapper would be based on {!Ast_iterator.default_iterator}, a trivial iterator, and will fall back on it for handling the syntax it does not modify. {b Warning:} this module is unstable and part of {{!Compiler_libs}compiler-libs}.  #* {1 A generic Parsetree iterator}  * A [iterator] record implements one "method" per syntactic category, using an open recursion style: each method takes as its first argument the iterator to be applied to children in the syntax tree.  G* A default iterator, which implements a "do not do anything" mapping. k@-./boot/ocamlc"-g)-nostdlib"-I$boot*-use-prims2runtime/primitives0-strict-sequence*-principal(-absname"-w>+a-4-9-40-41-42-44-45-48-66-70+-warn-error"+a*-bin-annot,-safe-string/-strict-formats"-I%utils"-I'parsing"-I&typing"-I(bytecomp"-I,file_formats"-I&lambda"-I*middle_end"-I2middle_end/closure"-I2middle_end/flambda"-I=middle_end/flambda/base_types"-I'asmcomp"-I&driver"-I(toplevel"-c89 3/home/barsac/ci/builds/workspace/step-by-step-build - @0O#v olUv0JIIJJJJJ@H@@e0 QS4^1 (Asttypes0'$O~78CamlinternalFormatBasics0cEXy