public override Node VisitMultiplicativeExpression(ECMAScriptParser.MultiplicativeExpressionContext context) { return(new BinaryExpression( context, OperatorsUtils.BinaryOperatorFromString(context.children[1].GetText()), (Expression)Visit(context.singleExpression()[0]), (Expression)Visit(context.singleExpression()[1]) )); }
public override Node VisitEqualityExpression(ECMAScriptParser.EqualityExpressionContext context) { var anOperator = context.children[1].GetText(); if (anOperator == "==" || anOperator == "!=") { throw new NotImplementedException( GenerateErrorMessage(context, "only '===' and '!==' equality operators are supported.")); } return(new BinaryExpression( context, OperatorsUtils.BinaryOperatorFromString(anOperator), (Expression)Visit(context.singleExpression()[0]), (Expression)Visit(context.singleExpression()[1]) )); }