MCPcopy Create free account
hub / github.com/cel-rust/cel-rust / member_rec

Method member_rec

cel/src/parser/gen/celparser.rs:2626–2920  ·  view source on GitHub ↗
(&mut self, _p: i32)

Source from the content-addressed store, hash-verified

2624 }
2625
2626 fn member_rec(&mut self, _p: i32) -> Result<Rc<MemberContextAll<'input>>, ANTLRError> {
2627 let recog = self;
2628 let _parentctx = recog.ctx.take();
2629 let _parentState = recog.base.get_state();
2630 let mut _localctx = MemberContextExt::new(_parentctx.clone(), recog.base.get_state());
2631 recog
2632 .base
2633 .enter_recursion_rule(_localctx.clone(), 14, RULE_member, _p);
2634 let mut _localctx: Rc<MemberContextAll> = _localctx;
2635 let mut _prevctx = _localctx.clone();
2636 let _startState = 14;
2637 let mut _la: i32 = -1;
2638 let result: Result<(), ANTLRError> = (|| {
2639 let mut _alt: i32;
2640 //recog.base.enter_outer_alt(_localctx.clone(), 1)?;
2641 recog.base.enter_outer_alt(None, 1)?;
2642 {
2643 {
2644 let mut tmp = PrimaryExprContextExt::new(&**_localctx);
2645 recog.ctx = Some(tmp.clone());
2646 _localctx = tmp;
2647 _prevctx = _localctx.clone();
2648
2649 /*InvokeRule primary*/
2650 recog.base.set_state(102);
2651 recog.primary()?;
2652 }
2653 let tmp = recog.input.lt(-1).cloned();
2654 recog.ctx.as_ref().unwrap().set_stop(tmp);
2655 recog.base.set_state(128);
2656 recog.err_handler.sync(&mut recog.base)?;
2657 _alt = recog.interpreter.adaptive_predict(13, &mut recog.base)?;
2658 while { _alt != 2 && _alt != INVALID_ALT } {
2659 if _alt == 1 {
2660 recog.trigger_exit_rule_event()?;
2661 _prevctx = _localctx.clone();
2662 {
2663 recog.base.set_state(126);
2664 recog.err_handler.sync(&mut recog.base)?;
2665 match recog.interpreter.adaptive_predict(12, &mut recog.base)? {
2666 1 => {
2667 {
2668 /*recRuleLabeledAltStartAction*/
2669 let mut tmp =
2670 SelectContextExt::new(&**MemberContextExt::new(
2671 _parentctx.clone(),
2672 _parentState,
2673 ));
2674 recog.push_new_recursion_context(
2675 tmp.clone(),
2676 _startState,
2677 RULE_member,
2678 )?;
2679 _localctx = tmp;
2680 recog.base.set_state(104);
2681 if !({
2682 let _localctx = Some(_localctx.clone());
2683 recog.precpred(None, 3)

Callers 2

unaryMethod · 0.80
memberMethod · 0.80

Calls 7

cloneMethod · 0.80
report_errorMethod · 0.80
primaryMethod · 0.45
to_ownedMethod · 0.45
escapeIdentMethod · 0.45
exprListMethod · 0.45
exprMethod · 0.45

Tested by

no test coverage detected