about summary refs log tree commit diff
path: root/compiler/rustc_expand/src
diff options
context:
space:
mode:
authorJacob Pratt <jacob@jhpratt.dev>2023-05-14 18:30:18 -0400
committerJacob Pratt <jacob@jhpratt.dev>2023-06-20 19:40:25 -0400
commita1cd8c3a2819586159dfb33559777959f087f028 (patch)
tree3baff1466efa73968e98f9420fa5e698db91c5f6 /compiler/rustc_expand/src
parent87ec0738ab6fd62408c3058694c413daeb40630b (diff)
downloadrust-a1cd8c3a2819586159dfb33559777959f087f028.tar.gz
rust-a1cd8c3a2819586159dfb33559777959f087f028.zip
Add `Span::{line, column}`
Diffstat (limited to 'compiler/rustc_expand/src')
-rw-r--r--compiler/rustc_expand/src/proc_macro_server.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/compiler/rustc_expand/src/proc_macro_server.rs b/compiler/rustc_expand/src/proc_macro_server.rs
index 9400c501aa5..ecd2315112a 100644
--- a/compiler/rustc_expand/src/proc_macro_server.rs
+++ b/compiler/rustc_expand/src/proc_macro_server.rs
@@ -656,6 +656,16 @@ impl server::Span for Rustc<'_, '_> {
         span.shrink_to_hi()
     }
 
+    fn line(&mut self, span: Self::Span) -> usize {
+        let loc = self.sess().source_map().lookup_char_pos(span.lo());
+        loc.line
+    }
+
+    fn column(&mut self, span: Self::Span) -> usize {
+        let loc = self.sess().source_map().lookup_char_pos(span.lo());
+        loc.col.to_usize() + 1
+    }
+
     fn join(&mut self, first: Self::Span, second: Self::Span) -> Option<Self::Span> {
         let self_loc = self.sess().source_map().lookup_char_pos(first.lo());
         let other_loc = self.sess().source_map().lookup_char_pos(second.lo());