Skip to content

Commit 1deb858

Browse files
committed
libsyntax: is_keyword should take a &~str
1 parent 8b94ef0 commit 1deb858

File tree

4 files changed

+132
-128
lines changed

4 files changed

+132
-128
lines changed

src/libsyntax/ext/trace_macros.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ pub fn expand_trace_macros(cx: ext_ctxt, sp: span,
3131
let rdr = tt_rdr as reader;
3232
let rust_parser = Parser(sess, cfg, rdr.dup());
3333

34-
if rust_parser.is_keyword(~"true") {
34+
if rust_parser.is_keyword(&~"true") {
3535
cx.set_trace_macros(true);
36-
} else if rust_parser.is_keyword(~"false") {
36+
} else if rust_parser.is_keyword(&~"false") {
3737
cx.set_trace_macros(false);
3838
} else {
3939
cx.span_fatal(sp, ~"trace_macros! only accepts `true` or `false`")

src/libsyntax/parse/common.rs

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -110,25 +110,25 @@ pub impl Parser {
110110
// Storing keywords as interned idents instead of strings would be nifty.
111111

112112
// A sanity check that the word we are asking for is a known keyword
113-
fn require_keyword(word: ~str) {
114-
if !self.keywords.contains_key(&word) {
115-
self.bug(fmt!("unknown keyword: %s", word));
113+
fn require_keyword(word: &~str) {
114+
if !self.keywords.contains_key(word) {
115+
self.bug(fmt!("unknown keyword: %s", *word));
116116
}
117117
}
118118

119-
fn token_is_word(word: ~str, ++tok: token::Token) -> bool {
119+
fn token_is_word(word: &~str, tok: token::Token) -> bool {
120120
match tok {
121-
token::IDENT(sid, false) => { *self.id_to_str(sid) == word }
121+
token::IDENT(sid, false) => { *self.id_to_str(sid) == *word }
122122
_ => { false }
123123
}
124124
}
125125

126-
fn token_is_keyword(word: ~str, ++tok: token::Token) -> bool {
126+
fn token_is_keyword(word: &~str, ++tok: token::Token) -> bool {
127127
self.require_keyword(word);
128128
self.token_is_word(word, tok)
129129
}
130130

131-
fn is_keyword(word: ~str) -> bool {
131+
fn is_keyword(word: &~str) -> bool {
132132
self.token_is_keyword(word, *self.token)
133133
}
134134

@@ -141,62 +141,62 @@ pub impl Parser {
141141
}
142142
}
143143

144-
fn eat_keyword(word: ~str) -> bool {
144+
fn eat_keyword(word: &~str) -> bool {
145145
self.require_keyword(word);
146146
let is_kw = match *self.token {
147-
token::IDENT(sid, false) => (word == *self.id_to_str(sid)),
147+
token::IDENT(sid, false) => *word == *self.id_to_str(sid),
148148
_ => false
149149
};
150150
if is_kw { self.bump() }
151151
is_kw
152152
}
153153

154-
fn expect_keyword(word: ~str) {
154+
fn expect_keyword(word: &~str) {
155155
self.require_keyword(word);
156156
if !self.eat_keyword(word) {
157-
self.fatal(~"expected `" + word + ~"`, found `" +
157+
self.fatal(~"expected `" + *word + ~"`, found `" +
158158
token_to_str(self.reader, *self.token) +
159159
~"`");
160160
}
161161
}
162162

163-
fn is_strict_keyword(word: ~str) -> bool {
164-
self.strict_keywords.contains_key(&word)
163+
fn is_strict_keyword(word: &~str) -> bool {
164+
self.strict_keywords.contains_key(word)
165165
}
166166

167167
fn check_strict_keywords() {
168168
match *self.token {
169169
token::IDENT(_, false) => {
170170
let w = token_to_str(self.reader, *self.token);
171-
self.check_strict_keywords_(w);
171+
self.check_strict_keywords_(&w);
172172
}
173173
_ => ()
174174
}
175175
}
176176

177-
fn check_strict_keywords_(w: ~str) {
177+
fn check_strict_keywords_(w: &~str) {
178178
if self.is_strict_keyword(w) {
179-
self.fatal(~"found `" + w + ~"` in ident position");
179+
self.fatal(~"found `" + *w + ~"` in ident position");
180180
}
181181
}
182182

183-
fn is_reserved_keyword(word: ~str) -> bool {
184-
self.reserved_keywords.contains_key(&word)
183+
fn is_reserved_keyword(word: &~str) -> bool {
184+
self.reserved_keywords.contains_key(word)
185185
}
186186

187187
fn check_reserved_keywords() {
188188
match *self.token {
189189
token::IDENT(_, false) => {
190190
let w = token_to_str(self.reader, *self.token);
191-
self.check_reserved_keywords_(w);
191+
self.check_reserved_keywords_(&w);
192192
}
193193
_ => ()
194194
}
195195
}
196196

197-
fn check_reserved_keywords_(w: ~str) {
197+
fn check_reserved_keywords_(w: &~str) {
198198
if self.is_reserved_keyword(w) {
199-
self.fatal(~"`" + w + ~"` is a reserved keyword");
199+
self.fatal(~"`" + *w + ~"` is a reserved keyword");
200200
}
201201
}
202202

src/libsyntax/parse/obsolete.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,9 +197,9 @@ pub impl Parser {
197197
}
198198

199199
fn try_parse_obsolete_priv_section() -> bool {
200-
if self.is_keyword(~"priv") && self.look_ahead(1) == token::LBRACE {
200+
if self.is_keyword(&~"priv") && self.look_ahead(1) == token::LBRACE {
201201
self.obsolete(*self.span, ObsoletePrivSection);
202-
self.eat_keyword(~"priv");
202+
self.eat_keyword(&~"priv");
203203
self.bump();
204204
while *self.token != token::RBRACE {
205205
self.parse_single_class_item(ast::private);

0 commit comments

Comments
 (0)