aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuslan Iagudin <ruslan_iagudin@epam.com>2017-09-13 11:23:17 +0300
committerRoman Ivanov <romani@users.noreply.github.com>2017-09-13 18:14:18 -0700
commit1a3a5e0f34e208db993b0871a9204cf594029454 (patch)
treecf03e0a2b520d83118344e5cb9525a4a35966aa9
parent34f987bc87b80c904f591d54713758f43cd09661 (diff)
downloadcheckstyle-1a3a5e0f34e208db993b0871a9204cf594029454.tar.gz
Issue #4157: added support for varargs
-rw-r--r--src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAroundCheck.java1
-rw-r--r--src/test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAroundCheckTest.java17
-rw-r--r--src/test/java/com/puppycrawl/tools/checkstyle/internal/AllChecksTest.java3
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundVarargs.java16
-rw-r--r--src/xdocs/config_whitespace.xml3
5 files changed, 39 insertions, 1 deletions
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAroundCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAroundCheck.java
index fa434c09d..6eb7329fa 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAroundCheck.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAroundCheck.java
@@ -307,6 +307,7 @@ public class WhitespaceAroundCheck extends AbstractCheck {
TokenTypes.WILDCARD_TYPE,
TokenTypes.GENERIC_START,
TokenTypes.GENERIC_END,
+ TokenTypes.ELLIPSIS,
};
}
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAroundCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAroundCheckTest.java
index 6610952a8..9be28bdb9 100644
--- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAroundCheckTest.java
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAroundCheckTest.java
@@ -323,6 +323,7 @@ public class WhitespaceAroundCheckTest
TokenTypes.WILDCARD_TYPE,
TokenTypes.GENERIC_START,
TokenTypes.GENERIC_END,
+ TokenTypes.ELLIPSIS,
};
assertArrayEquals("Default acceptable tokens are invalid", expected, actual);
}
@@ -414,4 +415,20 @@ public class WhitespaceAroundCheckTest
verify(checkConfig, getPath("InputWhitespaceAroundCatch.java"),
expected);
}
+
+ @Test
+ public void testWhitespaceAroundVarargs() throws Exception {
+ checkConfig.addAttribute("tokens", "ELLIPSIS");
+ final String[] expected = {
+ "9:36: " + getCheckMessage(MSG_WS_NOT_PRECEDED, "..."),
+ "10:40: " + getCheckMessage(MSG_WS_NOT_FOLLOWED, "..."),
+ "11:36: " + getCheckMessage(MSG_WS_NOT_PRECEDED, "..."),
+ "11:39: " + getCheckMessage(MSG_WS_NOT_FOLLOWED, "..."),
+ "13:28: " + getCheckMessage(MSG_WS_NOT_PRECEDED, "..."),
+ "13:31: " + getCheckMessage(MSG_WS_NOT_FOLLOWED, "..."),
+ "14:39: " + getCheckMessage(MSG_WS_NOT_PRECEDED, "..."),
+ "14:42: " + getCheckMessage(MSG_WS_NOT_FOLLOWED, "..."),
+ };
+ verify(checkConfig, getPath("InputWhitespaceAroundVarargs.java"), expected);
+ }
}
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/internal/AllChecksTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/internal/AllChecksTest.java
index db553540a..b769f9c43 100644
--- a/src/test/java/com/puppycrawl/tools/checkstyle/internal/AllChecksTest.java
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/internal/AllChecksTest.java
@@ -158,6 +158,7 @@ public class AllChecksTest extends AbstractModuleTestSupport {
CHECKSTYLE_TOKENS_IN_CONFIG_TO_IGNORE.put("WhitespaceAround", Stream.of(
// we prefer no spaces on one side or both for these tokens
"ARRAY_INIT",
+ "ELLIPSIS",
// these are covered by GenericWhitespaceCheck
"WILDCARD_TYPE", "GENERIC_END", "GENERIC_START").collect(Collectors.toSet()));
CHECKSTYLE_TOKENS_IN_CONFIG_TO_IGNORE.put("RightCurly", Stream.of(
@@ -209,6 +210,8 @@ public class AllChecksTest extends AbstractModuleTestSupport {
GOOGLE_TOKENS_IN_CONFIG_TO_IGNORE.put("WhitespaceAround", Stream.of(
// allowed via '4.8.3 Arrays'
"ARRAY_INIT",
+ // '...' is almost same as '[]' by meaning
+ "ELLIPSIS",
// google prefers no spaces on one side or both for these tokens
"GENERIC_START", "GENERIC_END", "WILDCARD_TYPE")
.collect(Collectors.toSet()));
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundVarargs.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundVarargs.java
new file mode 100644
index 000000000..1334dfd7a
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/whitespacearound/InputWhitespaceAroundVarargs.java
@@ -0,0 +1,16 @@
+////////////////////////////////////////////////////////////////////////////////
+// Test case file for checkstyle.
+// Created: 2017
+////////////////////////////////////////////////////////////////////////////////
+package com.puppycrawl.tools.checkstyle.checks.whitespace.whitespacearound;
+
+class InputWhitespaceAroundVarargs
+{
+ public static void main0(String... args) { }
+ public static void main1(String ...args) { }
+ public static void main2(String...args) { }
+ public static void main3(String ... args) { }
+ public void varargs(int...arr) { }
+ public void doubleValue(int a, int...b) { }
+
+}
diff --git a/src/xdocs/config_whitespace.xml b/src/xdocs/config_whitespace.xml
index f8a749cde..c40160f42 100644
--- a/src/xdocs/config_whitespace.xml
+++ b/src/xdocs/config_whitespace.xml
@@ -2289,7 +2289,8 @@ try {
<a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#TYPE_EXTENSION_AND">TYPE_EXTENSION_AND</a>,
<a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#WILDCARD_TYPE">WILDCARD_TYPE</a>,
<a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#GENERIC_START">GENERIC_START</a>,
- <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#GENERIC_END">GENERIC_END</a>.
+ <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#GENERIC_END">GENERIC_END</a>,
+ <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ELLIPSIS">ELLIPSIS</a>.
</td>
<td>
<a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ASSIGN">ASSIGN</a>,