eval method

  1. @override
dynamic eval(
  1. dynamic value,
  2. EvalContext context
)
override

Implementation

@override
dynamic eval(dynamic value, EvalContext context) {
  final l = left.eval(value, context);
  final r = right.eval(value, context);

  switch (op) {
    case '+':  return l + r;
    case '-':  return l - r;
    case '*':  return l * r;
    case '/':  return l / r;
    case '%':  return l % r;
    case '&&': return l && r;
    case '||': return l || r;
    case '==': return l == r;
    case '!=': return l != r;
    case '<':  return l < r;
    case '<=': return l <= r;
    case '>':  return l > r;
    case '>=': return l >= r;
    default: return l;
  }
}