Skip to content
Snippets Groups Projects
Commit 7205a418 authored by Loïc Correnson's avatar Loïc Correnson Committed by David Bühler
Browse files

[eva] fix main extend

parent 2e30975d
No related branches found
No related tags found
No related merge requests found
...@@ -72,7 +72,7 @@ let predicate ~loc ?(name=[]) (p : pred) : predicate = ...@@ -72,7 +72,7 @@ let predicate ~loc ?(name=[]) (p : pred) : predicate =
let ts = List.map (Exp.cil_term ~loc) es in let ts = List.map (Exp.cil_term ~loc) es in
let ls = Logic_env.find_all_logic_functions f in let ls = Logic_env.find_all_logic_functions f in
match List.find_opt (matches_params ts) ls with match List.find_opt (matches_params ts) ls with
| None -> raise (Invalid_argument ("Eva.Annot." ^ f)) | None -> invalid_arg "Eva.Export.predicate"
| Some li -> Logic_const.papp ~loc (li,[],ts) | Some li -> Logic_const.papp ~loc (li,[],ts)
in { (aux p) with pred_name = name } in { (aux p) with pred_name = name }
...@@ -333,26 +333,30 @@ let cleaner () = (new cleaner :> visitor) ...@@ -333,26 +333,30 @@ let cleaner () = (new cleaner :> visitor)
(* -------------------------------------------------------------------------- *) (* -------------------------------------------------------------------------- *)
let main () = let main () =
if Analysis.is_computed () then let generator = lazy
let ast = Ast.get () in begin
let cleaner = cleaner () in Analysis.compute () ;
Self.feedback ~ontty:`Transient "Cleaning annotations..." ; let ast = Ast.get () in
Visitor.visitFramacFile cleaner ast ; let cleaner = cleaner () in
let generator = new generator in Self.feedback ~ontty:`Transient "Cleaning annotations..." ;
Parameters.Annot.iter Visitor.visitFramacFile cleaner ast ;
begin fun kf -> new generator
if Kernel_function.has_definition kf then end
if Results.are_available kf then in Parameters.Annot.iter
let fundec = Kernel_function.get_definition kf in begin fun kf ->
Self.feedback "Annotate %a" Kernel_function.pretty kf ; let generator = Lazy.force generator in
ignore @@ Visitor.visitFramacFunction generator fundec if Kernel_function.has_definition kf then
else if Results.are_available kf then
Self.warning "Can not annotate %a (no available results)" let fundec = Kernel_function.get_definition kf in
Kernel_function.pretty kf Self.feedback "Annotate %a" Kernel_function.pretty kf ;
ignore @@ Visitor.visitFramacFunction generator fundec
else else
Self.warning "Can not annotate %a (no definition)" Self.warning "Can not annotate %a (no available results)"
Kernel_function.pretty kf Kernel_function.pretty kf
end else
Self.warning "Can not annotate %a (no definition)"
Kernel_function.pretty kf
end
let () = Boot.Main.extend main let () = Boot.Main.extend main
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment