@@ -762,7 +762,6 @@ impl MacroArgKind {
762
762
#[ derive( Debug , Clone ) ]
763
763
struct ParsedMacroArg {
764
764
kind : MacroArgKind ,
765
- span : Span ,
766
765
}
767
766
768
767
impl ParsedMacroArg {
@@ -780,14 +779,10 @@ impl ParsedMacroArg {
780
779
struct MacroArgParser {
781
780
/// Either a name of the next metavariable, a separator, or junk.
782
781
buf : String ,
783
- /// The start position on the current buffer.
784
- lo : BytePos ,
785
782
/// The first token of the current buffer.
786
783
start_tok : Token ,
787
784
/// `true` if we are parsing a metavariable or a repeat.
788
785
is_meta_var : bool ,
789
- /// The position of the last token.
790
- hi : BytePos ,
791
786
/// The last token parsed.
792
787
last_tok : Token ,
793
788
/// Holds the parsed arguments.
@@ -807,8 +802,6 @@ fn last_tok(tt: &TokenTree) -> Token {
807
802
impl MacroArgParser {
808
803
fn new ( ) -> MacroArgParser {
809
804
MacroArgParser {
810
- lo : BytePos ( 0 ) ,
811
- hi : BytePos ( 0 ) ,
812
805
buf : String :: new ( ) ,
813
806
is_meta_var : false ,
814
807
last_tok : Token {
@@ -824,7 +817,6 @@ impl MacroArgParser {
824
817
}
825
818
826
819
fn set_last_tok ( & mut self , tok : & TokenTree ) {
827
- self . hi = tok. span ( ) . hi ( ) ;
828
820
self . last_tok = last_tok ( tok) ;
829
821
}
830
822
@@ -836,7 +828,6 @@ impl MacroArgParser {
836
828
} ;
837
829
self . result . push ( ParsedMacroArg {
838
830
kind : MacroArgKind :: Separator ( self . buf . clone ( ) , prefix) ,
839
- span : mk_sp ( self . lo , self . hi ) ,
840
831
} ) ;
841
832
self . buf . clear ( ) ;
842
833
}
@@ -849,7 +840,6 @@ impl MacroArgParser {
849
840
} ;
850
841
self . result . push ( ParsedMacroArg {
851
842
kind : MacroArgKind :: Other ( self . buf . clone ( ) , prefix) ,
852
- span : mk_sp ( self . lo , self . hi ) ,
853
843
} ) ;
854
844
self . buf . clear ( ) ;
855
845
}
@@ -858,11 +848,10 @@ impl MacroArgParser {
858
848
match iter. next ( ) {
859
849
Some ( TokenTree :: Token ( Token {
860
850
kind : TokenKind :: Ident ( name, _) ,
861
- span ,
851
+ ..
862
852
} ) ) => {
863
853
self . result . push ( ParsedMacroArg {
864
854
kind : MacroArgKind :: MetaVariable ( name, self . buf . clone ( ) ) ,
865
- span : mk_sp ( self . lo , span. hi ( ) ) ,
866
855
} ) ;
867
856
868
857
self . buf . clear ( ) ;
@@ -873,10 +862,9 @@ impl MacroArgParser {
873
862
}
874
863
}
875
864
876
- fn add_delimited ( & mut self , inner : Vec < ParsedMacroArg > , delim : DelimToken , span : Span ) {
865
+ fn add_delimited ( & mut self , inner : Vec < ParsedMacroArg > , delim : DelimToken ) {
877
866
self . result . push ( ParsedMacroArg {
878
867
kind : MacroArgKind :: Delimited ( delim, inner) ,
879
- span,
880
868
} ) ;
881
869
}
882
870
@@ -886,19 +874,15 @@ impl MacroArgParser {
886
874
inner : Vec < ParsedMacroArg > ,
887
875
delim : DelimToken ,
888
876
iter : & mut Cursor ,
889
- span : Span ,
890
877
) -> Option < ( ) > {
891
878
let mut buffer = String :: new ( ) ;
892
879
let mut first = true ;
893
- let mut lo = span. lo ( ) ;
894
- let mut hi = span. hi ( ) ;
895
880
896
881
// Parse '*', '+' or '?.
897
882
for tok in iter {
898
883
self . set_last_tok ( & tok) ;
899
884
if first {
900
885
first = false ;
901
- lo = tok. span ( ) . lo ( ) ;
902
886
}
903
887
904
888
match tok {
@@ -918,7 +902,6 @@ impl MacroArgParser {
918
902
}
919
903
TokenTree :: Token ( ref t) => {
920
904
buffer. push_str ( & pprust:: token_to_string ( & t) ) ;
921
- hi = t. span . hi ( ) ;
922
905
}
923
906
_ => return None ,
924
907
}
@@ -930,20 +913,17 @@ impl MacroArgParser {
930
913
} else {
931
914
Some ( Box :: new ( ParsedMacroArg {
932
915
kind : MacroArgKind :: Other ( buffer, "" . to_owned ( ) ) ,
933
- span : mk_sp ( lo, hi) ,
934
916
} ) )
935
917
} ;
936
918
937
919
self . result . push ( ParsedMacroArg {
938
920
kind : MacroArgKind :: Repeat ( delim, inner, another, self . last_tok . clone ( ) ) ,
939
- span : mk_sp ( self . lo , self . hi ) ,
940
921
} ) ;
941
922
Some ( ( ) )
942
923
}
943
924
944
925
fn update_buffer ( & mut self , t : & Token ) {
945
926
if self . buf . is_empty ( ) {
946
- self . lo = t. span . lo ( ) ;
947
927
self . start_tok = t. clone ( ) ;
948
928
} else {
949
929
let needs_space = match next_space ( & self . last_tok . kind ) {
@@ -999,7 +979,6 @@ impl MacroArgParser {
999
979
1000
980
// Start keeping the name of this metavariable in the buffer.
1001
981
self . is_meta_var = true ;
1002
- self . lo = span. lo ( ) ;
1003
982
self . start_tok = Token {
1004
983
kind : TokenKind :: Dollar ,
1005
984
span,
@@ -1012,7 +991,7 @@ impl MacroArgParser {
1012
991
self . add_meta_variable ( & mut iter) ?;
1013
992
}
1014
993
TokenTree :: Token ( ref t) => self . update_buffer ( t) ,
1015
- TokenTree :: Delimited ( delimited_span , delimited, ref tts) => {
994
+ TokenTree :: Delimited ( _delimited_span , delimited, ref tts) => {
1016
995
if !self . buf . is_empty ( ) {
1017
996
if next_space ( & self . last_tok . kind ) == SpaceState :: Always {
1018
997
self . add_separator ( ) ;
@@ -1022,16 +1001,14 @@ impl MacroArgParser {
1022
1001
}
1023
1002
1024
1003
// Parse the stuff inside delimiters.
1025
- let mut parser = MacroArgParser :: new ( ) ;
1026
- parser. lo = delimited_span. open . lo ( ) ;
1004
+ let parser = MacroArgParser :: new ( ) ;
1027
1005
let delimited_arg = parser. parse ( tts. clone ( ) ) ?;
1028
1006
1029
- let span = delimited_span. entire ( ) ;
1030
1007
if self . is_meta_var {
1031
- self . add_repeat ( delimited_arg, delimited, & mut iter, span ) ?;
1008
+ self . add_repeat ( delimited_arg, delimited, & mut iter) ?;
1032
1009
self . is_meta_var = false ;
1033
1010
} else {
1034
- self . add_delimited ( delimited_arg, delimited, span ) ;
1011
+ self . add_delimited ( delimited_arg, delimited) ;
1035
1012
}
1036
1013
}
1037
1014
}
0 commit comments