Fix #4150: Correctly outdent ternary followed by method call #4535
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I think the code in #4150 is pretty horrible, and the fact that an inline ternary can continue after a method call in else just seems bizarre. But I do think that:
should not compile (certainly not as
.h()
being called on the inline object inside the ternary).So this PR makes it cause a syntax error, as it should. I would guess that implementation-wise this is not the right fix, but it works and I'm not an expert on the
rewriter
logic.