evalUnaryExpression method

dynamic evalUnaryExpression(
  1. UnaryExpression expression,
  2. Map<String?, dynamic> context
)

Implementation

dynamic evalUnaryExpression(
    UnaryExpression expression, Map<String?, dynamic> context) {
  var argument = eval(expression.argument, context);
  switch (expression.operator) {
    case '-':
      return -argument;
    case '+':
      return argument;
    case '!':
      // if(argument == null) argument = false; removed by Isaac as we have null aware operator now.
      return !argument;

    case '~':
      return ~argument;
  }
  throw ArgumentError('Unknown unary operator ${expression.operator}');
}