Esempio n. 1
0
        public override object VisitAssignment_operator([NotNull] Assignment_operatorContext context)
        {
            if (context.EQUALSYMBOL() != null)
            {
                _output.Append('=');
            }
            else if (context.PLUSEQUALS() != null)
            {
                _output.Append("+=");
            }
            else if (context.MINUSQUALS() != null)
            {
                _output.Append("-=");
            }
            else if (context.MULTIPLYEQUALS() != null)
            {
                _output.Append("*=");
            }
            else if (context.DIVIDEEQUALS() != null)
            {
                _output.Append("/=");
            }

            return(null);
        }
        /// <summary>
        /// Matches assignment operators to <see cref="OperatorTypeEnum"/>.
        /// </summary>
        /// <param name="visitor">Visitor.</param>
        /// <param name="context">Current rule context.</param>
        /// <returns>Correct value of <see cref="OperatorTypeEnum"/>.</returns>
        public static OperatorTypeEnum MatchAssignmentOperator(this KSharpVisitor visitor, Assignment_operatorContext context)
        {
            if (context.PLUS_ASSIGN() != null)
            {
                return(OperatorTypeEnum.PLUS_ASSIGN);
            }

            else if (context.MINUS_ASSIGN() != null)
            {
                return(OperatorTypeEnum.MINUS_ASSIGN);
            }

            else if (context.MUL_ASSIGN() != null)
            {
                return(OperatorTypeEnum.MULTIPLY_ASSIGN);
            }

            else if (context.DIV_ASSIGN() != null)
            {
                return(OperatorTypeEnum.DIVIDE_ASSIGN);
            }

            else if (context.MOD_ASSIGN() != null)
            {
                return(OperatorTypeEnum.MODULO_ASSIGN);
            }

            else if (context.AND_ASSIGN() != null)
            {
                return(OperatorTypeEnum.AND_ASSIGN);
            }

            else if (context.OR_ASSIGN() != null)
            {
                return(OperatorTypeEnum.OR_ASSIGN);
            }

            else if (context.XOR_ASSIGN() != null)
            {
                return(OperatorTypeEnum.XOR_ASSIGN);
            }

            else if (context.LEFT_SHIFT_ASSIGN() != null)
            {
                return(OperatorTypeEnum.LEFT_SHIFT_ASSIGN);
            }

            else if (context.right_shift_assignment() != null)
            {
                return(OperatorTypeEnum.RIGHT_SHIFT_ASSIGN);
            }

            else if (context.ASSIGN() != null)
            {
                return(OperatorTypeEnum.ASSIGN);
            }

            return(OperatorTypeEnum.NONE);
        }
Esempio n. 3
0
	public Assignment_operatorContext assignment_operator() {
		Assignment_operatorContext _localctx = new Assignment_operatorContext(_ctx, State);
		EnterRule(_localctx, 208, RULE_assignment_operator);
		int _la;
		try {
			EnterOuterAlt(_localctx, 1);
			{
			State = 1183;
			_la = _input.La(1);
			if ( !(((((_la - 80)) & ~0x3f) == 0 && ((1L << (_la - 80)) & ((1L << (ASSIGN - 80)) | (1L << (ADD_ASSIGN - 80)) | (1L << (SUB_ASSIGN - 80)) | (1L << (MUL_ASSIGN - 80)) | (1L << (DIV_ASSIGN - 80)) | (1L << (AND_ASSIGN - 80)) | (1L << (OR_ASSIGN - 80)) | (1L << (XOR_ASSIGN - 80)) | (1L << (MOD_ASSIGN - 80)) | (1L << (LSHIFT_ASSIGN - 80)) | (1L << (RSHIFT_ASSIGN - 80)))) != 0)) ) {
			_errHandler.RecoverInline(this);
			}
			Consume();
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.ReportError(this, re);
			_errHandler.Recover(this, re);
		}
		finally {
			ExitRule();
		}
		return _localctx;
	}