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

Method conditionalAnd

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

Source from the content-addressed store, hash-verified

1000 I: TokenStream<'input, TF = LocalTokenFactory<'input>> + TidAble<'input>,
1001{
1002 pub fn conditionalAnd(&mut self) -> Result<Rc<ConditionalAndContextAll<'input>>, ANTLRError> {
1003 let mut recog = self;
1004 let _parentctx = recog.ctx.take();
1005 let mut _localctx =
1006 ConditionalAndContextExt::new(_parentctx.clone(), recog.base.get_state());
1007 recog
1008 .base
1009 .enter_rule(_localctx.clone(), 6, RULE_conditionalAnd);
1010 let mut _localctx: Rc<ConditionalAndContextAll> = _localctx;
1011 let mut _la: i32 = -1;
1012 let result: Result<(), ANTLRError> = (|| {
1013 //recog.base.enter_outer_alt(_localctx.clone(), 1)?;
1014 recog.base.enter_outer_alt(None, 1)?;
1015 {
1016 /*InvokeRule relation*/
1017 recog.base.set_state(53);
1018 let tmp = recog.relation_rec(0)?;
1019 cast_mut::<_, ConditionalAndContext>(&mut _localctx).e = Some(tmp.clone());
1020
1021 recog.base.set_state(58);
1022 recog.err_handler.sync(&mut recog.base)?;
1023 _la = recog.base.input.la(1);
1024 while _la == CEL_LOGICAL_AND {
1025 {
1026 {
1027 recog.base.set_state(54);
1028 let tmp = recog
1029 .base
1030 .match_token(CEL_LOGICAL_AND, &mut recog.err_handler)?;
1031 cast_mut::<_, ConditionalAndContext>(&mut _localctx).s8 =
1032 Some(tmp.clone());
1033
1034 let temp = cast_mut::<_, ConditionalAndContext>(&mut _localctx)
1035 .s8
1036 .clone()
1037 .unwrap();
1038 cast_mut::<_, ConditionalAndContext>(&mut _localctx)
1039 .ops
1040 .push(temp);
1041
1042 /*InvokeRule relation*/
1043 recog.base.set_state(55);
1044 let tmp = recog.relation_rec(0)?;
1045 cast_mut::<_, ConditionalAndContext>(&mut _localctx).relation =
1046 Some(tmp.clone());
1047
1048 let temp = cast_mut::<_, ConditionalAndContext>(&mut _localctx)
1049 .relation
1050 .clone()
1051 .unwrap();
1052 cast_mut::<_, ConditionalAndContext>(&mut _localctx)
1053 .e1
1054 .push(temp);
1055 }
1056 }
1057 recog.base.set_state(60);
1058 recog.err_handler.sync(&mut recog.base)?;
1059 _la = recog.base.input.la(1);

Callers 1

conditionalOrMethod · 0.45

Calls 4

cloneMethod · 0.80
relation_recMethod · 0.80
pushMethod · 0.80
report_errorMethod · 0.80

Tested by

no test coverage detected