let sync_filetree (filetree:Filetree.t) =
if not (!hide_unused ()) then
(Globals.Functions.iter
(fun kf ->
try
let vi = Kernel_function.get_vi kf in
filetree#set_global_attribute
~strikethrough:(Value.is_computed () && not (!Value.is_called kf))
vi
with Not_found -> ());
Globals.Vars.iter
(fun vi _ ->
if vi.vlogic = false then
filetree#set_global_attribute
~strikethrough:(Value.is_computed () && not (used_var vi))
vi
);
if not (filetree#flat_mode) then
List.iter
(fun file ->
let name, _globals = Globals.FileIndex.find file in
let globals_state = filetree#get_file_globals name in
filetree#set_file_attribute
~strikethrough:(Value.is_computed () &&
List.for_all snd globals_state)
name
)
(Globals.FileIndex.get_files ())
)
else
()