This repository was archived by the owner on Nov 20, 2024. It is now read-only.
Detect doubled unnecessary_parenthesis, but allow ternary and equality #3887
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.
This implements new rules for
unnecessary_parenthesis
lint:${( )}
and(( ))
are never OK, drop the inner oneselse,
(a ? b : c)
is always OK(a == b)
and(a != b)
are OK in assignment-like and return-like statements.This pull request addresses two seemingly completely separate changes, but I think it should be done all at once. That is because:
Currently some cases where doubled parentheses happen to be dropped are cases of
((a == b))
etc. So I'd be introducing more false negatives if I remove the old reason to drop these but not add the new one.Removing doubled parentheses just misses one case of
ArgumentList
so it's unclear why I am adding all the other numerous cases here. But more rules are necessary only because they will become the only reason for some cases of((a ? b : c))
to still be dropped.