'VS code - SonarLint:Simplify the expression produce invalid syntax
I'm getting S1125 for a code smell:
MyVO vo;
public boolean is() {
return vo == null ? false : vo.is();
}
Remove the unnecessary boolean literal.sonarlint(java:S1125)
But when choosing Quick Fix -> SonarLint:Simplify the expression
it return invalid java syntax:
return !vo == null && vo.is();
Is it Sonar Lint bug ? is my vs code settings is wrong?
Obviously it should fix to:
return vo != null && vo.is();
(Using latest VS code and sonar lint plugin)
I didn't find any issue in sonar community/Jira
Solution 1:[1]
Opened a question in Sonar community https://community.sonarsource.com/t/sonarlint-simplify-the-expression-wrong-syntax-on-java-s1125/62467
Which reported as SONARJAVA-4241
S1125: erroneous quick fix suggestion when negating a binary operation
and probably will be removed
It seems that covering all the cases seems tricky. We might want to simplify and simply don't suggest a quick fix if the expression is a binary operation.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | user7294900 |