dynamic evaluate(EvaluationType type, ContextModel context)

This method throws an IntegerDivisionByZeroException, if a divide by zero is encountered.

Source

evaluate(EvaluationType type, ContextModel context) {
  var firstEval = first.evaluate(type, context);
  var secondEval = second.evaluate(type, context);

  if (type == EvaluationType.VECTOR) {
    if (secondEval is double) {
      // scale - nothing special to do
    } else {
      // divide
      return firstEval.divide(secondEval);
    }
  }

  return firstEval / secondEval;
}