Caml1999I031*Odoc_valueӠ$NameEA)Odoc_name@-odoc_value.mlRR@@@@'t_valueF8@@(val_name @!t@@@XX@@#C(val_info3A&optionJ*Odoc_types$info@@@@@@,Y-Y/@@:D(val_type@%Types)type_expr@@@߰,W:(%Shape0-#\wz5)Primitive0.>}7Fmd*ՠ$Path0"nA_8K 1)Parsetree03p雲Ҳ$+Outcometree0xHU ͧTƠ*Odoc_types0qТ4c.Odoc_parameter0OTQ͓5ų#à)Odoc_name07k纤᮵o?)Odoc_misc0+[۶r0J)Longident0{C 3C(Location0>gc 7پI{YG,Identifiable0g+AbڀO"q,%Ident0T;~-1ѡ0CamlinternalLazy0G -Ϥ;I8CamlinternalFormatBasics0cEXycBO@@Ш@гF't_valuecBRcBY@@N0@]8@@@A@@@@@%"@@@@@@U@E@ @QN@@; e@@Ш@гC$boolee@@K@@N@E@ @J@FFAf@@Ш@гI$bool'f(f@@Q(@@T@E@ +@P@@A@LI@LK@0*))*****@+@@A((t_methodD7j!8j)@@8@@)met_value@@@@ Dk.2Ek.G@^ V a method has almost all the same information as a value Qk.HRly@@@@@@@iO+met_private@.@@@ ]m^m@@uP+met_virtual@:@@@ injn@@Q@@A@@@@@mjno@ # Representation of a class method. zi{i@@@@@@@@@N@CC>k.;@@Ш@гF't_valuek.>k.E@@N0@]8@@@A@@@@@%"@@@@@@U@F@ @QN@@;m@@Ш@гC$boolmm@@K@@N@F@ @J@FFAn@@Ш@гI$boolnn@@Q(@@T@F@ +@P@@A@LI@LK@0@+@@̐+ Functions qq@@@@@@0@<@@@ࠠuLL~  -@@@@@@$nameuLo uLs@@@;0@ H@@;S@@@@ఐ)!v1vv~2vv@@@W010011111@P@@MT@@@(val_infop,)i_authors# Y@@@@@@@A@AU  U  @@Mq,)i_version2 h@@@@@@@B,@AV   V  @@\r,&i_seesA>g#see@@@@@@@C<@A/W0W0@@ls,'i_sinceQ?@@@@@@@DK@A>XPT?XPl@@{t,(i_before`]@@@ˠ@@@@@@@@@Ea@ATYUY@@u,,i_deprecatedvd@@@@@@@Fo@AbZcZ @@v,3i_raised_exceptions0raised_exception@@@@@@@H@Ar\s\@@x,.i_return_value@@@@@@@I@A]]@@y,(i_custom@@@נ@@@@@@@@@J@A^48^4Y@@z@A[CG[C]@@w@@@@@@H@H@H@4@@%@@5@@z@@ภ$Some{{@kఐP!t{{@P@Q@V@@0@M[@@@@@@  E@@@F@ @ @@V@Ġ)Not_found }   }  @8)Not_found#exnG@@@@@@&Stdlib A@A&_none_@@A@@I@@@@q@@I@u@@ภ$None)~  )@@@@>E@E@E@@@2y@@E@ /@@A6vvx#@@FE@ @@A&A@WE@ 098899999@@@@@A2*A@@c]@@0=<<=====@1@@@Y Y Returns the text associated to the given parameter name in the given value, or None. LsMt)K@@@@@@@<@<;@@ࠠ@@H@-74@@H@,@@H@+@H@*@H@)$@@ఐà!v;C  <C  @@@1@@?C  @C  @@@Z@@G@BSP@@G@A@@G@@@G@?@@@ఐ!pWC  @I@@L@@@@F@ O@@AA@@@@J0\[[\\\\\@@@@@@డ4$List$iterlE  mE  @@@!a@ @@@Z@@Y@@@@X@@@W@@V@@U@EEEo@@S@@@@@@E@mE@P@@E@R@E@Q@ @@E@O4@@E@N@E@M@E@L0@@@Y@@@@ఐ!fE  E  @@@@@@F@g@@F@f@F@e@@ఐL!vE  E  @@@f(@.val_parametersE  H@ I@@TF@@F@^F@oF@l6@@jR@@n7@S@@qE@1@@A^VA@@{v@@t0@]@@@ K Update the parameters text of a t_value, according to the val_info field. @ / /@ / @@@@@@@h@hg@}@ࠠ:parameter_list_from_arrowsI  I  @@@@%Types)type_expr@@@mE@v(Asttypes)arg_label@@@k@@@l@@j@@@iE@w@@xE@u0@@@6W@@@@#typ+I  ,I  @@@10+**+++++@=2I  3]  @@@@@Aࠠ$iter>J  ?J  @@@@F@@@F@}AD@@@$F@![@@@%F@"@@#F@@@@F@~@F@0[ZZ[[[[[@1=d@4@w\@@@@!tlJ  mJ  @@@,0lkklllll@7@3.@@G@|@6@]@@@@డ(get_desc%TypesK  K  @@@@@ T)type_desc@@@ S@@ R@0typing/types.mli! ! ! !0@@h@@@@@G@@@G@@G@0@2>`@5@^@@@@ఐF!tK  K  @@@n@@-@@%@@@@Ġ%Types&TarrowL  L  !@8&Tarrow8@@@ 3@@@@ @@@ @@@ *commutable@@@ @DAAL@AIE  JE  @@@Iࠠ!lL  #L  $@@@@@@0@L@@@ࠠ"t1L  &L  (@@@@@@@ࠠ"t2 L  * L  ,@@@@@@@@ L  . L  /@@7@@I@#@@@O L  0@@@@I@(@@(@@ภ":: M 4 D M 4 F@8@@R@B@AA@A -@@ఐF!l ,M 4 = -M 4 >@F@G@ E_@@0 . - - . . . . .@SE?@@@ L`:4@5@ Na@@@ఐM"t1 AM 4 @ BM 4 B@@@@@ EM 4 < FM 4 C@@F@&@ఐ$iter SM 4 H TM 4 L@@@@@G@('@@ఐa"t2 bM 4 M cM 4 O@-@@"H@,6@@ hM 4 G iM 4 P@@"9@@&@@#F@<@Ġ%Types%Tlink {N Q W |N Q b@8%Tlink@@@@ $@AFAL@All@@@Oࠠ$texp N Q c N Q g@@@@@@I@@@@@@ @@J@@@@Ġ%Types%Tpoly O h n O h y@8%Tpoly@@@@ +$listI@@@ -@@@ ,@BJAL@A'(@@@S5$texp O h { O h @@@2&@@ O h  O h @@@@J@@@J@2@@@. O h @@G@@J@7@@7@@]@@K@@I@;@@ఐ$iter O h  O h @u@@@@G@10        @J`Z@[@ b@@@@ఐh$texp O h  O h @@@H@5@@@@F@ F@/@Ġ%Types$Tvar P   P  @8$Tvar[@&optionJ&stringO@@@ @@@ @A@AL@AA L NA L e@@@/H@ 6P   7P  @@@@Q@@@Q@@@@$ @@@@Q@@@@Ġ%Types&Ttuple MQ   NQ  @8&Ttuple@W@@@ @@@ @ABAL@AL  L  @@@[J@ bQ   cQ  @@h@@Q@@@Q@@@@ @@@@Q@@@@@T @@@@P@@Ġ%Types'Tconstr }R   ~R  @8'Tconstr@$Path!t@@@ ݠ@@@ @@@ &Stdlib#ref+abbrev_memo@@@ @@@ @CCAL@AO ' )O ' _@@@K@ R   R  @@*@@P@@@@&@@P@@@P@@@@&!@@P@@@P@!@@@E@@5@@P@%@@%@@@@9@@O@)@Ġ%Types'Tobject S   S  @8'Tobject@@@@ H#reff!t@@@ A@@@ @@@ @@ @@@ @@@ @BDAL@AhS  iS 2@@@L@ S   S  @@@@O@f@@@,*)@@O@ڠ&@@O@@@O@@O@@@O@@@O@~@@@L@@@@O@@@@@!@@@@N@@Ġ%Types&Tfield 0T   1T  @8&Tfieldo@@@@ ;*field_kind@@@ !A@@@ "E@@@ #@DEAL@Aff@@@HM@ OT   PT  @@@@N@@@@@@N@@@ @\@@N@@@@a@@N@@@@4@@@@N@@@@@L@@@@M@@Ġ%Types$Tnil uU   vU  @8$Tnil@@@@AL@Aifhifn@@@zN@@  @@@@M@@@@@g @@@@L@@Ġ%Types'Tunivar V   V  @8'Tunivar@tr@@@ *@@@ )@AIAL@A {{2@@@R@ V   V  @@@@L@@@L@@@@  @@#@@L@@@@@ @@'@@K@@Ġ%Types(Tpackage W ! ' W ! 5@8(Tpackage@D!t@@@ .)Longident!t@@@ 1@@@ 2@@ 0@@@ /@BKAL@APKMQK@@@T@ W ! 6 W ! 7@@%@@K@N@@@#"@@K@@@K@@K@@@K@^@@@>@@r@@K@b@@b@@@@v@@J@f@Ġ%Types(Tvariant X 8 > X 8 L@8(TvariantO@(row_desc@@@ (@AHAL@Axx@@@Q@ "X 8 M #X 8 N@@@@J@@@@@@@@J@ @@@@ @@@@I@ @@ภ"[] 5Y R Z 6Y R \@8 @@@@AA@A E@@ @@@F@:F@7@Ġ%Types&Tsubst JZ ] c KZ ] o@8&Tsubst@P@@@ %2X@@@ '@@@ &@BGAL@Aoo@@@\P@ cZ ] p dZ ] q@@f@@I@@@@n@@I@@@I@@@@(@@@@I@@@@@ภ%false }[ u  ~[ u @8 L V@@@N@@@@B@@A @@ O@ @@@@G@@@ [ u } @@CF@<@@A K  @@GF@0        @@@@@A'A@@RM@@X0        @&@@@@ J  @@ఐc$iter ]   ]  @2@@@@@E@`@@E@^@@E@_@E@]@@E@\@E@[H@@ఐ#typ ]  @b@@T@@#@@U@.@@E@{i@@AA@@@@q0        @@@@ 㐠 Create a list of (parameter name, typ) from a type, according to the arrows. [parameter_list_from_arrows t = [ a ; b ]] if t = a -> b -> c. G " " H s @@@@@@@@@@ࠠ4dummy_parameter_list  d   d @@@@@@@E@s)`@@@E@@@@E@t@@uE@r0        @ @@ [@@@@#typ  d  d @@@"0        @. d   ~@@@@@@ࠠ+normal_name  e e)@@@@(Asttypes)arg_label@@@v&stringO@@@u@@tF@y0 / . . / / / / /@&2J@)@ Kd@@@డ)Odoc_misc*label_name)Odoc_misc Be, Ce@@@#@@@s@@@r@@q@-odoc_misc.mlizjjzj@@)Odoc_misc\@@2"@@ Ue@@@ࠠ+liste_param* `fDJ afDU@@@\[@@@p@@@@@@@@F@w0 p o o p p p p p@B\V@W@ e@@@ఐ:parameter_list_from_arrows fDX fDr@@@@@@F@~~@@F@|@@F@}@F@{@@F@z@F@y#@@ఐ#typ fDs fDv@n@@0@@$@@?1@@ fDF@@Aࠠ$iter+ gz gz@@@@@@@F@%Types)type_expr@@@F@@@F@4@@@ F@@F@0        @]uo@p@ f@@@@%param>ࠠ%label, gz gz@@@+0        @;@7"@@G@@:@g@@@ࠠ!t- gz gz@@@7@@ gz gz@@C>@H@@@డ i(get_desc%Types h h@@@@@@G@@@G@@G@0@4<a@7@1h,]@'@3i@@@@ఐ4!t(h)h@@@k@@ @@@@@@Ġ%Types&Ttuple;i<i@ࠠ!l.DiEi@@@K@@@@@@0KJJKKKKK@7@@@@@ @@@@I@@@@@Р(Asttypes(Asttypes_j`j@@ 0`__`````@M%@ @|j@@@@A0dccddddd@@@jj @@డ @!=vkwk@@!a@@$boolE@@@$@@#@@"&%equalBA @@@@*stdlib.mliyy@@xQ@@@F@F@RF@SF@F@@ @@G@@G@@G@<@@ఐˠ%labelkk@@@I@@ภ'Nolabelkk@8'Nolabel(Asttypes)arg_label@@@@@@@AB@A4parsing/asttypes.mlirr"@@@ _@@@7H@g@@"@@@@G@H@n@ภ.Odoc_parameter%Tuplel l )@8%TupleI@@@ @$listIS@@@ @@@ .)type_expr@@@ @BA@B@A__B@@@^Gడ $List#mapm*7 m*?@@@!a@ !b@ @@g@ P@@@f,@@@e@@d@@c@ J K@@ IU@@@@wF@F@[F@\F@ F@Fະ,'sn_name@@@  @@@ @@ ,'sn_type )@@@ @A@AWW@@ UC,'sn_text   @@@ @@@ AB@A X XA@@ cD@A V V@@ gB.Odoc_parameter'sn_name q q @ఐ+normal_nameq q@@@@@@H@K@@H@J@H@I@@ఐI%label+q,q@@@t@@@@ a@@H@GH@UI@Q@N.Odoc_parameter'sn_type>r!/?r!E@ఐS!tGr!HHr!I@-@@@Y.Odoc_parameter'sn_textRsLZSsLp@ภ$NoneZsLs[sLw@ @@@ k@@H@e@@H@dH@k@@@gqhsLy@@@@G@AG@n@@@@G@@@rk @@@tj @@F@0tssttttt@@@@Ġ%Types%Tlinktztz@ ࠠ"t2/tztz@@@@@@|@@@@@@@I@@@@@ఐ$iteruu@@@@@G@q0@@@l@@@@ఐԠ%labeluu@@@@ఐ4"t2uu@@@H@x!@@uu@@F@y&@@uu@@F@o+@Ġ%Types&Tsubstvv@@vv@@@@I@@@@@@I@@@I@@@@@@c@@I@@@@@ภ~ww@}@@@}@@G@@w@@8F@{@@ x x@@@@I@@@@@ภ.Odoc_parameter+Simple_nameyy@Kະ>.Odoc_parameter'sn_name%z&z*@ఐ+normal_name0z-1z8@@@@@@H@ @@H@@H@$@@ఐc%labelEz9Fz>@-@@1@@@@ {@@H@H@I@9@h.Odoc_parameter'sn_typeX{ANY{Ad@ఐm!ta{Agb{Ah@G@@M@s.Odoc_parameter'sn_textl|kwm|k@ภ$Nonet|ku|k@ @@@ @@H@@@H@H@i@@@z|k@@@@G@G@q@@r@@F@F@v@@Ah @@F@0@z@@@@AA@@@@0@@@@@gz|@@డl$List#map~~@@@@@@@E@@@E@@E@E@@E@@@@E@ˠ@@E@@E@@E@@@ఐ$iter~~@@@@@@F@@@F@@F@ B@@F@@F@@@ఐ+liste_param~@@@ԠE@@F@F@F@ @@N@@ @\@@$@O@@@@@E@x@@AA@@ @@0@@@@ X Create a list of parameters with dummy names "??" from a type list. Used when we want to merge the parameters of a value, from the .ml and the .mli file. In the .mli file we don't have parameter names so there is nothing to merge. With this dummy list we can merge the parameter names from the .ml and the type from the .mli file. _  c  @@@@@@@@@ @ࠠ+is_function?@@@@>@@@PE@@@@LE@@@E@0"!!"""""@*GA@B@>c@@@@!vA34@@@032233333@':;@@@@@Aࠠ!fBF!G"@@@@ N@@@F@@@@)F@@F@0RQQRRRRR@ ,=@#@nn@@@@!tCc#d$@@@0cbbccccc@&@"@@G@@%@o@@@@డ(get_desc%Types|'1}'?@ @@@ @@G@ @@G@@G@0@".?@%@p@@@@ఐ6!t'@'A@@@M@@@@ @@@ @Ġ%Types&TarrowGMGY@ @GZG[@@ @@I@0@+@@@@ @ @@I@@@@ @@I@ @@@ @@I@@@@@@ 6@@I@@@@@ภ$true_g_k@8O@@@AB@@A@@@@@F@'!@Ġ%Types%Tlinklrl}@ dࠠ!tDl~l@@@ @@@!g@@@@@ b@@I@"k@@k@@ఐ!f@@@@@G@-0@z@@q@@@@ఐ&!t@@@H@1@@@@F@+@@@@ @@I@$@@@@ภ%&@@@@F@5F@3@@A-'+@@F@~@@A A@@@@A00//00000@@@@@5@@ఐ!f?@@ٰ@@@ E@@E@F@@E@E@E@D@@ఐ'!vVW@@@>@(val_type]#@ $@@ d@@F@MF@QF@O@@(,@@E@3-@@HE@@@A80A@@RM@@T0jiijjjjj@7@@@ D Return true if the value is a function, i.e. has a functional type.yz@@@@@@@B@BA@W@DA2@1@@A@A@RLA@ @ 3 j@ @f@y@z@m@@0@m@@@ H************************************************************************A@@A@L@ H BMMBM@ H OCaml CC@ H DD3@ H Maxence Guesdon, projet Cristal, INRIA Rocquencourt E44E4@ H FF@ H Copyright 2001 Institut National de Recherche en Informatique et GG@ H en Automatique. HHg@ H IhhIh@ H All rights reserved. This file is distributed under the terms of JJ@ H the GNU Lesser General Public License version 2.1, with the KKN@ H special exception on linking described in the file LICENSE. LOOLO@ H MM@ H************************************************************************NN5@ Q* Representation and manipulation of values, class attributes and class methods. 렠(* Types =* Representation of a value.  '* Representation of a class attribute.  [* an attribute has almost all the same information as a value 2 $* Representation of a class method.  W* a method has almost all the same information as a value ,* Functions 9 Z* Returns the text associated to the given parameter name in the given value, or None.  L* Update the parameters text of a t_value, according to the val_info field.   * Create a list of (parameter name, typ) from a type, according to the arrows. [parameter_list_from_arrows t = [ a ; b ]] if t = a -> b -> c.3 Y* Create a list of parameters with dummy names "??" from a type list. Used when we want to merge the parameters of a value, from the .ml and the .mli file. In the .mli file we don't have parameter names so there is nothing to merge. With this dummy list we can merge the parameter names from the .ml and the type from the .mli file.  @ if there is a label, then we don't want to decompose the tuple or|or@ E* Return true if the value is a function, i.e. has a functional type.@)../ocamlc)-nostdlib"-I)../stdlib"-I(../utils"-I*../parsing"-I)../typing"-I)../driver"-I+../bytecomp"-I+../toplevel"-I)../stdlib"-I/../compilerlibs"-I0../otherlibs/str"-I4../otherlibs/dynlink"-I;../otherlibs/dynlink/native"-I1../otherlibs/unix(-absname"-w8+a-4-9-41-42-44-45-48-70+-warn-error"+A,-safe-string0-strict-sequence/-strict-formats*-bin-annot*-principal"-c;< 3/home/barsac/ci/builds/workspace/bootstrap/ocamldoc )('&%$#"! @0X(Zb ԕF;0LKKLLLLL@J@@(Asttypes0{EX P8CamlinternalFormatBasics0cEXygc 7پI{YG)Longident0{C 3C50+[۶r0J107k纤᮵o?0OTQ͓5ų#à\0qТ4c0](L8.ђH+Outcometree0xHU ͧTƠ)Parsetree03p雲Ҳ$$Path0"nA_8K 1)Primitive0.>}7Fmd*ՠ%Shape0-#\wz5&Stdlib0>,W:(.Stdlib__Buffer0'ON͋[h#ڗA.Stdlib__Either0 }rCT0J){9).Stdlib__Format0=z+.m׸/Stdlib__Hashtbl0!z9ϸ@`VǠ,Stdlib__Lazy0'rruSZY.Stdlib__Lexing0zsc\ZoQ,Stdlib__List0E &xa+Stdlib__Map0ҭfȨ؜ׇ0+Stdlib__Seq0yt\eǟ&Q,}+Stdlib__Set0PSVl8 ;.Stdlib__String0L%BWx:6-Stdlib__Uchar0 |K?bޣ ˠ.Type_immediacy0Xp '0AF3Ai4(Warnings0Ӷ.5S6V@0](L8.ђHAI@x@ @@@@@@ @!@@@@@@l@@@P@BÕ@A)@@@@@@A @@@BCmA'@@A@@AA(@@@ @@AR@@@BCD