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

Method optField

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

Source from the content-addressed store, hash-verified

4866 I: TokenStream<'input, TF = LocalTokenFactory<'input>> + TidAble<'input>,
4867{
4868 pub fn optField(&mut self) -> Result<Rc<OptFieldContextAll<'input>>, ANTLRError> {
4869 let mut recog = self;
4870 let _parentctx = recog.ctx.take();
4871 let mut _localctx = OptFieldContextExt::new(_parentctx.clone(), recog.base.get_state());
4872 recog.base.enter_rule(_localctx.clone(), 24, RULE_optField);
4873 let mut _localctx: Rc<OptFieldContextAll> = _localctx;
4874 let mut _la: i32 = -1;
4875 let result: Result<(), ANTLRError> = (|| {
4876 //recog.base.enter_outer_alt(_localctx.clone(), 1)?;
4877 recog.base.enter_outer_alt(None, 1)?;
4878 {
4879 recog.base.set_state(216);
4880 recog.err_handler.sync(&mut recog.base)?;
4881 _la = recog.base.input.la(1);
4882 if _la == CEL_QUESTIONMARK {
4883 {
4884 recog.base.set_state(215);
4885 let tmp = recog
4886 .base
4887 .match_token(CEL_QUESTIONMARK, &mut recog.err_handler)?;
4888 cast_mut::<_, OptFieldContext>(&mut _localctx).opt = Some(tmp.clone());
4889 }
4890 }
4891
4892 /*InvokeRule escapeIdent*/
4893 recog.base.set_state(218);
4894 recog.escapeIdent()?;
4895 }
4896 Ok(())
4897 })();
4898 match result {
4899 Ok(_) => {}
4900 Err(e @ ANTLRError::FallThrough(_)) => return Err(e),
4901 Err(ref re) => {
4902 //_localctx.exception = re;
4903 recog.err_handler.report_error(&mut recog.base, re);
4904 recog.err_handler.recover(&mut recog.base, re)?;
4905 }
4906 }
4907 recog.base.exit_rule()?;
4908
4909 Ok(_localctx)
4910 }
4911}
4912//------------------- mapInitializerList ----------------
4913pub type MapInitializerListContextAll<'input> = MapInitializerListContext<'input>;

Callers 1

Calls 3

cloneMethod · 0.80
report_errorMethod · 0.80
escapeIdentMethod · 0.45

Tested by

no test coverage detected