module Ast_diff:sig
..end
Compute diff information from an existing project.
module Orig_project:State_builder.Option_ref
with type data = Project.t
the original project from which a diff is computed.
type'a
correspondance =[ `Not_present | `Same of 'a ]
possible correspondances between new items and original ones.
typepartial_correspondance =
[ `Body_changed | `Callees_changed | `Callees_spec_changed | `Spec_changed ]
for kernel function, we are a bit more precise than a yes/no answer. More precisely, we check whether a function has the same spec, the same body, and whether its callees have changed (provided the body itself is identical, otherwise, there's no point in checking the callees.
type'a
code_correspondance =[ `Not_present
| `Partial of 'a * partial_correspondance
| `Same of 'a ]
module type Correspondance_table =sig
..end
module Varinfo:Correspondance_table
with type key = varinfo and type data = varinfo correspondance
varinfos correspondances
module Compinfo:Correspondance_table
with type key = compinfo and type data = compinfo correspondance
module Enuminfo:Correspondance_table
with type key = enuminfo and type data = enuminfo correspondance
module Enumitem:Correspondance_table
with type key = enumitem and type data = enumitem correspondance
module Typeinfo:Correspondance_table
with type key = typeinfo and type data = typeinfo correspondance
module Stmt:Correspondance_table
with type key = stmt and type data = stmt code_correspondance
module Logic_info:Correspondance_table
with type key = logic_info and type data = logic_info correspondance
module Logic_type_info:Correspondance_table
with type key = logic_type_info and type data = logic_type_info correspondance
module Logic_ctor_info:Correspondance_table
with type key = logic_ctor_info and type data = logic_ctor_info correspondance
module Fieldinfo:Correspondance_table
with type key = fieldinfo and type data = fieldinfo correspondance
module Model_info:Correspondance_table
with type key = model_info and type data = model_info correspondance
module Logic_var:Correspondance_table
with type key = logic_var and type data = logic_var correspondance
module Kernel_function:Correspondance_table
with type key = kernel_function and type data = kernel_function code_correspondance
module Fundec:Correspondance_table
with type key = fundec and type data = fundec correspondance
val compare_ast : unit -> unit
performs a comparison of AST between the current and the original project, which must have been set beforehand.
val compare_from_prj : Project.t -> unit
compare_from_prj prj
sets prj
as the original project
and fill the tables.