Odoc_xref2.ComponentComponent module
module ModuleMap : Map.S with type key = Odoc_xref2.Ident.module_module TypeMap : Map.S with type key = Odoc_xref2.Ident.type_module PathModuleMap : Map.S with type key = Odoc_xref2.Ident.path_moduleUseful maps
module ModuleTypeMap : Map.S with type key = Odoc_xref2.Ident.module_typemodule PathTypeMap : Map.S with type key = Odoc_xref2.Ident.path_typemodule PathClassTypeMap : Map.S with type key = Odoc_xref2.Ident.path_class_typemodule IdentMap : Map.S with type key = Odoc_xref2.Ident.anymodule Delayed : sig ... endDelayed is a bit like Lazy.t but may in the future offer the chance to peek inside to be able to optimize the calculation
module Opt : sig ... endThe modules/types here are very similar to those in Odoc_model.Lang, in most cases the only difference being that we have Idents (which are local) rather than Identifiers (which are global), Cpaths instead of Paths, and Cfrags rather than Fragments. All of these are to support the use of local idents.
Note that we still use global References rather than local ones - this is because at the point these components are being used all the references are unresolved, and hence do not contain any resolved global identifiers. When resolving references, we construct paths in parallel, which also helps avoid the need for local references.
These idents of items are kept outside of the types themselves in order to help with laziness.
There are a few other minor differences:
module Module : sig ... endmodule ModuleSubstitution : sig ... endmodule ModuleTypeSubstitution : sig ... endmodule TypeExpr : sig ... endmodule Extension : sig ... endmodule Exception : sig ... endmodule FunctorParameter : sig ... endmodule ModuleType : sig ... endmodule TypeDecl : sig ... endmodule Signature : sig ... endmodule Open : sig ... endmodule Include : sig ... endmodule Value : sig ... endmodule Class : sig ... endmodule ClassType : sig ... endmodule ClassSignature : sig ... endmodule Method : sig ... endmodule InstanceVariable : sig ... endmodule Substitution : sig ... endmodule CComment : sig ... endmodule Label : sig ... endmodule Element : sig ... endmodule Fmt : sig ... endFormatting functions for components
module Of_Lang : sig ... endval module_of_functor_argument : FunctorParameter.parameter -> Module.tval extract_signature_doc : Signature.t -> CComment.docs