Java


JAVA.FUNCS.RED.INT : Redundant Call for Integral Argument (Java)

Summary

A call is useless when its argument is an integral value.

This checker finds calls that are useless and can consequently be removed from the code. This means that the code becomes simpler and more efficient, but might also be the sign of a programming bug.

Properties

Class Name Redundant Call for Integral Argument (Java)
Significance reliability
Mnemonic JAVA.FUNCS.RED.INT
Categories None
Availability Available for Java only.
Enabling Checks for this warning class are enabled by default. To disable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += discard class="Redundant Call for Integral Argument (Java)"

Example

public class MathExample {

  public static void main(String[] args) {
      testDivide(13, 4);
  }

  private static double testDivide(int a, int b) {
      return Math.floor(a / b); // "Redundant Call for Integral Argument (Java)" warning issued here 
  }
}

As reported in the Java documentation, the method floor returns the largest double value that is less than or equal to the argument and is equal to a mathematical integer. However, the actual parameter a / b is a division between integers (a and b are int), then already return a mathematical integer and the floor method will return the same value.

Resolution

Check if the call is useless and delete it.

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.