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

Method conditionalOr

cel/src/parser/gen/celparser.rs:820–894  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

818 I: TokenStream<'input, TF = LocalTokenFactory<'input>> + TidAble<'input>,
819{
820 pub fn conditionalOr(&mut self) -> Result<Rc<ConditionalOrContextAll<'input>>, ANTLRError> {
821 let mut recog = self;
822 let _parentctx = recog.ctx.take();
823 let mut _localctx =
824 ConditionalOrContextExt::new(_parentctx.clone(), recog.base.get_state());
825 recog
826 .base
827 .enter_rule(_localctx.clone(), 4, RULE_conditionalOr);
828 let mut _localctx: Rc<ConditionalOrContextAll> = _localctx;
829 let mut _la: i32 = -1;
830 let result: Result<(), ANTLRError> = (|| {
831 //recog.base.enter_outer_alt(_localctx.clone(), 1)?;
832 recog.base.enter_outer_alt(None, 1)?;
833 {
834 /*InvokeRule conditionalAnd*/
835 recog.base.set_state(45);
836 let tmp = recog.conditionalAnd()?;
837 cast_mut::<_, ConditionalOrContext>(&mut _localctx).e = Some(tmp.clone());
838
839 recog.base.set_state(50);
840 recog.err_handler.sync(&mut recog.base)?;
841 _la = recog.base.input.la(1);
842 while _la == CEL_LOGICAL_OR {
843 {
844 {
845 recog.base.set_state(46);
846 let tmp = recog
847 .base
848 .match_token(CEL_LOGICAL_OR, &mut recog.err_handler)?;
849 cast_mut::<_, ConditionalOrContext>(&mut _localctx).s9 =
850 Some(tmp.clone());
851
852 let temp = cast_mut::<_, ConditionalOrContext>(&mut _localctx)
853 .s9
854 .clone()
855 .unwrap();
856 cast_mut::<_, ConditionalOrContext>(&mut _localctx)
857 .ops
858 .push(temp);
859
860 /*InvokeRule conditionalAnd*/
861 recog.base.set_state(47);
862 let tmp = recog.conditionalAnd()?;
863 cast_mut::<_, ConditionalOrContext>(&mut _localctx).conditionalAnd =
864 Some(tmp.clone());
865
866 let temp = cast_mut::<_, ConditionalOrContext>(&mut _localctx)
867 .conditionalAnd
868 .clone()
869 .unwrap();
870 cast_mut::<_, ConditionalOrContext>(&mut _localctx)
871 .e1
872 .push(temp);
873 }
874 }
875 recog.base.set_state(52);
876 recog.err_handler.sync(&mut recog.base)?;
877 _la = recog.base.input.la(1);

Callers 1

exprMethod · 0.45

Calls 4

cloneMethod · 0.80
pushMethod · 0.80
report_errorMethod · 0.80
conditionalAndMethod · 0.45

Tested by

no test coverage detected