diff options
author | Andrei Selkin <andreyselkin@gmail.com> | 2017-02-27 23:04:26 +0300 |
---|---|---|
committer | Roman Ivanov <romani@users.noreply.github.com> | 2017-03-03 07:54:21 -0800 |
commit | 31bb4ea052d1049f945f076ef531ca964268fa8d (patch) | |
tree | a5078ac91f6099280d736c2c2be0495f43a021bb /src | |
parent | cac09c455718b1f96246f9b49710b62c213777f3 (diff) | |
download | checkstyle-31bb4ea052d1049f945f076ef531ca964268fa8d.tar.gz |
Issue #3850: Fixed multiline typecast
Diffstat (limited to 'src')
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 + } +} |