Probable bugs
- 'equals()' between objects of inconvertible types
Reports calls to equals() where the target and argument are of incompatible types.
- Division by zero
Reports divisions by zero or remainders by zero.
- Exhaustiveness check for switch expressions
Reports switch expressions that do not cover all possible outcomes of the matched expression.
- Inaccessible element
Reports references which exceed access rights.
- Incompatible 'in' argument types
Reports usages of membership operator in with items and containers of incompatible types.
- Incorrect range arguments
Reports types used in ranges that do not have a next() or previous() method or do not implement the java.lang.Comparable interface.
- Infinite loop statement
Reports for, while, or do statements which can only exit by throwing an exception.
- Infinite recursion
Reports methods which must either recurse infinitely or throw an exception.
- Labeled statement inspection
Reports labels already used in parent workflow.
- Named arguments of constructor call
Reports named arguments of a default class constructor call which don't correspond to properties of this class.
- Non short-circuit boolean
Reports the non-short-circuit forms of boolean operators 'and' and 'or' ( & and | ).
- Non-extending permitted subclasses
Reports permitted classes that do not extend the sealed base class.
- Result of object allocation ignored
Reports object allocation where the result of this operation is ignored.
- Second unsafe call
Reports possible NullPointerException during chain methods or properties call.
- Unresolved GroovyDoc reference
Reports unresolved references inside GroovyDoc comments.
- Unresolved reference expression
Reports reference expressions which cannot be resolved.
- Untyped reference expression
Reports reference expressions whose type can't be determined.