From 7979b5b96b03dd71edf8abf53c55d9363e3dfb0c Mon Sep 17 00:00:00 2001 From: Andre Maroneze <andre.maroneze@cea.fr> Date: Mon, 9 Oct 2023 11:27:53 +0200 Subject: [PATCH] [Filepath] prepare Filepath as wrapper for calls to Filename/Sys --- src/libraries/utils/filepath.ml | 14 +++++++++++++ src/libraries/utils/filepath.mli | 35 ++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/src/libraries/utils/filepath.ml b/src/libraries/utils/filepath.ml index 6c24bf4aff1..3689f5a2ef2 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 ed6d96033cb..451937d4da7 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 ../../.." -- GitLab