diff options
Diffstat (limited to 'src/parser/event_parser/grammar')
-rw-r--r-- | src/parser/event_parser/grammar/items.rs | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/parser/event_parser/grammar/items.rs b/src/parser/event_parser/grammar/items.rs index 0638e3093..812e407d1 100644 --- a/src/parser/event_parser/grammar/items.rs +++ b/src/parser/event_parser/grammar/items.rs | |||
@@ -235,5 +235,21 @@ fn fn_item(p: &mut Parser) { | |||
235 | assert!(p.at(FN_KW)); | 235 | assert!(p.at(FN_KW)); |
236 | p.bump(); | 236 | p.bump(); |
237 | 237 | ||
238 | p.expect(IDENT) && p.expect(L_PAREN) && p.expect(R_PAREN) && p.curly_block(|_| ()); | 238 | p.expect(IDENT); |
239 | if p.at(L_PAREN) { | ||
240 | fn_value_parameters(p); | ||
241 | } else { | ||
242 | p.error().message("expected function arguments").emit(); | ||
243 | } | ||
244 | |||
245 | if p.at(L_CURLY) { | ||
246 | p.expect(L_CURLY); | ||
247 | p.expect(R_CURLY); | ||
248 | } | ||
249 | |||
250 | fn fn_value_parameters(p: &mut Parser) { | ||
251 | assert!(p.at(L_PAREN)); | ||
252 | p.bump(); | ||
253 | p.expect(R_PAREN); | ||
254 | } | ||
239 | } | 255 | } |