(&mut self)
| 4276 | I: TokenStream<'input, TF = LocalTokenFactory<'input>> + TidAble<'input>, |
| 4277 | { |
| 4278 | pub fn exprList(&mut self) -> Result<Rc<ExprListContextAll<'input>>, ANTLRError> { |
| 4279 | let mut recog = self; |
| 4280 | let _parentctx = recog.ctx.take(); |
| 4281 | let mut _localctx = ExprListContextExt::new(_parentctx.clone(), recog.base.get_state()); |
| 4282 | recog.base.enter_rule(_localctx.clone(), 18, RULE_exprList); |
| 4283 | let mut _localctx: Rc<ExprListContextAll> = _localctx; |
| 4284 | let mut _la: i32 = -1; |
| 4285 | let result: Result<(), ANTLRError> = (|| { |
| 4286 | //recog.base.enter_outer_alt(_localctx.clone(), 1)?; |
| 4287 | recog.base.enter_outer_alt(None, 1)?; |
| 4288 | { |
| 4289 | /*InvokeRule expr*/ |
| 4290 | recog.base.set_state(186); |
| 4291 | let tmp = recog.expr()?; |
| 4292 | cast_mut::<_, ExprListContext>(&mut _localctx).expr = Some(tmp.clone()); |
| 4293 | |
| 4294 | let temp = cast_mut::<_, ExprListContext>(&mut _localctx) |
| 4295 | .expr |
| 4296 | .clone() |
| 4297 | .unwrap(); |
| 4298 | cast_mut::<_, ExprListContext>(&mut _localctx).e.push(temp); |
| 4299 | |
| 4300 | recog.base.set_state(191); |
| 4301 | recog.err_handler.sync(&mut recog.base)?; |
| 4302 | _la = recog.base.input.la(1); |
| 4303 | while _la == CEL_COMMA { |
| 4304 | { |
| 4305 | { |
| 4306 | recog.base.set_state(187); |
| 4307 | recog.base.match_token(CEL_COMMA, &mut recog.err_handler)?; |
| 4308 | |
| 4309 | /*InvokeRule expr*/ |
| 4310 | recog.base.set_state(188); |
| 4311 | let tmp = recog.expr()?; |
| 4312 | cast_mut::<_, ExprListContext>(&mut _localctx).expr = Some(tmp.clone()); |
| 4313 | |
| 4314 | let temp = cast_mut::<_, ExprListContext>(&mut _localctx) |
| 4315 | .expr |
| 4316 | .clone() |
| 4317 | .unwrap(); |
| 4318 | cast_mut::<_, ExprListContext>(&mut _localctx).e.push(temp); |
| 4319 | } |
| 4320 | } |
| 4321 | recog.base.set_state(193); |
| 4322 | recog.err_handler.sync(&mut recog.base)?; |
| 4323 | _la = recog.base.input.la(1); |
| 4324 | } |
| 4325 | } |
| 4326 | Ok(()) |
| 4327 | })(); |
| 4328 | match result { |
| 4329 | Ok(_) => {} |
| 4330 | Err(e @ ANTLRError::FallThrough(_)) => return Err(e), |
| 4331 | Err(ref re) => { |
| 4332 | //_localctx.exception = re; |
| 4333 | recog.err_handler.report_error(&mut recog.base, re); |
| 4334 | recog.err_handler.recover(&mut recog.base, re)?; |
| 4335 | } |
no test coverage detected