(&mut self)
| 4439 | I: TokenStream<'input, TF = LocalTokenFactory<'input>> + TidAble<'input>, |
| 4440 | { |
| 4441 | pub fn listInit(&mut self) -> Result<Rc<ListInitContextAll<'input>>, ANTLRError> { |
| 4442 | let mut recog = self; |
| 4443 | let _parentctx = recog.ctx.take(); |
| 4444 | let mut _localctx = ListInitContextExt::new(_parentctx.clone(), recog.base.get_state()); |
| 4445 | recog.base.enter_rule(_localctx.clone(), 20, RULE_listInit); |
| 4446 | let mut _localctx: Rc<ListInitContextAll> = _localctx; |
| 4447 | let result: Result<(), ANTLRError> = (|| { |
| 4448 | let mut _alt: i32; |
| 4449 | //recog.base.enter_outer_alt(_localctx.clone(), 1)?; |
| 4450 | recog.base.enter_outer_alt(None, 1)?; |
| 4451 | { |
| 4452 | /*InvokeRule optExpr*/ |
| 4453 | recog.base.set_state(194); |
| 4454 | let tmp = recog.optExpr()?; |
| 4455 | cast_mut::<_, ListInitContext>(&mut _localctx).optExpr = Some(tmp.clone()); |
| 4456 | |
| 4457 | let temp = cast_mut::<_, ListInitContext>(&mut _localctx) |
| 4458 | .optExpr |
| 4459 | .clone() |
| 4460 | .unwrap(); |
| 4461 | cast_mut::<_, ListInitContext>(&mut _localctx) |
| 4462 | .elems |
| 4463 | .push(temp); |
| 4464 | |
| 4465 | recog.base.set_state(199); |
| 4466 | recog.err_handler.sync(&mut recog.base)?; |
| 4467 | _alt = recog.interpreter.adaptive_predict(27, &mut recog.base)?; |
| 4468 | while { _alt != 2 && _alt != INVALID_ALT } { |
| 4469 | if _alt == 1 { |
| 4470 | { |
| 4471 | { |
| 4472 | recog.base.set_state(195); |
| 4473 | recog.base.match_token(CEL_COMMA, &mut recog.err_handler)?; |
| 4474 | |
| 4475 | /*InvokeRule optExpr*/ |
| 4476 | recog.base.set_state(196); |
| 4477 | let tmp = recog.optExpr()?; |
| 4478 | cast_mut::<_, ListInitContext>(&mut _localctx).optExpr = |
| 4479 | Some(tmp.clone()); |
| 4480 | |
| 4481 | let temp = cast_mut::<_, ListInitContext>(&mut _localctx) |
| 4482 | .optExpr |
| 4483 | .clone() |
| 4484 | .unwrap(); |
| 4485 | cast_mut::<_, ListInitContext>(&mut _localctx) |
| 4486 | .elems |
| 4487 | .push(temp); |
| 4488 | } |
| 4489 | } |
| 4490 | } |
| 4491 | recog.base.set_state(201); |
| 4492 | recog.err_handler.sync(&mut recog.base)?; |
| 4493 | _alt = recog.interpreter.adaptive_predict(27, &mut recog.base)?; |
| 4494 | } |
| 4495 | } |
| 4496 | Ok(()) |
| 4497 | })(); |
| 4498 | match result { |
no test coverage detected