V7002. The body of a function is fully equivalent to the body of another function.
The analyzer has detected two functions with identical implementations. Although having two identical functions is not an error, they should still be reviewed.
The diagnostic rule detects the following error types:
class Point
{
foo;
bar;
getFoo() { return foo; }
getBar() { return foo; }
}
A typo causes two logically different functions to perform the same actions.
The fixed code:
class Point
{
foo;
bar;
getFoo() { return foo; }
getBar() { return bar; }
}
In the example, the identical bodies of the getFoo and getBar functions indicate an error. However, issuing warnings for all identical functions could result in many false positives. Therefore, the analyzer has a number of exceptions where a warning about identical function bodies is not required.
Some examples of exceptions:
- the function immediately returns a value that is either a literal or
this, for example,isXYZ() { return true; }; - functions with identical bodies are repeated more than twice;
- the function body consists only of the
throwstatement.