this repo has no description
at main 103 lines 3.8 kB view raw
1(* 2 * Copyright (c) 2014 Leo White <lpw25@cl.cam.ac.uk> 3 * 4 * Permission to use, copy, modify, and distribute this software for any 5 * purpose with or without fee is hereby granted, provided that the above 6 * copyright notice and this permission notice appear in all copies. 7 * 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 *) 16 17 18 19module Paths = Odoc_model.Paths 20 21 22type env = { 23 ident_env : Ident_env.t; (** Environment *) 24 warnings_tag : string option (** Used to suppress warnings *) 25} 26 27val read_interface : 28 Odoc_model.Paths.Identifier.ContainerPage.t option -> 29 string -> 30 warnings_tag:string option -> 31 Odoc_model.Compat.signature -> 32 Paths.Identifier.RootModule.t * Odoc_model.Lang.Signature.t 33 34#if OCAML_VERSION < (4,3,0) 35val read_label : Asttypes.label -> Odoc_model.Lang.TypeExpr.label option 36#elif defined OXCAML 37val read_label : Types.arg_label -> Odoc_model.Lang.TypeExpr.label option 38#else 39val read_label : Asttypes.arg_label -> Odoc_model.Lang.TypeExpr.label option 40#endif 41 42val mark_type_expr : Types.type_expr -> unit 43 44val read_type_expr : env -> 45 Types.type_expr -> Odoc_model.Lang.TypeExpr.t 46 47val mark_type_extension : Types.type_expr list -> 48 Types.extension_constructor list -> 49 Types.type_expr list 50 51val read_type_parameter : bool -> Types.Variance.t -> 52 Types.type_expr -> Odoc_model.Lang.TypeDecl.param 53 54val mark_class_declaration : Types.class_declaration -> unit 55 56val read_self_type : Types.type_expr -> Odoc_model.Lang.TypeExpr.t option 57 58val read_type_constraints : env -> Types.type_expr list -> 59 (Odoc_model.Lang.TypeExpr.t 60 * Odoc_model.Lang.TypeExpr.t) list 61 62val read_class_constraints : 63 env -> 64 Types.type_expr list -> 65 Odoc_model.Lang.ClassSignature.item list 66 67val read_class_signature : env -> 68 Paths.Identifier.ClassSignature.t -> 69 Types.type_expr list -> Types.class_type -> 70 Odoc_model.Lang.ClassType.expr 71 72val read_class_type : env -> 73 Paths.Identifier.ClassSignature.t -> 74 Types.type_expr list -> Types.class_type -> 75 Odoc_model.Lang.Class.decl 76 77val read_module_type : env -> 78 Paths.Identifier.Signature.t -> 79 Odoc_model.Compat.module_type -> Odoc_model.Lang.ModuleType.expr 80 81val read_signature_noenv : env -> 82 Paths.Identifier.Signature.t -> 83 Odoc_model.Compat.signature -> 84 (Odoc_model.Lang.Signature.t * Odoc_model.Lang.Include.shadowed) 85 86val read_signature : env -> 87 Paths.Identifier.Signature.t -> 88 Odoc_model.Compat.signature -> Odoc_model.Lang.Signature.t 89 90 91#if defined OXCAML 92val extract_arg_modes : Mode.Alloc.lr -> string list 93val extract_modalities : Mode.Modality.t -> string list 94#endif 95 96val read_extension_constructor : env -> 97 Paths.Identifier.Signature.t -> 98 Ident.t -> Types.extension_constructor -> 99 Odoc_model.Lang.Extension.Constructor.t 100 101val read_exception : env -> 102 Paths.Identifier.Signature.t -> Ident.t -> 103 Types.extension_constructor -> Odoc_model.Lang.Exception.t