Inspectopedia Help

Method can be made 'void'

Reports methods whose return values are never used when called. The return type of such methods can be made void.

Methods annotated with Error Prone's or AssertJ's @CanIgnoreReturnValue annotation will not be reported. The quick-fix updates the method signature and removes return statements from inside the method.

Example:

// reported if visibility setting is Protected or Public protected String myToUpperCase(String s) { return s.toUpperCase(); } // simple setter, reporting depends on setting public String setStr(String str) { myStr = str; return myStr; } void test() { setStr("value"); // return value is unused myToUpperCase("result"); // return value is unused }

After the quick-fix is applied to both methods:

protected void myToUpperCase(String s) { // 'return' removed completely // as 's.toUpperCase()' has no side effect } public void setStr(String str) { myStr = str; // 'return' removed } ...

NOTE: Some methods might not be reported during in-editor highlighting due to performance reasons. To see all results, run the inspection using Code | Inspect Code or Code | Analyze Code | Run Inspection by Name>

Use the Ignore chainable methods option to ignore unused return values from chainable calls.

Use the Maximal reported method visibility option to control the maximum visibility of methods to be reported.

Inspection options

Option

Type

Default

Ignore chainable methods

Checkbox

false

Maximal method visibility

Dropdown

public

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023