aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrei Selkin <andreyselkin@gmail.com>2017-02-27 23:04:26 +0300
committerRoman Ivanov <romani@users.noreply.github.com>2017-03-03 07:54:21 -0800
commit31bb4ea052d1049f945f076ef531ca964268fa8d (patch)
treea5078ac91f6099280d736c2c2be0495f43a021bb /src
parentcac09c455718b1f96246f9b49710b62c213777f3 (diff)
downloadcheckstyle-31bb4ea052d1049f945f076ef531ca964268fa8d.tar.gz
Issue #3850: Fixed multiline typecast
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheck.java3
-rw-r--r--src/test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheckTest.java11
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/InputWhitespaceMultilineCast.java11
3 files changed, 24 insertions, 1 deletions
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheck.java
index 432638b6f..b7f68b33c 100644
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheck.java
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheck.java
@@ -101,9 +101,9 @@ public class WhitespaceAfterCheck
@Override
public void visitToken(DetailAST ast) {
- final String line = getLine(ast.getLineNo() - 1);
if (ast.getType() == TokenTypes.TYPECAST) {
final DetailAST targetAST = ast.findFirstToken(TokenTypes.RPAREN);
+ final String line = getLine(targetAST.getLineNo() - 1);
if (!isFollowedByWhitespace(targetAST, line)) {
log(targetAST.getLineNo(),
targetAST.getColumnNo() + targetAST.getText().length(),
@@ -111,6 +111,7 @@ public class WhitespaceAfterCheck
}
}
else {
+ final String line = getLine(ast.getLineNo() - 1);
if (!isFollowedByWhitespace(ast, line)) {
final Object[] message = {ast.getText()};
log(ast.getLineNo(),
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheckTest.java
index 960665a7d..7ee44ccef 100644
--- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheckTest.java
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheckTest.java
@@ -75,6 +75,17 @@ public class WhitespaceAfterCheckTest
}
@Test
+ public void testMultilineCast() throws Exception {
+ final DefaultConfiguration configurationTestCast =
+ createCheckConfig(WhitespaceAfterCheck.class);
+ configurationTestCast.addAttribute("tokens", "TYPECAST");
+ final String[] expected = {
+ "7:24: " + getCheckMessage(MSG_WS_TYPECAST),
+ };
+ verify(configurationTestCast, getPath("InputWhitespaceMultilineCast.java"), expected);
+ }
+
+ @Test
public void testSemi() throws Exception {
final DefaultConfiguration configurationTestSemi =
createCheckConfig(WhitespaceAfterCheck.class);
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/InputWhitespaceMultilineCast.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/InputWhitespaceMultilineCast.java
new file mode 100644
index 000000000..1e33d54e0
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/whitespace/InputWhitespaceMultilineCast.java
@@ -0,0 +1,11 @@
+package com.puppycrawl.tools.checkstyle.checks.whitespace;
+
+public class InputWhitespaceMultilineCast {
+ void issue3850() {
+ Object obj = new Object();
+ obj = (java.lang.
+ Object)obj; // violation
+ obj = (java.lang.
+ Object) obj; // ok
+ }
+}