-
-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Closed
Milestone
Description
This file is compilable, but Checkstyle cannot parse it:
➜ src javac Test.java
➜ src cat Test.java
public class Test {
class Inner {
class Inner2 {
Inner2(Test.Inner Test.Inner.this) { }
}
}
}
➜ src java -jar checkstyle-8.44-all.jar -t Test.java
com.puppycrawl.tools.checkstyle.api.CheckstyleException: IllegalStateException occurred while parsing file /home/nick/Desktop/Tester/src/Test.java.
at com.puppycrawl.tools.checkstyle.JavaParser.parse(JavaParser.java:120)
at com.puppycrawl.tools.checkstyle.JavaParser.parseFileText(JavaParser.java:137)
at com.puppycrawl.tools.checkstyle.JavaParser.parseFile(JavaParser.java:157)
at com.puppycrawl.tools.checkstyle.AstTreeStringPrinter.printFileAst(AstTreeStringPrinter.java:65)
at com.puppycrawl.tools.checkstyle.Main.runCli(Main.java:285)
at com.puppycrawl.tools.checkstyle.Main.execute(Main.java:191)
at com.puppycrawl.tools.checkstyle.Main.main(Main.java:126)
Caused by: java.lang.IllegalStateException: /home/nick/Desktop/Tester/src/Test.java:4:31: unexpected token: Test
at com.puppycrawl.tools.checkstyle.JavaParser$1.reportError(JavaParser.java:108)
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.typeDefinition(GeneratedJavaRecognizer.java:429)
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.compilationUnit(GeneratedJavaRecognizer.java:212)
at com.puppycrawl.tools.checkstyle.JavaParser.parse(JavaParser.java:114)
... 6 more
Caused by: /home/nick/Desktop/Tester/src/Test.java:4:31: unexpected token: Test
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.variableLengthParameterTypeSpec(GeneratedJavaRecognizer.java:1004)
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.variableLengthParameterDeclaration(GeneratedJavaRecognizer.java:5573)
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.parameterDeclarationList(GeneratedJavaRecognizer.java:4610)
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.ctorHead(GeneratedJavaRecognizer.java:4737)
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.field(GeneratedJavaRecognizer.java:3192)
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.classBlock(GeneratedJavaRecognizer.java:3560)
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.classDefinition(GeneratedJavaRecognizer.java:655)
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.typeDefinitionInternal(GeneratedJavaRecognizer.java:566)
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.field(GeneratedJavaRecognizer.java:3145)
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.classBlock(GeneratedJavaRecognizer.java:3560)
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.classDefinition(GeneratedJavaRecognizer.java:655)
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.typeDefinitionInternal(GeneratedJavaRecognizer.java:566)
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.field(GeneratedJavaRecognizer.java:3145)
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.classBlock(GeneratedJavaRecognizer.java:3560)
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.classDefinition(GeneratedJavaRecognizer.java:655)
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.typeDefinitionInternal(GeneratedJavaRecognizer.java:566)
at com.puppycrawl.tools.checkstyle.grammar.GeneratedJavaRecognizer.typeDefinition(GeneratedJavaRecognizer.java:407)
... 8 more
Checkstyle ends with 1 errors.
I would expect something like the following:
...
| | |--CTOR_DEF -> CTOR_DEF [4:12]
| | | |--MODIFIERS -> MODIFIERS [4:12]
| | | |--IDENT -> Inner2 [4:12]
| | | |--LPAREN -> ( [4:18]
| | | |--PARAMETERS -> PARAMETERS [4:23]
| | | | `--PARAMETER_DEF -> PARAMETER_DEF [4:23]
| | | | |--MODIFIERS -> MODIFIERS [4:23]
| | | | |--TYPE -> TYPE [4:23]
| | | | | `--DOT -> . [4:23]
| | | | | |--IDENT -> Test [4:19]
| | | | | `--IDENT -> Inner [4:24]
| | | | `--DOT -> . [4:40]
| | | | |--DOT -> . [4:34]
| | | | | |--IDENT -> Test [4:30]
| | | | | `--IDENT -> Inner [4:35]
| | | | `--LITERAL_THIS -> this [4:41]
| | | |--RPAREN -> ) [4:45]
| | | `--SLIST -> { [4:47]
| | | `--RCURLY -> } [4:49]
...