forked from phoedos/pmd
@ -1845,6 +1845,15 @@ having to deal with the creation of an array.
|
|||||||
[not (./Type/ReferenceType[@Array='true'][PrimitiveType[@Image='byte']])]
|
[not (./Type/ReferenceType[@Array='true'][PrimitiveType[@Image='byte']])]
|
||||||
[not (./Type/ReferenceType[ClassOrInterfaceType[@Image='Byte']])]
|
[not (./Type/ReferenceType[ClassOrInterfaceType[@Image='Byte']])]
|
||||||
[not (./Type/PrimitiveType[@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>
|
]]></value>
|
||||||
</property>
|
</property>
|
||||||
</properties>
|
</properties>
|
||||||
|
@ -82,6 +82,40 @@ method, do not varargs, allow Byte[] as not varargs
|
|||||||
public class Foo {
|
public class Foo {
|
||||||
public void bar(File file, Byte[] data) { }
|
public void bar(File file, Byte[] data) { }
|
||||||
public void bar2(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>
|
]]></code>
|
||||||
</test-code>
|
</test-code>
|
||||||
|
@ -15,6 +15,8 @@
|
|||||||
Check for invalid message format in slf4j loggers.
|
Check for invalid message format in slf4j loggers.
|
||||||
* java-comments/CommentRequired: New property `serialVersionUIDCommentRequired` which controls the comment requirements
|
* java-comments/CommentRequired: New property `serialVersionUIDCommentRequired` which controls the comment requirements
|
||||||
for *serialVersionUID* fields. By default, no comment is required for this field.
|
for *serialVersionUID* fields. By default, no comment is required for this field.
|
||||||
|
* java-design/UseVargs: public static void main method is ignored now and so are methods, that are annotated
|
||||||
|
with Override. See [PR#79](https://github.com/pmd/pmd/pull/79).
|
||||||
|
|
||||||
**Pull Requests:**
|
**Pull Requests:**
|
||||||
|
|
||||||
@ -26,6 +28,7 @@
|
|||||||
* [#76](https://github.com/pmd/pmd/pull/76): fix formatting typos in an example of the DoNotCallGarbageCollectionExplicitly rule
|
* [#76](https://github.com/pmd/pmd/pull/76): fix formatting typos in an example of the DoNotCallGarbageCollectionExplicitly rule
|
||||||
* [#77](https://github.com/pmd/pmd/pull/77): Fix various typos
|
* [#77](https://github.com/pmd/pmd/pull/77): Fix various typos
|
||||||
* [#78](https://github.com/pmd/pmd/pull/78): Add Builder pattern check to the MissingStaticMethodInNonInstantiatableClass rule
|
* [#78](https://github.com/pmd/pmd/pull/78): Add Builder pattern check to the MissingStaticMethodInNonInstantiatableClass rule
|
||||||
|
* [#79](https://github.com/pmd/pmd/pull/79): do not flag public static void main(String[]) as UseVarargs; ignore @Override for UseVarargs
|
||||||
|
|
||||||
**Bugfixes:**
|
**Bugfixes:**
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user