From 2c81de1bb030dbaf3885a17cdfff8a260a7b337e Mon Sep 17 00:00:00 2001 From: rnveach Date: Wed, 4 Jan 2017 21:14:38 -0500 Subject: [PATCH] Issue #3681: fixed NPE in RightCurly when do has no curlies --- .../tools/checkstyle/checks/blocks/RightCurlyCheck.java | 4 +++- .../checkstyle/checks/blocks/InputRightCurlyDoWhile.java | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/RightCurlyCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/RightCurlyCheck.java index 974a4f69f..e2af25de4 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/RightCurlyCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/RightCurlyCheck.java @@ -370,7 +370,9 @@ public class RightCurlyCheck extends AbstractCheck { case TokenTypes.LITERAL_DO: nextToken = ast.findFirstToken(TokenTypes.DO_WHILE); lcurly = ast.findFirstToken(TokenTypes.SLIST); - rcurly = lcurly.getLastChild(); + if (lcurly != null) { + rcurly = lcurly.getLastChild(); + } break; default: // ATTENTION! We have default here, but we expect case TokenTypes.METHOD_DEF, diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/blocks/InputRightCurlyDoWhile.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/blocks/InputRightCurlyDoWhile.java index a4616bfea..9d15730cf 100644 --- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/blocks/InputRightCurlyDoWhile.java +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/blocks/InputRightCurlyDoWhile.java @@ -90,5 +90,9 @@ public class InputRightCurlyDoWhile { public void foo9() { do {} while (true); } + + public void foo10() { + do ; while (true); + } }