The module UnitMods represents the ordered list of modifications to a compilation unit like opening modules and adding alerts that result from a MlFront analysis of the project.
The type t is opaque for serialization to disk.
A library that is aliased as a (usually simpler) module.
Examples include:
[("M", "SomeThing_Std", None)]which would be"module M = SomeThing_Std"for an unwrapped library[("M", "SomeThing_Std", Some "N")]which would be"module M = SomeThing_Std.N"for a wrapped library[("M", "SomeThing_Std__One", None)]which would be"module M = SomeThing_Std__One"for the qualified module id form of a script library.
type t = {no_standard_lib : bool;(*
*)no_standard_libistrueif and only if no OCaml standard library should be given to the compilation unit.module_alert_specs : string list;(*module_alert_specsare the list of alert specs that will be added to the top of the compilation unit.Examples include:
["-all--all+unix@window"]; ["@need_dkcoder_stdlib"]
libraries_aliased : library_aliased list;(*
*)libraries_aliasedare the list of module aliases at the top of the compilation unit that represent the import of libraries.modules_opened : string list;(*modules_openedare the list of modules to be opened at the top of the compilation unit.Examples include:
["Stdlib414Shadow"]; ["Notstripe_o.Open__"]
unmodelled_ocamlc_opt_compile_flags : string list;(*unmodelled_ocamlc_opt_compile_flagsare compile flags for ocamlc and ocamlopt that are not modelled in codept and/or can't be modelled in a PPX for Merlin (ie. dkcoder-ppx).The flags should be given by the build system to ocamlc and ocamlopt.
*)unmodelled_ocamlc_opt_link_flags : string list;(*unmodelled_ocamlc_opt_link_flagsare link flags for ocamlc and ocamlopt that are not modelled in codept and/or can't be modelled in a PPX for Merlin (ie. dkcoder-ppx).The flags should be given by the build system to ocamlc and ocamlopt.
*)unmodelled_libraries : string list;
}none_with_no_standard_lib is no modifications and no standard library.

