Inspectopedia Help

JVM languages

API must already be removed  

Reports declarations marked with @ApiStatus.ScheduledForRemoval that should have been removed in the current version of the declaring library.

Call to 'System.getProperty(str)' could be simplified  

Reports the usage of method System.getProperty(str) and suggests a fix in 2 cases: System.getProperty("path.separator") -> File.pathSeparator System.getProperty("line.separator") -> System.lineSeparator() The second one is not only less error-prone but is likely to be faster, as System.lineSeparator() returns cached value, while System.getProperty("line.separator") each time calls to Properties (Hashtable or CHM depending on implementation).

Call to 'Thread.run()'  

Reports calls to run() on java.lang.Thread or any of its subclasses.

Call to 'equals()' or 'hashCode()' on 'URL' object  

Reports hashCode() and equals() calls on java.net.URL objects and calls that add URL objects to maps and sets.

Class, interface, or method should not be extended  

Reports classes, interfaces and methods that extend, implement, or override API elements marked with @ApiStatus.NonExtendable.

Empty method  

Reports empty methods that can be removed.

Illegal dependency on internal package  

Reports references in modules without module-info.java on packages which are not exported from named modules.

Illegal package dependencies  

Reports illegal dependencies between scopes according to the dependency rules given.

Incorrect MIME Type declaration  

Reports incorrect MIME types (for example, in Content-Type strings) for HTTP servers and clients.

Inspection suppression annotation  

Reports comments or annotations suppressing inspections.

Method can only be overridden  

Reports calls to API methods marked with @ApiStatus.OverrideOnly.

Missing '@Deprecated' annotation on scheduled for removal API  

Reports declarations marked with @ApiStatus.ScheduledForRemoval without @Deprecated.

Non-safe string is passed to safe method  

Reports cases when a non-safe object is passed to a method with a parameter marked with @Untainted annotations, returned from annotated methods or assigned to annotated fields, parameters, or local variables.

Non-safe string is used as SQL  

Reports cases for Java and Kotlin languages when a non-safe string is passed to a method as a SQL query.

Possibly blocking call in non-blocking context  

Reports thread-blocking method calls in code fragments where threads should not be blocked.

Serializable class without 'serialVersionUID'  

Reports classes that implement Serializable and do not declare a serialVersionUID field.

Unknown HTTP header  

Reports unknown HTTP headers that do not match any publicly known headers.

Unstable API Usage  

Reports usages of an API marked with one of the annotations as unstable.

Unstable type is used in signature  

Reports declarations of classes, methods, and fields that reference an unstable API type in the signature, but are not marked with the same unstable annotation.

Usages of API which isn't available at the configured language level  

Reports usages of the API that is unavailable at the configured language level.

Usages of ApiStatus.@Obsolete  

Reports declarations (classes, methods, fields) annotated as @ApiStatus.Obsolete.

Logging  

Sub-group of 4 inspections that provide checks for Logging

Test frameworks  

Sub-group of 7 inspections that provide checks for Test frameworks

Last modified: 18 June 2024