@@ -23,23 +23,23 @@ use std::fs::File;
23
23
use std:: io:: { BufRead , Read } ;
24
24
use std:: path:: Path ;
25
25
26
- use syntax:: parse;
27
26
use syntax:: parse:: lexer;
28
27
use rustc:: dep_graph:: DepGraph ;
29
28
use rustc:: session:: { self , config} ;
30
29
use rustc:: middle:: cstore:: DummyCrateStore ;
31
30
32
31
use std:: rc:: Rc ;
33
32
use syntax:: ast;
34
- use syntax:: ast:: Name ;
35
33
use syntax:: codemap;
36
34
use syntax:: parse:: token:: { self , BinOpToken , DelimToken , Lit , Token } ;
37
35
use syntax:: parse:: lexer:: TokenAndSpan ;
38
36
use syntax_pos:: Pos ;
39
37
38
+ use syntax:: symbol:: { Symbol , keywords} ;
39
+
40
40
fn parse_token_list ( file : & str ) -> HashMap < String , token:: Token > {
41
41
fn id ( ) -> token:: Token {
42
- Token :: Ident ( ast:: Ident :: with_empty_ctxt ( Name ( 0 ) ) )
42
+ Token :: Ident ( ast:: Ident :: with_empty_ctxt ( keywords :: Invalid . name ( ) ) )
43
43
}
44
44
45
45
let mut res = HashMap :: new ( ) ;
@@ -65,7 +65,7 @@ fn parse_token_list(file: &str) -> HashMap<String, token::Token> {
65
65
"SHL" => Token :: BinOp ( BinOpToken :: Shl ) ,
66
66
"LBRACE" => Token :: OpenDelim ( DelimToken :: Brace ) ,
67
67
"RARROW" => Token :: RArrow ,
68
- "LIT_STR" => Token :: Literal ( Lit :: Str_ ( Name ( 0 ) ) , None ) ,
68
+ "LIT_STR" => Token :: Literal ( Lit :: Str_ ( keywords :: Invalid . name ( ) ) , None ) ,
69
69
"DOTDOT" => Token :: DotDot ,
70
70
"MOD_SEP" => Token :: ModSep ,
71
71
"DOTDOTDOT" => Token :: DotDotDot ,
@@ -75,21 +75,22 @@ fn parse_token_list(file: &str) -> HashMap<String, token::Token> {
75
75
"ANDAND" => Token :: AndAnd ,
76
76
"AT" => Token :: At ,
77
77
"LBRACKET" => Token :: OpenDelim ( DelimToken :: Bracket ) ,
78
- "LIT_STR_RAW" => Token :: Literal ( Lit :: StrRaw ( Name ( 0 ) , 0 ) , None ) ,
78
+ "LIT_STR_RAW" => Token :: Literal ( Lit :: StrRaw ( keywords :: Invalid . name ( ) , 0 ) , None ) ,
79
79
"RPAREN" => Token :: CloseDelim ( DelimToken :: Paren ) ,
80
80
"SLASH" => Token :: BinOp ( BinOpToken :: Slash ) ,
81
81
"COMMA" => Token :: Comma ,
82
- "LIFETIME" => Token :: Lifetime ( ast:: Ident :: with_empty_ctxt ( Name ( 0 ) ) ) ,
82
+ "LIFETIME" => Token :: Lifetime (
83
+ ast:: Ident :: with_empty_ctxt ( keywords:: Invalid . name ( ) ) ) ,
83
84
"CARET" => Token :: BinOp ( BinOpToken :: Caret ) ,
84
85
"TILDE" => Token :: Tilde ,
85
86
"IDENT" => id ( ) ,
86
87
"PLUS" => Token :: BinOp ( BinOpToken :: Plus ) ,
87
- "LIT_CHAR" => Token :: Literal ( Lit :: Char ( Name ( 0 ) ) , None ) ,
88
- "LIT_BYTE" => Token :: Literal ( Lit :: Byte ( Name ( 0 ) ) , None ) ,
88
+ "LIT_CHAR" => Token :: Literal ( Lit :: Char ( keywords :: Invalid . name ( ) ) , None ) ,
89
+ "LIT_BYTE" => Token :: Literal ( Lit :: Byte ( keywords :: Invalid . name ( ) ) , None ) ,
89
90
"EQ" => Token :: Eq ,
90
91
"RBRACKET" => Token :: CloseDelim ( DelimToken :: Bracket ) ,
91
92
"COMMENT" => Token :: Comment ,
92
- "DOC_COMMENT" => Token :: DocComment ( Name ( 0 ) ) ,
93
+ "DOC_COMMENT" => Token :: DocComment ( keywords :: Invalid . name ( ) ) ,
93
94
"DOT" => Token :: Dot ,
94
95
"EQEQ" => Token :: EqEq ,
95
96
"NE" => Token :: Ne ,
@@ -99,9 +100,9 @@ fn parse_token_list(file: &str) -> HashMap<String, token::Token> {
99
100
"BINOP" => Token :: BinOp ( BinOpToken :: Plus ) ,
100
101
"POUND" => Token :: Pound ,
101
102
"OROR" => Token :: OrOr ,
102
- "LIT_INTEGER" => Token :: Literal ( Lit :: Integer ( Name ( 0 ) ) , None ) ,
103
+ "LIT_INTEGER" => Token :: Literal ( Lit :: Integer ( keywords :: Invalid . name ( ) ) , None ) ,
103
104
"BINOPEQ" => Token :: BinOpEq ( BinOpToken :: Plus ) ,
104
- "LIT_FLOAT" => Token :: Literal ( Lit :: Float ( Name ( 0 ) ) , None ) ,
105
+ "LIT_FLOAT" => Token :: Literal ( Lit :: Float ( keywords :: Invalid . name ( ) ) , None ) ,
105
106
"WHITESPACE" => Token :: Whitespace ,
106
107
"UNDERSCORE" => Token :: Underscore ,
107
108
"MINUS" => Token :: BinOp ( BinOpToken :: Minus ) ,
@@ -111,10 +112,11 @@ fn parse_token_list(file: &str) -> HashMap<String, token::Token> {
111
112
"OR" => Token :: BinOp ( BinOpToken :: Or ) ,
112
113
"GT" => Token :: Gt ,
113
114
"LE" => Token :: Le ,
114
- "LIT_BINARY" => Token :: Literal ( Lit :: ByteStr ( Name ( 0 ) ) , None ) ,
115
- "LIT_BINARY_RAW" => Token :: Literal ( Lit :: ByteStrRaw ( Name ( 0 ) , 0 ) , None ) ,
115
+ "LIT_BINARY" => Token :: Literal ( Lit :: ByteStr ( keywords:: Invalid . name ( ) ) , None ) ,
116
+ "LIT_BINARY_RAW" => Token :: Literal (
117
+ Lit :: ByteStrRaw ( keywords:: Invalid . name ( ) , 0 ) , None ) ,
116
118
"QUESTION" => Token :: Question ,
117
- "SHEBANG" => Token :: Shebang ( Name ( 0 ) ) ,
119
+ "SHEBANG" => Token :: Shebang ( keywords :: Invalid . name ( ) ) ,
118
120
_ => continue ,
119
121
} ;
120
122
@@ -158,7 +160,7 @@ fn fix(mut lit: &str) -> ast::Name {
158
160
let leading_hashes = count ( lit) ;
159
161
160
162
// +1/-1 to adjust for single quotes
161
- parse :: token :: intern ( & lit[ leading_hashes + 1 ..lit. len ( ) - leading_hashes - 1 ] )
163
+ Symbol :: intern ( & lit[ leading_hashes + 1 ..lit. len ( ) - leading_hashes - 1 ] )
162
164
}
163
165
164
166
/// Assuming a char/byte literal, strip the 'b' prefix and the single quotes.
@@ -168,7 +170,7 @@ fn fixchar(mut lit: &str) -> ast::Name {
168
170
lit = & lit[ 1 ..] ;
169
171
}
170
172
171
- parse :: token :: intern ( & lit[ 1 ..lit. len ( ) - 1 ] )
173
+ Symbol :: intern ( & lit[ 1 ..lit. len ( ) - 1 ] )
172
174
}
173
175
174
176
fn count ( lit : & str ) -> usize {
@@ -196,7 +198,7 @@ fn parse_antlr_token(s: &str, tokens: &HashMap<String, token::Token>, surrogate_
196
198
let not_found = format ! ( "didn't find token {:?} in the map" , toknum) ;
197
199
let proto_tok = tokens. get ( toknum) . expect ( & not_found[ ..] ) ;
198
200
199
- let nm = parse :: token :: intern ( content) ;
201
+ let nm = Symbol :: intern ( content) ;
200
202
201
203
debug ! ( "What we got: content (`{}`), proto: {:?}" , content, proto_tok) ;
202
204
0 commit comments