diff options
Diffstat (limited to 'crates/ra_parser/src/grammar.rs')
-rw-r--r-- | crates/ra_parser/src/grammar.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/crates/ra_parser/src/grammar.rs b/crates/ra_parser/src/grammar.rs index 2ee121ccd..beedac457 100644 --- a/crates/ra_parser/src/grammar.rs +++ b/crates/ra_parser/src/grammar.rs | |||
@@ -273,8 +273,8 @@ fn name(p: &mut Parser) { | |||
273 | name_r(p, TokenSet::empty()) | 273 | name_r(p, TokenSet::empty()) |
274 | } | 274 | } |
275 | 275 | ||
276 | fn name_ref(p: &mut Parser, allow_numeric_names: bool) { | 276 | fn name_ref(p: &mut Parser) { |
277 | if p.at(IDENT) || (allow_numeric_names && p.at(INT_NUMBER)) { | 277 | if p.at(IDENT) { |
278 | let m = p.start(); | 278 | let m = p.start(); |
279 | p.bump(); | 279 | p.bump(); |
280 | m.complete(p, NAME_REF); | 280 | m.complete(p, NAME_REF); |
@@ -287,6 +287,16 @@ fn name_ref(p: &mut Parser, allow_numeric_names: bool) { | |||
287 | } | 287 | } |
288 | } | 288 | } |
289 | 289 | ||
290 | fn name_ref_or_index(p: &mut Parser) { | ||
291 | if p.at(IDENT) || p.at(INT_NUMBER) { | ||
292 | let m = p.start(); | ||
293 | p.bump(); | ||
294 | m.complete(p, NAME_REF); | ||
295 | } else { | ||
296 | p.err_and_bump("expected identifier"); | ||
297 | } | ||
298 | } | ||
299 | |||
290 | fn error_block(p: &mut Parser, message: &str) { | 300 | fn error_block(p: &mut Parser, message: &str) { |
291 | assert!(p.at(T!['{'])); | 301 | assert!(p.at(T!['{'])); |
292 | let m = p.start(); | 302 | let m = p.start(); |