diff --git a/pom.xml b/pom.xml index 8f86bd86d..d874d104c 100644 --- a/pom.xml +++ b/pom.xml @@ -1079,7 +1079,6 @@ 95 .*.Checker8085 - .*.TreeWalker9794 .*.checks.AbstractOptionCheck10080 .*.checks.AbstractTypeAwareCheck8784 diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/TreeWalker.java b/src/main/java/com/puppycrawl/tools/checkstyle/TreeWalker.java index 00f7a758a..a30c0bdb8 100755 --- a/src/main/java/com/puppycrawl/tools/checkstyle/TreeWalker.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/TreeWalker.java @@ -210,9 +210,7 @@ public final class TreeWalker LOG.error(exceptionMsg); final RecognitionException re = tre.recog; String message = "TokenStreamRecognitionException occured"; - if (re != null) { - message = re.getMessage(); - } + message = re.getMessage(); getMessageCollector().add(createLocalizedMessage(message)); } // RecognitionException and any other (need to check if needed) diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/TreeWalkerTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/TreeWalkerTest.java index c6a0fc1e1..c43b976ec 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/TreeWalkerTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/TreeWalkerTest.java @@ -268,4 +268,36 @@ public class TreeWalkerTest extends BaseCheckTestSupport { lines.add(" class a {} "); treeWalker.processFiltered(file, lines); } + + @Test + public void testProcessWithParserTrowable() throws Exception { + final TreeWalker treeWalker = new TreeWalker(); + treeWalker.configure(createCheckConfig(TypeNameCheck.class)); + PackageObjectFactory factory = new PackageObjectFactory( + new HashSet(), Thread.currentThread().getContextClassLoader()); + treeWalker.setModuleFactory(factory); + treeWalker.setCacheFile(temporaryFolder.newFile().getPath()); + treeWalker.setupChild(createCheckConfig(TypeNameCheck.class)); + final File file = temporaryFolder.newFile("file.java"); + ArrayList lines = new ArrayList<>(); + lines.add(" classD a {} "); + + treeWalker.processFiltered(file, lines); + } + + @Test + public void testProcessWithRecognitionException() throws Exception { + final TreeWalker treeWalker = new TreeWalker(); + treeWalker.configure(createCheckConfig(TypeNameCheck.class)); + PackageObjectFactory factory = new PackageObjectFactory( + new HashSet(), Thread.currentThread().getContextClassLoader()); + treeWalker.setModuleFactory(factory); + treeWalker.setCacheFile(temporaryFolder.newFile().getPath()); + treeWalker.setupChild(createCheckConfig(TypeNameCheck.class)); + final File file = temporaryFolder.newFile("file.java"); + ArrayList lines = new ArrayList<>(); + lines.add(" class a%$# {} "); + + treeWalker.processFiltered(file, lines); + } }