[java] AvoidCallingFinalizeRule - use rulechain

And improve tests
This commit is contained in:
Andreas Dangel
2020-07-17 20:28:55 +02:00
parent 01e48c882b
commit db21d589d4
2 changed files with 8 additions and 0 deletions

View File

@ -18,6 +18,10 @@ public class AvoidCallingFinalizeRule extends AbstractJavaRule {
private static final Pattern FINALIZE_METHOD_PATTERN = Pattern.compile("^(.+\\.)?finalize$");
public AvoidCallingFinalizeRule() {
addRuleChainVisit(ASTPrimaryExpression.class);
}
@Override
public Object visit(ASTPrimaryExpression primaryExpression, Object data) {
if (isIncorrectFinalizeMethodCall(primaryExpression)) {

View File

@ -7,6 +7,7 @@
<test-code>
<description>simple failure case</description>
<expected-problems>1</expected-problems>
<expected-linenumbers>3</expected-linenumbers>
<code><![CDATA[
public class Foo {
void foo () {
@ -19,6 +20,7 @@ public class Foo {
<test-code>
<description>calling finalize on an object</description>
<expected-problems>1</expected-problems>
<expected-linenumbers>4</expected-linenumbers>
<code><![CDATA[
public class Foo {
void foo () {
@ -32,6 +34,7 @@ public class Foo {
<test-code>
<description>calling super.finalize</description>
<expected-problems>1</expected-problems>
<expected-linenumbers>3</expected-linenumbers>
<code><![CDATA[
public class Foo {
void foo () {
@ -83,6 +86,7 @@ public class Foo {
<test-code>
<description>#1440 NPE in AvoidCallingFinalize</description>
<expected-problems>1</expected-problems>
<expected-linenumbers>3</expected-linenumbers>
<code><![CDATA[
public class InputFinalize {
{