Skip to content

Allow omitting parentheses for Expression.asA(Expression other) #1140

@Robbendebiene

Description

@Robbendebiene

Expression.asA(Expression other) always wraps the code into parentheses. While this is a good default it is not always necessary. The problem for me is that the generated code triggers the linter rule unnecessary_parenthesis in our CI. Unfortunately dart_style auto fixes does not support the removal of unnecessary parenthesis.

My suggestion would be to have an optional parameter.
the following:

https://github.com/dart-lang/code_builder/blob/006790d8f3245124cc322bdf50376536ba28d85c/lib/src/specs/expression.dart#L68-L73

becomes

  Expression asA(Expression other, { bool parenthesized = true }) {
     final exp = BinaryExpression._( expression, other,  'as'));
     return parenthesized
        ? ParenthesizedExpression._(exp)
        : exp
  }

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions