summaryrefslogtreecommitdiff
path: root/compiler/Meta.ml
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--compiler/Meta.ml45
1 files changed, 1 insertions, 44 deletions
diff --git a/compiler/Meta.ml b/compiler/Meta.ml
index f0e4ca04..b8a3d1e0 100644
--- a/compiler/Meta.ml
+++ b/compiler/Meta.ml
@@ -1,44 +1 @@
-(** Meta data like code spans *)
-
-(** A line location *)
-type loc = {
- line : int; (** The (1-based) line number. *)
- col : int; (** The (0-based) column offset. *)
-}
-[@@deriving show]
-
-type file_name =
- | Virtual of string (** A remapped path (namely paths into stdlib) *)
- | Local of string
- (** A local path (a file coming from the current crate for instance) *)
-[@@deriving show]
-
-(** Span data *)
-type span = { file : file_name; beg_loc : loc; end_loc : loc } [@@deriving show]
-
-type meta = {
- span : span;
- (** The source code span.
-
- If this meta information is for a statement/terminator coming from a macro
- expansion/inlining/etc., this span is (in case of macros) for the macro
- before expansion (i.e., the location the code where the user wrote the call
- to the macro).
-
- Ex:
- {[
- // Below, we consider the spans for the statements inside `test`
-
- // the statement we consider, which gets inlined in `test`
- VV
- macro_rules! macro { ... st ... } // `generated_from_span` refers to this location
-
- fn test() {
- macro!(); // <-- `span` refers to this location
- }
- ]}
- *)
- generated_from_span : span option;
- (** Where the code actually comes from, in case of macro expansion/inlining/etc. *)
-}
-[@@deriving show]
+include Charon.Meta