public noncondexpression()

in src/platform/packages/shared/kbn-monaco/src/languages/painless/antlr/painless_parser.ts [1326:1610]


	public noncondexpression(_p?: number): NoncondexpressionContext {
		if (_p === undefined) {
			_p = 0;
		}

		let _parentctx: ParserRuleContext = this._ctx;
		let _parentState: number = this.state;
		let localctx: NoncondexpressionContext = new NoncondexpressionContext(this, this._ctx, _parentState);
		let _prevctx: NoncondexpressionContext = localctx;
		let _startState: number = 32;
		this.enterRecursionRule(localctx, 32, painless_parser.RULE_noncondexpression, _p);
		let _la: number;
		try {
			let _alt: number;
			this.enterOuterAlt(localctx, 1);
			{
			{
			localctx = new SingleContext(this, localctx);
			this._ctx = localctx;
			_prevctx = localctx;

			this.state = 266;
			this.unary();
			}
			this._ctx.stop = this._input.LT(-1);
			this.state = 309;
			this._errHandler.sync(this);
			_alt = this._interp.adaptivePredict(this._input, 25, this._ctx);
			while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
				if (_alt === 1) {
					if (this._parseListeners != null) {
						this.triggerExitRuleEvent();
					}
					_prevctx = localctx;
					{
					this.state = 307;
					this._errHandler.sync(this);
					switch ( this._interp.adaptivePredict(this._input, 24, this._ctx) ) {
					case 1:
						{
						localctx = new BinaryContext(this, new NoncondexpressionContext(this, _parentctx, _parentState));
						this.pushNewRecursionContext(localctx, _startState, painless_parser.RULE_noncondexpression);
						this.state = 268;
						if (!(this.precpred(this._ctx, 13))) {
							throw this.createFailedPredicateException("this.precpred(this._ctx, 13)");
						}
						this.state = 269;
						_la = this._input.LA(1);
						if(!(((((_la - 31)) & ~0x1F) === 0 && ((1 << (_la - 31)) & 7) !== 0))) {
						this._errHandler.recoverInline(this);
						}
						else {
							this._errHandler.reportMatch(this);
						    this.consume();
						}
						this.state = 270;
						this.noncondexpression(14);
						}
						break;
					case 2:
						{
						localctx = new BinaryContext(this, new NoncondexpressionContext(this, _parentctx, _parentState));
						this.pushNewRecursionContext(localctx, _startState, painless_parser.RULE_noncondexpression);
						this.state = 271;
						if (!(this.precpred(this._ctx, 12))) {
							throw this.createFailedPredicateException("this.precpred(this._ctx, 12)");
						}
						this.state = 272;
						_la = this._input.LA(1);
						if(!(_la===34 || _la===35)) {
						this._errHandler.recoverInline(this);
						}
						else {
							this._errHandler.reportMatch(this);
						    this.consume();
						}
						this.state = 273;
						this.noncondexpression(13);
						}
						break;
					case 3:
						{
						localctx = new BinaryContext(this, new NoncondexpressionContext(this, _parentctx, _parentState));
						this.pushNewRecursionContext(localctx, _startState, painless_parser.RULE_noncondexpression);
						this.state = 274;
						if (!(this.precpred(this._ctx, 11))) {
							throw this.createFailedPredicateException("this.precpred(this._ctx, 11)");
						}
						this.state = 275;
						_la = this._input.LA(1);
						if(!(_la===57 || _la===58)) {
						this._errHandler.recoverInline(this);
						}
						else {
							this._errHandler.reportMatch(this);
						    this.consume();
						}
						this.state = 276;
						this.noncondexpression(12);
						}
						break;
					case 4:
						{
						localctx = new BinaryContext(this, new NoncondexpressionContext(this, _parentctx, _parentState));
						this.pushNewRecursionContext(localctx, _startState, painless_parser.RULE_noncondexpression);
						this.state = 277;
						if (!(this.precpred(this._ctx, 10))) {
							throw this.createFailedPredicateException("this.precpred(this._ctx, 10)");
						}
						this.state = 278;
						_la = this._input.LA(1);
						if(!(((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 7) !== 0))) {
						this._errHandler.recoverInline(this);
						}
						else {
							this._errHandler.reportMatch(this);
						    this.consume();
						}
						this.state = 279;
						this.noncondexpression(11);
						}
						break;
					case 5:
						{
						localctx = new CompContext(this, new NoncondexpressionContext(this, _parentctx, _parentState));
						this.pushNewRecursionContext(localctx, _startState, painless_parser.RULE_noncondexpression);
						this.state = 280;
						if (!(this.precpred(this._ctx, 9))) {
							throw this.createFailedPredicateException("this.precpred(this._ctx, 9)");
						}
						this.state = 281;
						_la = this._input.LA(1);
						if(!(((((_la - 39)) & ~0x1F) === 0 && ((1 << (_la - 39)) & 15) !== 0))) {
						this._errHandler.recoverInline(this);
						}
						else {
							this._errHandler.reportMatch(this);
						    this.consume();
						}
						this.state = 282;
						this.noncondexpression(10);
						}
						break;
					case 6:
						{
						localctx = new CompContext(this, new NoncondexpressionContext(this, _parentctx, _parentState));
						this.pushNewRecursionContext(localctx, _startState, painless_parser.RULE_noncondexpression);
						this.state = 283;
						if (!(this.precpred(this._ctx, 7))) {
							throw this.createFailedPredicateException("this.precpred(this._ctx, 7)");
						}
						this.state = 284;
						_la = this._input.LA(1);
						if(!(((((_la - 43)) & ~0x1F) === 0 && ((1 << (_la - 43)) & 15) !== 0))) {
						this._errHandler.recoverInline(this);
						}
						else {
							this._errHandler.reportMatch(this);
						    this.consume();
						}
						this.state = 285;
						this.noncondexpression(8);
						}
						break;
					case 7:
						{
						localctx = new BinaryContext(this, new NoncondexpressionContext(this, _parentctx, _parentState));
						this.pushNewRecursionContext(localctx, _startState, painless_parser.RULE_noncondexpression);
						this.state = 286;
						if (!(this.precpred(this._ctx, 6))) {
							throw this.createFailedPredicateException("this.precpred(this._ctx, 6)");
						}
						this.state = 287;
						this.match(painless_parser.BWAND);
						this.state = 288;
						this.noncondexpression(7);
						}
						break;
					case 8:
						{
						localctx = new BinaryContext(this, new NoncondexpressionContext(this, _parentctx, _parentState));
						this.pushNewRecursionContext(localctx, _startState, painless_parser.RULE_noncondexpression);
						this.state = 289;
						if (!(this.precpred(this._ctx, 5))) {
							throw this.createFailedPredicateException("this.precpred(this._ctx, 5)");
						}
						this.state = 290;
						this.match(painless_parser.XOR);
						this.state = 291;
						this.noncondexpression(6);
						}
						break;
					case 9:
						{
						localctx = new BinaryContext(this, new NoncondexpressionContext(this, _parentctx, _parentState));
						this.pushNewRecursionContext(localctx, _startState, painless_parser.RULE_noncondexpression);
						this.state = 292;
						if (!(this.precpred(this._ctx, 4))) {
							throw this.createFailedPredicateException("this.precpred(this._ctx, 4)");
						}
						this.state = 293;
						this.match(painless_parser.BWOR);
						this.state = 294;
						this.noncondexpression(5);
						}
						break;
					case 10:
						{
						localctx = new BoolContext(this, new NoncondexpressionContext(this, _parentctx, _parentState));
						this.pushNewRecursionContext(localctx, _startState, painless_parser.RULE_noncondexpression);
						this.state = 295;
						if (!(this.precpred(this._ctx, 3))) {
							throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");
						}
						this.state = 296;
						this.match(painless_parser.BOOLAND);
						this.state = 297;
						this.noncondexpression(4);
						}
						break;
					case 11:
						{
						localctx = new BoolContext(this, new NoncondexpressionContext(this, _parentctx, _parentState));
						this.pushNewRecursionContext(localctx, _startState, painless_parser.RULE_noncondexpression);
						this.state = 298;
						if (!(this.precpred(this._ctx, 2))) {
							throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");
						}
						this.state = 299;
						this.match(painless_parser.BOOLOR);
						this.state = 300;
						this.noncondexpression(3);
						}
						break;
					case 12:
						{
						localctx = new ElvisContext(this, new NoncondexpressionContext(this, _parentctx, _parentState));
						this.pushNewRecursionContext(localctx, _startState, painless_parser.RULE_noncondexpression);
						this.state = 301;
						if (!(this.precpred(this._ctx, 1))) {
							throw this.createFailedPredicateException("this.precpred(this._ctx, 1)");
						}
						this.state = 302;
						this.match(painless_parser.ELVIS);
						this.state = 303;
						this.noncondexpression(1);
						}
						break;
					case 13:
						{
						localctx = new InstanceofContext(this, new NoncondexpressionContext(this, _parentctx, _parentState));
						this.pushNewRecursionContext(localctx, _startState, painless_parser.RULE_noncondexpression);
						this.state = 304;
						if (!(this.precpred(this._ctx, 8))) {
							throw this.createFailedPredicateException("this.precpred(this._ctx, 8)");
						}
						this.state = 305;
						this.match(painless_parser.INSTANCEOF);
						this.state = 306;
						this.decltype();
						}
						break;
					}
					}
				}
				this.state = 311;
				this._errHandler.sync(this);
				_alt = this._interp.adaptivePredict(this._input, 25, this._ctx);
			}
			}
		}
		catch (re) {
			if (re instanceof RecognitionException) {
				localctx.exception = re;
				this._errHandler.reportError(this, re);
				this._errHandler.recover(this, re);
			} else {
				throw re;
			}
		}
		finally {
			this.unrollRecursionContexts(_parentctx);
		}
		return localctx;
	}