2982 new problems found by Qodana Community for JVM
Qodana Community for JVM
2982 new problems were found
Inspection name | Severity | Problems |
---|---|---|
Constant conditions & exceptions |
🔶 Warning | 698 |
'@Serial' annotation could be used |
🔶 Warning | 594 |
Unused assignment |
🔶 Warning | 287 |
Non-serializable field in a 'Serializable' class |
🔶 Warning | 159 |
Concatenation with empty string |
🔶 Warning | 82 |
Static initializer references subclass |
🔶 Warning | 73 |
Field accessed in both 'synchronized' and unsynchronized contexts |
🔶 Warning | 66 |
Copy constructor misses field |
🔶 Warning | 55 |
Synchronization on local variable or method parameter |
🔶 Warning | 51 |
'equals()' and 'hashCode()' not paired |
🔶 Warning | 48 |
'switch' statement without 'default' branch |
🔶 Warning | 43 |
Use of obsolete collection type |
🔶 Warning | 35 |
Synchronization on 'this' |
🔶 Warning | 35 |
Non-private field accessed in 'synchronized' context |
🔶 Warning | 35 |
Statement with empty body |
🔶 Warning | 33 |
Assignment to 'for' loop parameter |
🔶 Warning | 32 |
Suspicious variable/parameter name combination |
🔶 Warning | 31 |
Use of 'Properties' object as a 'Hashtable' |
🔶 Warning | 30 |
Catch block may ignore exception |
🔶 Warning | 28 |
'Optional' used as field or parameter type |
🔶 Warning | 23 |
Result of method call ignored |
🔶 Warning | 19 |
Pointless bitwise expression |
🔶 Warning | 19 |
Possibly unintended overload of method from superclass |
🔶 Warning | 18 |
Field can be made 'static' |
🔶 Warning | 17 |
Mismatched query and update of collection |
🔶 Warning | 16 |
Deprecated member is still used |
🔶 Warning | 15 |
Bulk operation can be used instead of iteration |
🔶 Warning | 15 |
Method does not call super method |
🔶 Warning | 13 |
Optional.get() is called without isPresent() check |
🔶 Warning | 13 |
Call to 'printStackTrace()' |
🔶 Warning | 13 |
Synchronization on a non-final field |
🔶 Warning | 12 |
Octal integer |
🔶 Warning | 10 |
Abstract class which has no concrete subclass |
🔶 Warning | 10 |
Call to default 'toString()' |
🔶 Warning | 10 |
Type parameter hides visible type |
🔶 Warning | 9 |
Text label in 'switch' statement |
🔶 Warning | 8 |
Cast conflicts with 'instanceof' |
🔶 Warning | 8 |
'Comparable' implemented but 'equals()' not overridden |
🔶 Warning | 8 |
Busy wait |
🔶 Warning | 8 |
Suspicious 'Collection.toArray()' call |
🔶 Warning | 7 |
Magic Constant |
🔶 Warning | 6 |
Default annotation parameter value |
🔶 Warning | 6 |
Optional call chain can be simplified |
🔶 Warning | 6 |
String comparison using '==', instead of 'equals()' |
🔶 Warning | 5 |
Method tries to override 'static' method of superclass |
🔶 Warning | 5 |
I/O resource opened but not safely closed |
🔶 Warning | 5 |
'equals()' called on itself |
🔶 Warning | 4 |
Local variable used and declared in different 'switch' branches |
🔶 Warning | 4 |
Nested 'synchronized' statement |
🔶 Warning | 4 |
'equals()' method which does not check class of parameter |
🔶 Warning | 4 |
'finalize()' should not be overridden |
🔶 Warning | 3 |
Suspicious 'System.arraycopy()' call |
🔶 Warning | 3 |
'StringBuilder' can be replaced with 'String' |
🔶 Warning | 3 |
Suspicious 'List.remove()' in loop |
🔶 Warning | 3 |
Unnecessary 'default' for enum 'switch' statement |
🔶 Warning | 3 |
'throw' inside 'finally' block |
🔶 Warning | 3 |
'return' inside 'finally' block |
🔶 Warning | 3 |
String concatenation in loop |
🔶 Warning | 3 |
String concatenation as argument to 'StringBuilder.append()' call |
🔶 Warning | 3 |
Redundant 'String' operation |
🔶 Warning | 3 |
Too weak variable type leads to unnecessary cast |
🔶 Warning | 3 |
'assert' statement with side effects |
🔶 Warning | 2 |
Redundant character escape |
🔶 Warning | 2 |
'equal()' instead of 'equals()' |
🔶 Warning | 2 |
Simplifiable conditional expression |
🔶 Warning | 2 |
'equals()' between objects of inconvertible types |
🔶 Warning | 2 |
Call to 'set.removeAll(list)' may work slowly |
🔶 Warning | 2 |
Array comparison using '==', instead of 'Arrays.equals()' |
🔶 Warning | 2 |
Unsynchronized method overrides 'synchronized' method |
🔶 Warning | 2 |
Redundant 'Collection.addAll()' call |
🔶 Warning | 2 |
Inner class may be 'static' |
🔶 Warning | 2 |
Call to 'Arrays.asList()' with too few arguments |
🔶 Warning | 2 |
Enum 'switch' statement that misses case |
🔶 Warning | 1 |
Loop variable not updated inside loop |
🔶 Warning | 1 |
Manual array copy |
🔶 Warning | 1 |
Explicit array filling |
🔶 Warning | 1 |
'Throwable' printed to 'System.out' |
🔶 Warning | 1 |
Call to 'list.containsAll(collection)' may have poor performance |
🔶 Warning | 1 |
Infinite loop statement |
🔶 Warning | 1 |
'finally' block which can not complete normally |
🔶 Warning | 1 |
'protected' member in 'final' class |
🔶 Warning | 1 |
Suspicious collection method call |
🔶 Warning | 1 |
Suspicious 'Comparator.compare()' implementation |
🔶 Warning | 1 |
Single character alternation |
🔶 Warning | 1 |
Covariant 'equals()' |
🔶 Warning | 1 |
'Throwable' not thrown |
🔶 Warning | 1 |
Constant conditions & exceptions |
◽️ Notice | 140 |
Multiple occurrences of the same expression |
◽️ Notice | 32 |
Duplicate branches in 'switch' |
◽️ Notice | 6 |
💡 Qodana analysis was run in the pull request mode: only the changed files were checked
View the detailed Qodana report
To be able to view the detailed Qodana report, you can either:
- Register at Qodana Cloud and configure the action
- Use GitHub Code Scanning with Qodana
- Host Qodana report at GitHub Pages
- Inspect and use
qodana.sarif.json
(see the Qodana SARIF format for details)
To get *.log
files or any other Qodana artifacts, run the action with upload-result
option set to true
,
so that the action will upload the files as the job artifacts:
- name: 'Qodana Scan'
uses: JetBrains/qodana-action@v2024.2.3
with:
upload-result: true
Contact Qodana team
Contact us at qodana-support@jetbrains.com
- Or via our issue tracker: https://jb.gg/qodana-issue
- Or share your feedback: https://jb.gg/qodana-discussions
Details
This result was published with Qodana GitHub Action
Annotations
github-actions / Qodana Community for JVM
'equals()' called on itself
`compare()` called on itself
github-actions / Qodana Community for JVM
'equals()' called on itself
`compareToIgnoreCase()` called on itself
github-actions / Qodana Community for JVM
'equals()' called on itself
`compare()` called on itself
github-actions / Qodana Community for JVM
'equals()' called on itself
`compare()` called on itself
Check warning on line 246 in key.ui/src/main/java/de/uka/ilkd/key/gui/nodeviews/SequentView.java
github-actions / Qodana Community for JVM
'finalize()' should not be overridden
'finalize()' should not be overridden
Check warning on line 331 in key.ui/src/main/java/de/uka/ilkd/key/gui/prooftree/ProofTreeView.java
github-actions / Qodana Community for JVM
'finalize()' should not be overridden
'finalize()' should not be overridden
github-actions / Qodana Community for JVM
'finalize()' should not be overridden
'finalize()' should not be overridden
Check warning on line 151 in key.core/src/main/java/de/uka/ilkd/key/smt/newsmt2/MasterHandler.java
github-actions / Qodana Community for JVM
Enum 'switch' statement that misses case
`switch (response) { case YES_THIS_INSTANCE -> { // handle this b...` statement on enum type 'de.uka.ilkd.key.smt.newsmt2.SMTHandler.Capability' misses case 'UNABLE'
Check warning on line 395 in recoder/src/main/java/recoder/service/DefaultConstantEvaluator.java
github-actions / Qodana Community for JVM
String comparison using '==', instead of 'equals()'
String values are compared using `!=`, not 'equals()'
Check warning on line 369 in recoder/src/main/java/recoder/service/DefaultConstantEvaluator.java
github-actions / Qodana Community for JVM
String comparison using '==', instead of 'equals()'
String values are compared using `==`, not 'equals()'
Check warning on line 2658 in recoder/src/main/java/recoder/service/DefaultSourceInfo.java
github-actions / Qodana Community for JVM
String comparison using '==', instead of 'equals()'
String values are compared using `==`, not 'equals()'
Check warning on line 1781 in recoder/src/main/java/recoder/service/DefaultSourceInfo.java
github-actions / Qodana Community for JVM
String comparison using '==', instead of 'equals()'
String values are compared using `==`, not 'equals()'
github-actions / Qodana Community for JVM
String comparison using '==', instead of 'equals()'
String values are compared using `==`, not 'equals()'
Check warning on line 71 in key.ui/src/main/java/de/uka/ilkd/key/gui/actions/KeyAction.java
github-actions / Qodana Community for JVM
Magic Constant
Should be one of: InputEvent.SHIFT_MASK, InputEvent.CTRL_MASK, InputEvent.META_MASK, InputEvent.ALT_MASK, ... or their combination
Check warning on line 48 in key.ui/src/main/java/de/uka/ilkd/key/gui/actions/MainWindowAction.java
github-actions / Qodana Community for JVM
Magic Constant
Should be one of: InputEvent.SHIFT_MASK, InputEvent.CTRL_MASK, InputEvent.META_MASK, InputEvent.ALT_MASK, ... or their combination
Check warning on line 166 in key.ui/src/main/java/de/uka/ilkd/key/gui/docking/DockingLayout.java
github-actions / Qodana Community for JVM
Magic Constant
Should be one of: InputEvent.SHIFT_MASK, InputEvent.CTRL_MASK, InputEvent.META_MASK, InputEvent.ALT_MASK, ... or their combination
github-actions / Qodana Community for JVM
Magic Constant
Should be one of: JComponent.WHEN_FOCUSED, JComponent.WHEN_IN_FOCUSED_WINDOW, ...
Check warning on line 80 in key.ui/src/main/java/de/uka/ilkd/key/gui/prooftree/ProofTreeView.java
github-actions / Qodana Community for JVM
Magic Constant
Should be one of: InputEvent.SHIFT_MASK, InputEvent.CTRL_MASK, InputEvent.META_MASK, InputEvent.ALT_MASK, ... or their combination
github-actions / Qodana Community for JVM
Magic Constant
Should be one of: InputEvent.SHIFT_MASK, InputEvent.CTRL_MASK, InputEvent.META_MASK, InputEvent.ALT_MASK, ... or their combination
Check warning on line 123 in key.core/src/main/java/de/uka/ilkd/key/api/ScriptApi.java
github-actions / Qodana Community for JVM
Loop variable not updated inside loop
Variable 'queue' is not updated inside loop
Check warning on line 34 in key.util/src/main/java/org/key_project/util/ExtList.java
github-actions / Qodana Community for JVM
Suspicious 'System.arraycopy()' call
Source parameter type 'java.lang.Object\[\]' is not assignable to destination parameter `array` of type 'T\[\]'
github-actions / Qodana Community for JVM
Suspicious 'System.arraycopy()' call
Source parameter type 'S\[\]' is not assignable to destination parameter `result` of type 'T\[\]'
github-actions / Qodana Community for JVM
Suspicious 'System.arraycopy()' call
`dest` is not of an array type
Check warning on line 220 in recoder/src/main/java/recoder/kit/TypeKit.java
github-actions / Qodana Community for JVM
Statement with empty body
`else` statement has empty body
Check warning on line 224 in recoder/src/main/java/recoder/kit/TypeKit.java
github-actions / Qodana Community for JVM
Statement with empty body
`else` statement has empty body