Package com.puppycrawl.tools.checkstyle
Class JavaParser
- java.lang.Object
-
- com.puppycrawl.tools.checkstyle.JavaParser
-
public final class JavaParser extends Object
Helper methods to parse java source files.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
JavaParser.CheckstyleErrorListener
Custom error listener to provide detailed exception message.static class
JavaParser.Options
Enum to be used for test if comments should be used.
-
Constructor Summary
Constructors Modifier Constructor Description private
JavaParser()
Stop instances being created.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static DetailAST
appendHiddenCommentNodes(DetailAST root)
Appends comment nodes to existing AST.private static DetailAST
createCommentAstFromToken(org.antlr.v4.runtime.CommonToken token)
Create comment AST from token.private static DetailAST
createSlCommentNode(org.antlr.v4.runtime.Token token)
Create single-line comment from token.static DetailAST
parse(FileContents contents)
Static helper method to parses a Java source file.static DetailAST
parseFile(File file, JavaParser.Options options)
Parses Java source file.static DetailAST
parseFileText(FileText text, JavaParser.Options options)
Parse a text and return the parse tree.
-
-
-
Constructor Detail
-
JavaParser
private JavaParser()
Stop instances being created.
-
-
Method Detail
-
parse
public static DetailAST parse(FileContents contents) throws CheckstyleException
Static helper method to parses a Java source file.- Parameters:
contents
- contains the contents of the file- Returns:
- the root of the AST
- Throws:
CheckstyleException
- if the contents is not a valid Java source
-
parseFileText
public static DetailAST parseFileText(FileText text, JavaParser.Options options) throws CheckstyleException
Parse a text and return the parse tree.- Parameters:
text
- the text to parseoptions
-JavaParser.Options
to control inclusion of comment nodes- Returns:
- the root node of the parse tree
- Throws:
CheckstyleException
- if the text is not a valid Java source
-
parseFile
public static DetailAST parseFile(File file, JavaParser.Options options) throws IOException, CheckstyleException
Parses Java source file.- Parameters:
file
- the file to parseoptions
-JavaParser.Options
to control inclusion of comment nodes- Returns:
- DetailAST tree
- Throws:
IOException
- if the file could not be readCheckstyleException
- if the file is not a valid Java source file
-
appendHiddenCommentNodes
public static DetailAST appendHiddenCommentNodes(DetailAST root)
Appends comment nodes to existing AST. It traverses each node in AST, looks for hidden comment tokens and appends found comment tokens as nodes in AST.- Parameters:
root
- of AST- Returns:
- root of AST with comment nodes
-
createCommentAstFromToken
private static DetailAST createCommentAstFromToken(org.antlr.v4.runtime.CommonToken token)
Create comment AST from token. Depending on token type SINGLE_LINE_COMMENT or BLOCK_COMMENT_BEGIN is created.- Parameters:
token
- to create the AST- Returns:
- DetailAST of comment node
-
createSlCommentNode
private static DetailAST createSlCommentNode(org.antlr.v4.runtime.Token token)
Create single-line comment from token.- Parameters:
token
- to create the AST- Returns:
- DetailAST with SINGLE_LINE_COMMENT type
-
-