(&mut self, _p: i32)
| 1452 | } |
| 1453 | |
| 1454 | fn calc_rec(&mut self, _p: i32) -> Result<Rc<CalcContextAll<'input>>, ANTLRError> { |
| 1455 | let recog = self; |
| 1456 | let _parentctx = recog.ctx.take(); |
| 1457 | let _parentState = recog.base.get_state(); |
| 1458 | let mut _localctx = CalcContextExt::new(_parentctx.clone(), recog.base.get_state()); |
| 1459 | recog |
| 1460 | .base |
| 1461 | .enter_recursion_rule(_localctx.clone(), 10, RULE_calc, _p); |
| 1462 | let mut _localctx: Rc<CalcContextAll> = _localctx; |
| 1463 | let mut _prevctx = _localctx.clone(); |
| 1464 | let _startState = 10; |
| 1465 | let mut _la: i32 = -1; |
| 1466 | let result: Result<(), ANTLRError> = (|| { |
| 1467 | let mut _alt: i32; |
| 1468 | //recog.base.enter_outer_alt(_localctx.clone(), 1)?; |
| 1469 | recog.base.enter_outer_alt(None, 1)?; |
| 1470 | { |
| 1471 | { |
| 1472 | /*InvokeRule unary*/ |
| 1473 | recog.base.set_state(73); |
| 1474 | recog.unary()?; |
| 1475 | } |
| 1476 | let tmp = recog.input.lt(-1).cloned(); |
| 1477 | recog.ctx.as_ref().unwrap().set_stop(tmp); |
| 1478 | recog.base.set_state(83); |
| 1479 | recog.err_handler.sync(&mut recog.base)?; |
| 1480 | _alt = recog.interpreter.adaptive_predict(5, &mut recog.base)?; |
| 1481 | while { _alt != 2 && _alt != INVALID_ALT } { |
| 1482 | if _alt == 1 { |
| 1483 | recog.trigger_exit_rule_event()?; |
| 1484 | _prevctx = _localctx.clone(); |
| 1485 | { |
| 1486 | recog.base.set_state(81); |
| 1487 | recog.err_handler.sync(&mut recog.base)?; |
| 1488 | match recog.interpreter.adaptive_predict(4, &mut recog.base)? { |
| 1489 | 1 => { |
| 1490 | { |
| 1491 | /*recRuleAltStartAction*/ |
| 1492 | let mut tmp = |
| 1493 | CalcContextExt::new(_parentctx.clone(), _parentState); |
| 1494 | recog.push_new_recursion_context( |
| 1495 | tmp.clone(), |
| 1496 | _startState, |
| 1497 | RULE_calc, |
| 1498 | )?; |
| 1499 | _localctx = tmp; |
| 1500 | recog.base.set_state(75); |
| 1501 | if !({ |
| 1502 | let _localctx = Some(_localctx.clone()); |
| 1503 | recog.precpred(None, 2) |
| 1504 | }) { |
| 1505 | Err(FailedPredicateError::new( |
| 1506 | &mut recog.base, |
| 1507 | Some("recog.precpred(None, 2)".to_owned()), |
| 1508 | None, |
| 1509 | ))?; |
| 1510 | } |
| 1511 | recog.base.set_state(76); |
no test coverage detected