forked from phoedos/pmd
do not flag public static void main(String[]) as UseVarargs; ignore @Override for UseVarargs
This commit is contained in:
parent
fda6bef16e
commit
f67dbb85f6
@ -1775,6 +1775,15 @@ having to deal with the creation of an array.
|
||||
[not (./Type/ReferenceType[@Array='true'][PrimitiveType[@Image='byte']])]
|
||||
[not (./Type/ReferenceType[ClassOrInterfaceType[@Image='Byte']])]
|
||||
[not (./Type/PrimitiveType[@Image='byte'])]
|
||||
[not (ancestor::MethodDeclaration/preceding-sibling::Annotation/*/Name[@Image='Override'])]
|
||||
[not(
|
||||
ancestor::MethodDeclaration
|
||||
[@Public='true' and @Static='true']
|
||||
[child::ResultType[@Void='true']] and
|
||||
ancestor::MethodDeclarator[@Image='main'] and
|
||||
..[@ParameterCount='1'] and
|
||||
./Type/ReferenceType[ClassOrInterfaceType[@Image='String']]
|
||||
)]
|
||||
]]></value>
|
||||
</property>
|
||||
</properties>
|
||||
|
@ -82,6 +82,40 @@ method, do not varargs, allow Byte[] as not varargs
|
||||
public class Foo {
|
||||
public void bar(File file, Byte[] data) { }
|
||||
public void bar2(File file, Byte data[]) { }
|
||||
}
|
||||
]]></code>
|
||||
</test-code>
|
||||
<test-code>
|
||||
<description><![CDATA[
|
||||
method, do not varargs, allow @Override
|
||||
]]></description>
|
||||
<expected-problems>0</expected-problems>
|
||||
<code><![CDATA[
|
||||
public class Foo {
|
||||
@Override
|
||||
protected void bar(String[] args) { }
|
||||
}
|
||||
]]></code>
|
||||
</test-code>
|
||||
<test-code>
|
||||
<description><![CDATA[
|
||||
method, do not varargs, allow public static void main(String[]) as not varargs
|
||||
]]></description>
|
||||
<expected-problems>0</expected-problems>
|
||||
<code><![CDATA[
|
||||
public class Foo {
|
||||
public static void main(String[] args) { }
|
||||
}
|
||||
]]></code>
|
||||
</test-code>
|
||||
<test-code>
|
||||
<description><![CDATA[
|
||||
method, use varargs, deviation from exact main signature flagged
|
||||
]]></description>
|
||||
<expected-problems>1</expected-problems>
|
||||
<code><![CDATA[
|
||||
public class Foo {
|
||||
public static void main(int i, String[] args) { }
|
||||
}
|
||||
]]></code>
|
||||
</test-code>
|
||||
|
Loading…
x
Reference in New Issue
Block a user