writeExpression method

void writeExpression(
  1. Expression<Object> expression,
  2. void write()
)

Implementation

void writeExpression(Expression expression, void Function() write) {
  final savedPrecedence = _expressionPrecedence;
  final needsParentheses =
      savedPrecedence != null && expression.precedence <= savedPrecedence;
  _expressionPrecedence = expression.precedence;
  if (needsParentheses) statement.buffer.write('(');
  write();
  if (needsParentheses) statement.buffer.write(')');
  _expressionPrecedence = savedPrecedence;
}