[java] AvoidCallingFinalizeRule - use rulechain
And improve tests
This commit is contained in:
@ -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)) {
|
||||
|
@ -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 {
|
||||
{
|
||||
|
Reference in New Issue
Block a user