@@ -236,7 +236,6 @@ pub fn parse_in<'a, T>(
236236pub fn nt_to_tokenstream (
237237 nt : & Nonterminal ,
238238 sess : & ParseSess ,
239- span : Span ,
240239 synthesize_tokens : CanSynthesizeMissingTokens ,
241240) -> TokenStream {
242241 // A `Nonterminal` is often a parsed AST item. At this point we now
@@ -256,11 +255,9 @@ pub fn nt_to_tokenstream(
256255 |tokens : Option < & LazyTokenStream > | tokens. as_ref ( ) . map ( |t| t. create_token_stream ( ) ) ;
257256
258257 let tokens = match * nt {
259- Nonterminal :: NtItem ( ref item) => {
260- prepend_attrs ( sess, & item. attrs , nt, span, item. tokens . as_ref ( ) )
261- }
258+ Nonterminal :: NtItem ( ref item) => prepend_attrs ( sess, & item. attrs , nt, item. tokens . as_ref ( ) ) ,
262259 Nonterminal :: NtBlock ( ref block) => convert_tokens ( block. tokens . as_ref ( ) ) ,
263- Nonterminal :: NtStmt ( ref stmt) => prepend_attrs ( sess, stmt. attrs ( ) , nt, span , stmt. tokens ( ) ) ,
260+ Nonterminal :: NtStmt ( ref stmt) => prepend_attrs ( sess, stmt. attrs ( ) , nt, stmt. tokens ( ) ) ,
264261 Nonterminal :: NtPat ( ref pat) => convert_tokens ( pat. tokens . as_ref ( ) ) ,
265262 Nonterminal :: NtTy ( ref ty) => convert_tokens ( ty. tokens . as_ref ( ) ) ,
266263 Nonterminal :: NtIdent ( ident, is_raw) => {
@@ -277,31 +274,30 @@ pub fn nt_to_tokenstream(
277274 if expr. tokens . is_none ( ) {
278275 debug ! ( "missing tokens for expr {:?}" , expr) ;
279276 }
280- prepend_attrs ( sess, & expr. attrs , nt, span , expr. tokens . as_ref ( ) )
277+ prepend_attrs ( sess, & expr. attrs , nt, expr. tokens . as_ref ( ) )
281278 }
282279 } ;
283280
284281 if let Some ( tokens) = tokens {
285282 return tokens;
286283 } else if matches ! ( synthesize_tokens, CanSynthesizeMissingTokens :: Yes ) {
287- return fake_token_stream ( sess, nt, span ) ;
284+ return fake_token_stream ( sess, nt) ;
288285 } else {
289286 let pretty = rustc_ast_pretty:: pprust:: nonterminal_to_string_no_extra_parens ( & nt) ;
290- panic ! ( "Missing tokens at {:?} for nt {:?}" , span , pretty) ;
287+ panic ! ( "Missing tokens for nt {:?}" , pretty) ;
291288 }
292289}
293290
294- pub fn fake_token_stream ( sess : & ParseSess , nt : & Nonterminal , span : Span ) -> TokenStream {
291+ pub fn fake_token_stream ( sess : & ParseSess , nt : & Nonterminal ) -> TokenStream {
295292 let source = pprust:: nonterminal_to_string ( nt) ;
296293 let filename = FileName :: macro_expansion_source_code ( & source) ;
297- parse_stream_from_source_str ( filename, source, sess, Some ( span) )
294+ parse_stream_from_source_str ( filename, source, sess, Some ( nt . span ( ) ) )
298295}
299296
300297fn prepend_attrs (
301298 sess : & ParseSess ,
302299 attrs : & [ ast:: Attribute ] ,
303300 nt : & Nonterminal ,
304- span : Span ,
305301 tokens : Option < & tokenstream:: LazyTokenStream > ,
306302) -> Option < tokenstream:: TokenStream > {
307303 if attrs. is_empty ( ) {
@@ -312,7 +308,7 @@ fn prepend_attrs(
312308 // FIXME: Correctly handle tokens for inner attributes.
313309 // For now, we fall back to reparsing the original AST node
314310 if attr. style == ast:: AttrStyle :: Inner {
315- return Some ( fake_token_stream ( sess, nt, span ) ) ;
311+ return Some ( fake_token_stream ( sess, nt) ) ;
316312 }
317313 builder. push ( attr. tokens ( ) ) ;
318314 }
0 commit comments