Up

module DocOckTypes

: sig

Type of documentation

Documentation

#
module Documentation : sig
#
type style =
# | Bold
# | Italic
# | Emphasize
# | Center
# | Left
# | Right
# | Superscript
# | Subscript
# | Custom of string
#
type 'a reference =
# | Module of 'a DocOckPaths.Reference.module_
# | ModuleType of 'a DocOckPaths.Reference.module_type
# | Type of 'a DocOckPaths.Reference.type_
# | Constructor of 'a DocOckPaths.Reference.constructor
# | Field of 'a DocOckPaths.Reference.field
# | Extension of 'a DocOckPaths.Reference.extension
# | Exception of 'a DocOckPaths.Reference.exception_
# | Value of 'a DocOckPaths.Reference.value
# | Class of 'a DocOckPaths.Reference.class_
# | ClassType of 'a DocOckPaths.Reference.class_type
# | Method of 'a DocOckPaths.Reference.method_
# | InstanceVariable of 'a DocOckPaths.Reference.instance_variable
# | Element of 'a DocOckPaths.Reference.any
# | Section of 'a DocOckPaths.Reference.label
# | Custom of string * string
#
type 'a special =
# | Modules of 'a DocOckPaths.Reference.module_ list
# | Index
#
type see =
# | Url of string
# | File of string
# | Doc of string
#
type 'a text = 'a text_element list
#
type 'a text_element =
# | Raw of string
# | Code of string
# | PreCode of string
# | Verbatim of string
# | Style of style * 'a text
# | List of 'a text list
# | Enum of 'a text list
# | Newline
# | Title of int * 'a DocOckPaths.Identifier.label option * 'a text
# | Reference of 'a reference * 'a text option
# | Target of string option * string
# | Special of 'a special
#
type 'a tag =
# | Author of string
# | Version of string
# | See of see * 'a text
# | Since of string
# | Before of string * 'a text
# | Deprecated of 'a text
# | Param of string * 'a text
# | Raise of string * 'a text
# | Return of 'a text
# | Tag of string * 'a text
#
type 'a t = {
# text
: 'a text;
# tags
: 'a tag list;
}
#
type 'a comment =
# | Documentation of 'a t
# | Stop
end

Modules

#
module Module : sig
#
type 'a decl =
# | Alias of 'a DocOckPaths.Path.module_
# | ModuleType of 'a ModuleType.expr
#
type 'a t = {
# id
: 'a DocOckPaths.Identifier.module_;
# doc
: 'a Documentation.t;
# type_
: 'a decl;
}
#
module Equation : sig
#
type 'a t = 'a decl
end
end

Modules Types

#
module ModuleType : sig
#
type 'a substitution =
# | ModuleEq of 'a DocOckPaths.Fragment.module_ * 'a Module.Equation.t
# | TypeEq of 'a DocOckPaths.Fragment.type_ * 'a TypeDecl.Equation.t
# | ModuleSubst of 'a DocOckPaths.Fragment.module_ * 'a DocOckPaths.Path.module_
# | TypeSubst of 'a DocOckPaths.Fragment.type_ * string list * 'a DocOckPaths.Path.type_
#
type 'a expr =
# | Path of 'a DocOckPaths.Path.module_type
# | Signature of 'a Signature.t
# | Functor of ('a DocOckPaths.Identifier.module_ * 'a expr) option * 'a expr
# | With of 'a expr * 'a substitution list
# | TypeOf of 'a Module.decl
#
type 'a t = {
# id
: 'a DocOckPaths.Identifier.module_type;
# doc
: 'a Documentation.t;
# expr
: 'a expr option;
}
end

Signatures

#
module Signature : sig
#
type 'a item =
# | Module of 'a Module.t
# | ModuleType of 'a ModuleType.t
# | Type of 'a TypeDecl.t
# | TypExt of 'a Extension.t
# | Exception of 'a Exception.t
# | Value of 'a Value.t
# | External of 'a External.t
# | Class of 'a Class.t
# | ClassType of 'a ClassType.t
# | Include of 'a ModuleType.expr
# | Comment of 'a Documentation.comment
#
type 'a t = 'a item list
end

Type Declarations

#
module TypeDecl : sig
#
module Constructor : sig
#
type 'a t = {
# id
: 'a DocOckPaths.Identifier.constructor;
# doc
: 'a Documentation.t;
# args
: 'a TypeExpr.t list;
# res
: 'a TypeExpr.t option;
}
end
#
module Field : sig
#
type 'a t = {
# id
: 'a DocOckPaths.Identifier.field;
# doc
: 'a Documentation.t;
# mutable_
: bool;
# type_
: 'a TypeExpr.t;
}
end
#
module Representation : sig
#
type 'a t =
# | Variant of 'a Constructor.t list
# | Record of 'a Field.t list
# | Extensible
end
#
type variance =
# | Pos
# | Neg
#
type param_desc =
# | Any
# | Var of string
#
type param = param_desc * variance option
#
module Equation : sig
#
type 'a t = {
# params
: param list;
# private_
: bool;
# manifest
: 'a TypeExpr.t option;
# constraints
: ('a TypeExpr.t * 'a TypeExpr.t) list;
}
end
#
type 'a t = {
# id
: 'a DocOckPaths.Identifier.type_;
# doc
: 'a Documentation.t;
# equation
: 'a Equation.t;
# representation
: 'a Representation.t option;
}
end

Type extensions

#
module Extension : sig
#
module Constructor : sig
#
type 'a t = {
# id
: 'a DocOckPaths.Identifier.extension;
# doc
: 'a Documentation.t;
# args
: 'a TypeExpr.t list;
# res
: 'a TypeExpr.t option;
}
end
#
type 'a t = {
# type_path
: 'a DocOckPaths.Path.type_;
# doc
: 'a Documentation.t;
# type_params
: TypeDecl.param list;
# private_
: bool;
# constructors
: 'a Constructor.t list;
}
end
#
module Exception : sig

Exception

#
type 'a t = {
# id
: 'a DocOckPaths.Identifier.exception_;
# doc
: 'a Documentation.t;
# args
: 'a TypeExpr.t list;
# res
: 'a TypeExpr.t option;
}
end

Values

#
module Value : sig
#
type 'a t = {
# id
: 'a DocOckPaths.Identifier.value;
# doc
: 'a Documentation.t;
# type_
: 'a TypeExpr.t;
}
end

External values

#
module External : sig
#
type 'a t = {
# id
: 'a DocOckPaths.Identifier.value;
# doc
: 'a Documentation.t;
# type_
: 'a TypeExpr.t;
# primitives
: string list;
}
end

Classes

#
module Class : sig
#
type 'a decl =
# | ClassType of 'a ClassType.expr
# | Arrow of TypeExpr.label option * 'a TypeExpr.t * 'a decl
#
type 'a t = {
# id
: 'a DocOckPaths.Identifier.class_;
# doc
: 'a Documentation.t;
# virtual_
: bool;
# params
: TypeDecl.param list;
# type_
: 'a decl;
}
end

Class Types

#
module ClassType : sig
#
type 'a expr =
# | Constr of 'a DocOckPaths.Path.class_type * 'a TypeExpr.t list
# | Signature of 'a ClassSignature.t
#
type 'a t = {
# id
: 'a DocOckPaths.Identifier.class_type;
# doc
: 'a Documentation.t;
# virtual_
: bool;
# params
: TypeDecl.param list;
# expr
: 'a expr;
}
end
#
module ClassSignature : sig
#
type 'a item =
# | Method of 'a Method.t
# | InstanceVariable of 'a InstanceVariable.t
# | Constraint of 'a TypeExpr.t * 'a TypeExpr.t
# | Inherit of 'a ClassType.expr
# | Comment of 'a Documentation.comment
#
type 'a t = {
# self
: 'a TypeExpr.t option;
# items
: 'a item list;
}
end

Methods

#
module Method : sig
#
type 'a t = {
# id
: 'a DocOckPaths.Identifier.method_;
# doc
: 'a Documentation.t;
# private_
: bool;
# virtual_
: bool;
# type_
: 'a TypeExpr.t;
}
end

Instance variables

#
module InstanceVariable : sig
#
type 'a t = {
# id
: 'a DocOckPaths.Identifier.instance_variable;
# doc
: 'a Documentation.t;
# mutable_
: bool;
# virtual_
: bool;
# type_
: 'a TypeExpr.t;
}
end

Type expressions

#
module TypeExpr : sig
#
module Variant : sig
#
type kind =
# | Fixed
# | Closed of string list
# | Open
#
type 'a element =
# | Type of 'a TypeExpr.t
# | Constructor of string * bool * 'a TypeExpr.t list
#
type 'a t = {
# kind
: kind;
# elements
: 'a element list;
}
end
#
module Object : sig
#
type 'a method_ = {
# name
: string;
# type_
: 'a TypeExpr.t;
}
#
type 'a t = {
# methods
: 'a method_ list;
# open_
: bool;
}
end
#
module Package : sig
#
type 'a substitution = 'a DocOckPaths.Fragment.type_ * 'a TypeExpr.t
#
type 'a t = {
# path
: 'a DocOckPaths.Path.module_type;
# substitutions
: 'a substitution list;
}
end
#
type label =
# | Label of string
# | Optional of string
#
type 'a t =
# | Var of string
# | Any
# | Alias of 'a t * string
# | Arrow of label option * 'a t * 'a t
# | Tuple of 'a t list
# | Constr of 'a DocOckPaths.Path.type_ * 'a t list
# | Variant of 'a TypeExpr.Variant.t
# | Object of 'a TypeExpr.Object.t
# | Class of 'a DocOckPaths.Path.class_type * 'a t list
# | Poly of string list * 'a t
# | Package of 'a TypeExpr.Package.t
end

Compilation units

#
module Unit : sig
#
type 'a import =
# | Unresolved of string * Digest.t option
# | Resolved of 'a
#
module Source : sig
#
type 'a t = {
# file
: string;
# build_dir
: string;
# digest
: Digest.t;
}
end
#
type 'a t = {
# id
: 'a DocOckPaths.Identifier.module_;
# doc
: 'a Documentation.t;
# digest
: Digest.t;
# imports
: 'a import list;
# source
: 'a Source.t option;
# items
: 'a Signature.t;
}
end
end