class Foo { void foo() { Foo foo = new Foo(); foo.finalize(); // Noncompliant [[sc=9;ec=17]] {{Remove this call to finalize().}} foo.finalize[0]; // Compliant foo.finalize(0); // Compliant foo.toString(); // Compliant foo.finalize; // Compliant super.finalize(); // Noncompliant {{Remove this call to finalize().}} this.finalize(); // Noncompliant {{Remove this call to finalize().}} finalize(); // Noncompliant {{Remove this call to finalize().}} finalize() + 0; // Noncompliant {{Remove this call to finalize().}} } @Override protected void finalize() throws Throwable { super.finalize(); // Compliant } public int foo() { return 0; } }