diff --git a/src/libraries/utils/filepath.ml b/src/libraries/utils/filepath.ml index 6c24bf4aff1bd875eba4fb49d716917803175080..3689f5a2ef24f4fb75fffb52e171919c0f9f1b91 100644 --- a/src/libraries/utils/filepath.ml +++ b/src/libraries/utils/filepath.ml @@ -337,6 +337,20 @@ type position = let pp_pos fmt pos = Format.fprintf fmt "%a:%d" Normalized.pretty pos.pos_path pos.pos_lnum +let exists (s : Normalized.t) = Sys.file_exists (s :> string) + +let is_dir (s : Normalized.t) = Sys.is_directory (s :> string) + +let readdir (s : Normalized.t) = Sys.readdir (s :> string) + +let remove (s : Normalized.t) = Sys.remove (s :> string) + +let rename s t = Sys.rename s t + +let basename p = Filename.basename p + +let dirname p = Filename.dirname p + (* Local Variables: compile-command: "make -C ../../.." diff --git a/src/libraries/utils/filepath.mli b/src/libraries/utils/filepath.mli index ed6d96033cba38422aa88004c828af72019b8396..451937d4da7487ce520fa3fd0f9ffd9f64eb59c2 100644 --- a/src/libraries/utils/filepath.mli +++ b/src/libraries/utils/filepath.mli @@ -216,6 +216,41 @@ val pp_pos : Format.formatter -> position -> unit *) val pwd : unit -> string +(** Equivalent to [Sys.file_exists]. + @since Frama-C+dev +*) +val exists: Normalized.t -> bool + +(** Equivalent to [Sys.is_directory]. + @since Frama-C+dev +*) +val is_dir: Normalized.t -> bool + +(** Equivalent to [Sys.readdir]. + @since Frama-C+dev +*) +val readdir: Normalized.t -> string array + +(** Equivalent to [Sys.remove]. + @since Frama-C+dev +*) +val remove: Normalized.t -> unit + +(** Equivalent to [Sys.rename]. + @since Frama-C+dev +*) +val rename: Normalized.t -> Normalized.t -> unit + +(** Equivalent to [Filename.basename]. + @since Frama-C+dev +*) +val basename: Normalized.t -> string + +(** Equivalent to [Filename.dirname]. + @since Frama-C+dev +*) +val dirname: Normalized.t -> Normalized.t + (* Local Variables: compile-command: "make -C ../../.."