about summary refs log tree commit diff
path: root/src/libsyntax/ext
diff options
context:
space:
mode:
authorMatthew Jasper <mjjasper1@gmail.com>2019-08-25 20:58:03 +0100
committerMatthew Jasper <mjjasper1@gmail.com>2019-09-05 15:07:16 +0100
commit4082cd95a8de6c8244e9b44908f9859e75acdeea (patch)
treef4a1a17db0cdd7dd70efc59f0acbb5bb0ade4f44 /src/libsyntax/ext
parent0133941f47b039d652f5d9f2617b7d3884298515 (diff)
downloadrust-4082cd95a8de6c8244e9b44908f9859e75acdeea.tar.gz
rust-4082cd95a8de6c8244e9b44908f9859e75acdeea.zip
Allow ast passes to create hygienic spans
Diffstat (limited to 'src/libsyntax/ext')
-rw-r--r--src/libsyntax/ext/base.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/libsyntax/ext/base.rs b/src/libsyntax/ext/base.rs
index a63c4181d5e..3d274af9908 100644
--- a/src/libsyntax/ext/base.rs
+++ b/src/libsyntax/ext/base.rs
@@ -15,7 +15,7 @@ use crate::tokenstream::{self, TokenStream, TokenTree};
 use errors::{DiagnosticBuilder, DiagnosticId};
 use smallvec::{smallvec, SmallVec};
 use syntax_pos::{FileName, Span, MultiSpan, DUMMY_SP};
-use syntax_pos::hygiene::{ExpnData, ExpnKind};
+use syntax_pos::hygiene::{AstPass, ExpnData, ExpnKind};
 
 use rustc_data_structures::fx::FxHashMap;
 use rustc_data_structures::sync::{self, Lrc};
@@ -660,6 +660,14 @@ pub trait Resolver {
                                             extra_placeholders: &[NodeId]);
     fn register_builtin_macro(&mut self, ident: ast::Ident, ext: SyntaxExtension);
 
+    fn span_for_ast_pass(
+        &mut self,
+        span: Span,
+        pass: AstPass,
+        features: &[Symbol],
+        parent_module_id: Option<NodeId>,
+    ) -> Span;
+
     fn resolve_imports(&mut self);
 
     fn resolve_macro_invocation(