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 6 inspections that provide checks for Logging
- Test frameworks
Sub-group of 7 inspections that provide checks for Test frameworks