tree 554ea8fa261091ad03998800394e8eda3e26766c
parent 624919455856244dff90124221694423dc7fcf9c
author Bob Nystrom <rnystrom@google.com> 1702062785 -0800
committer GitHub <noreply@github.com> 1702062785 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJlc2rBCRBK7hj4Ov3rIwAAIiwIAGSTWR/jUkMYqr6Y9BlUvm8K
 68xRz+vAAFnLd+N9kN+BkhUYNMSr62JN3M/Td6TDdz0mBuB7gbo2q59tw9iV70Dk
 TMx3nk/K6r1hhl1tgPwA8ZzlxllwPBT2TjvSi0/IPOArRIjbATkhwaR5q+9d9LFC
 h89Udt4LCDN6XCZt9mRluZRo8Qe0NUBeU1FptCYNMPepCntfThfXyjk3XJPQl0Gp
 aHwDY/uFjLpoU0Xducl8NTflMZOoiT0/+2n7pKLsqh2hiruEAaVgaOQVvCK5gC8B
 tRGrTjXrIWijJtdAk7vzOtqWh4FKFbmkq7wzUqhaTfuVoaESJJL58KAzyn8JmtM=
 =ArTc
 -----END PGP SIGNATURE-----
 

Format constructor declarations. (#1338)

Format constructor declarations.

Includes everything that can go in a constructor:

- Factory and redirecting constructors.
- Initializing formals ("this." parameters).
- Super parameters.
- Constructor initializers.
- Assert initializers.

Constructors are tricky because there are some constraints between how
the parameter list and initializer list are allowed to split. Up until
now, aside from setAllowNewlines(), there aren't really any ways that
pieces interact.

To support this, I added a pretty simple API where when a piece calls
CodeWriter.format() on a child piece, it can pass it what state the
piece is required to be in. If the solution doesn't have the child in
that state, it invalidates the solution.

It seems to work pretty well. There is probably a more optimal way to
implement that in the solver so that we test these constraints even
before formatting and discard the solution more eagerly. I left a TODO
comment about that and we can look into it later when we're
benchmarking.
