(&mut self, _p: i32)
| 1224 | } |
| 1225 | |
| 1226 | fn relation_rec(&mut self, _p: i32) -> Result<Rc<RelationContextAll<'input>>, ANTLRError> { |
| 1227 | let recog = self; |
| 1228 | let _parentctx = recog.ctx.take(); |
| 1229 | let _parentState = recog.base.get_state(); |
| 1230 | let mut _localctx = RelationContextExt::new(_parentctx.clone(), recog.base.get_state()); |
| 1231 | recog |
| 1232 | .base |
| 1233 | .enter_recursion_rule(_localctx.clone(), 8, RULE_relation, _p); |
| 1234 | let mut _localctx: Rc<RelationContextAll> = _localctx; |
| 1235 | let mut _prevctx = _localctx.clone(); |
| 1236 | let _startState = 8; |
| 1237 | let mut _la: i32 = -1; |
| 1238 | let result: Result<(), ANTLRError> = (|| { |
| 1239 | let mut _alt: i32; |
| 1240 | //recog.base.enter_outer_alt(_localctx.clone(), 1)?; |
| 1241 | recog.base.enter_outer_alt(None, 1)?; |
| 1242 | { |
| 1243 | { |
| 1244 | /*InvokeRule calc*/ |
| 1245 | recog.base.set_state(62); |
| 1246 | recog.calc_rec(0)?; |
| 1247 | } |
| 1248 | let tmp = recog.input.lt(-1).cloned(); |
| 1249 | recog.ctx.as_ref().unwrap().set_stop(tmp); |
| 1250 | recog.base.set_state(69); |
| 1251 | recog.err_handler.sync(&mut recog.base)?; |
| 1252 | _alt = recog.interpreter.adaptive_predict(3, &mut recog.base)?; |
| 1253 | while { _alt != 2 && _alt != INVALID_ALT } { |
| 1254 | if _alt == 1 { |
| 1255 | recog.trigger_exit_rule_event()?; |
| 1256 | _prevctx = _localctx.clone(); |
| 1257 | { |
| 1258 | { |
| 1259 | /*recRuleAltStartAction*/ |
| 1260 | let mut tmp = |
| 1261 | RelationContextExt::new(_parentctx.clone(), _parentState); |
| 1262 | recog.push_new_recursion_context( |
| 1263 | tmp.clone(), |
| 1264 | _startState, |
| 1265 | RULE_relation, |
| 1266 | )?; |
| 1267 | _localctx = tmp; |
| 1268 | recog.base.set_state(64); |
| 1269 | if !({ |
| 1270 | let _localctx = Some(_localctx.clone()); |
| 1271 | recog.precpred(None, 1) |
| 1272 | }) { |
| 1273 | Err(FailedPredicateError::new( |
| 1274 | &mut recog.base, |
| 1275 | Some("recog.precpred(None, 1)".to_owned()), |
| 1276 | None, |
| 1277 | ))?; |
| 1278 | } |
| 1279 | recog.base.set_state(65); |
| 1280 | cast_mut::<_, RelationContext>(&mut _localctx).op = |
| 1281 | recog.base.input.lt(1).cloned(); |
| 1282 | |
| 1283 | _la = recog.base.input.la(1); |
no test coverage detected