public MulOp(LatteParser.EMulOpContext context) : base(context.expr()[0], context.expr()[1]) { Mul = context.mulOp() switch { LatteParser.MultiplyContext _ => Mul.Multiply, LatteParser.DivideContext _ => Mul.Divide, LatteParser.ModuloContext _ => Mul.Modulo }; }
public override LatteParser.TypeContext VisitEMulOp(LatteParser.EMulOpContext context) { var lhs = Visit(context.expr()[0]); var rhs = Visit(context.expr()[1]); if (!lhs.Equals(rhs) || !lhs.Equals(new LatteParser.TIntContext())) { Utils.StateUtils.InterruptWithMessage(context.start.Line, ErrorMessages.MulOpToNotInt); } return(new LatteParser.TIntContext()); }