summaryrefslogtreecommitdiff
path: root/src/syntax/parser.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/syntax/parser.rs')
-rw-r--r--src/syntax/parser.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/syntax/parser.rs b/src/syntax/parser.rs
index 15839e18..07f53372 100644
--- a/src/syntax/parser.rs
+++ b/src/syntax/parser.rs
@@ -712,7 +712,14 @@ fn let_binding(p: &mut Parser) {
fn set_rule(p: &mut Parser) {
let m = p.marker();
p.assert(SyntaxKind::Set);
+
+ let m2 = p.marker();
p.expect(SyntaxKind::Ident);
+ while p.eat_if(SyntaxKind::Dot) {
+ p.expect(SyntaxKind::Ident);
+ p.wrap(m2, SyntaxKind::FieldAccess);
+ }
+
args(p);
if p.eat_if(SyntaxKind::If) {
code_expr(p);