From 77af5b3a889194399792e58191e31a9b44882627 Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Tue, 24 Apr 2018 01:46:33 +0700 Subject: [PATCH] Add Usexp.Loc.in_file Moved from Loc --- src/loc.ml | 12 +----------- src/usexp/usexp.ml | 16 +++++++++++++++- src/usexp/usexp.mli | 2 ++ 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/loc.ml b/src/loc.ml index 633c294c..14715838 100644 --- a/src/loc.ml +++ b/src/loc.ml @@ -51,17 +51,7 @@ let fail_opt t fmt = | None -> die fmt | Some t -> fail t fmt -let in_file fn = - let pos : Lexing.position = - { pos_fname = fn - ; pos_lnum = 1 - ; pos_cnum = 0 - ; pos_bol = 0 - } - in - { start = pos - ; stop = pos - } +let in_file = Usexp.Loc.in_file let of_pos (fname, lnum, cnum, enum) = let pos : Lexing.position = diff --git a/src/usexp/usexp.ml b/src/usexp/usexp.ml index 7b867464..482d8bdf 100644 --- a/src/usexp/usexp.ml +++ b/src/usexp/usexp.ml @@ -240,7 +240,21 @@ let prepare_formatter ppf = | _ -> n)) } -module Loc = Sexp_ast.Loc +module Loc = struct + include Sexp_ast.Loc + + let in_file fn = + let pos : Lexing.position = + { pos_fname = fn + ; pos_lnum = 1 + ; pos_cnum = 0 + ; pos_bol = 0 + } + in + { start = pos + ; stop = pos + } +end module Ast = struct type t = Sexp_ast.t = diff --git a/src/usexp/usexp.mli b/src/usexp/usexp.mli index 27e03dc7..db782902 100644 --- a/src/usexp/usexp.mli +++ b/src/usexp/usexp.mli @@ -28,6 +28,8 @@ module Loc : sig { start : Lexing.position ; stop : Lexing.position } + + val in_file : string -> t end (** The S-expression type *)