aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_parser/src/grammar/items/consts.rs
diff options
context:
space:
mode:
authorpcpthm <[email protected]>2019-03-18 05:34:08 +0000
committerpcpthm <[email protected]>2019-03-18 05:34:08 +0000
commit76075c74103b3204ebc1bde54a330629d9e00811 (patch)
tree316ffdffb672856e7d897736e280261a11a07efd /crates/ra_parser/src/grammar/items/consts.rs
parent3d9c2beb8e0d4e0fbaded7dac259cadf7616a3ad (diff)
Use Marker argument for item parsers
- Fix pub_expr - Fix incorrect parsing of crate::path
Diffstat (limited to 'crates/ra_parser/src/grammar/items/consts.rs')
-rw-r--r--crates/ra_parser/src/grammar/items/consts.rs11
1 files changed, 6 insertions, 5 deletions
diff --git a/crates/ra_parser/src/grammar/items/consts.rs b/crates/ra_parser/src/grammar/items/consts.rs
index 5a5852f83..e6e6011c6 100644
--- a/crates/ra_parser/src/grammar/items/consts.rs
+++ b/crates/ra_parser/src/grammar/items/consts.rs
@@ -1,14 +1,14 @@
1use super::*; 1use super::*;
2 2
3pub(super) fn static_def(p: &mut Parser) { 3pub(super) fn static_def(p: &mut Parser, m: Marker) {
4 const_or_static(p, STATIC_KW) 4 const_or_static(p, m, STATIC_KW, STATIC_DEF)
5} 5}
6 6
7pub(super) fn const_def(p: &mut Parser) { 7pub(super) fn const_def(p: &mut Parser, m: Marker) {
8 const_or_static(p, CONST_KW) 8 const_or_static(p, m, CONST_KW, CONST_DEF)
9} 9}
10 10
11fn const_or_static(p: &mut Parser, kw: SyntaxKind) { 11fn const_or_static(p: &mut Parser, m: Marker, kw: SyntaxKind, def: SyntaxKind) {
12 assert!(p.at(kw)); 12 assert!(p.at(kw));
13 p.bump(); 13 p.bump();
14 p.eat(MUT_KW); // TODO: validator to forbid const mut 14 p.eat(MUT_KW); // TODO: validator to forbid const mut
@@ -18,4 +18,5 @@ fn const_or_static(p: &mut Parser, kw: SyntaxKind) {
18 expressions::expr(p); 18 expressions::expr(p);
19 } 19 }
20 p.expect(SEMI); 20 p.expect(SEMI);
21 m.complete(p, def);
21} 22}