writeExpression method
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;
}