Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
61 additions
and
41 deletions.
There are no files selected for viewing
8 changes: 0 additions & 8 deletions
8
javaparser-core/src/main/java/com/github/javaparser/TokenBase.java
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
46 changes: 46 additions & 0 deletions
46
...re/src/main/javacc-support/com/github/javaparser/GeneratedJavaParserTokenManagerBase.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,46 @@ | |||
package com.github.javaparser; | |||
|
|||
import com.github.javaparser.ast.comments.BlockComment; | |||
import com.github.javaparser.ast.comments.Comment; | |||
import com.github.javaparser.ast.comments.JavadocComment; | |||
import com.github.javaparser.ast.comments.LineComment; | |||
|
|||
import static com.github.javaparser.GeneratedJavaParserConstants.JAVADOC_COMMENT; | |||
import static com.github.javaparser.GeneratedJavaParserConstants.MULTI_LINE_COMMENT; | |||
import static com.github.javaparser.GeneratedJavaParserConstants.SINGLE_LINE_COMMENT; | |||
import static com.github.javaparser.Position.pos; | |||
|
|||
/** Base class for {@link com.github.javaparser.GeneratedJavaParserTokenManager} */ | |||
public class GeneratedJavaParserTokenManagerBase { | |||
/** | |||
* Create a TokenRange that spans exactly one token | |||
*/ | |||
private static TokenRange tokenRange(Token token) { | |||
JavaToken javaToken = token.javaToken; | |||
return new TokenRange(javaToken, javaToken); | |||
} | |||
|
|||
/** | |||
* Since comments are completely captured in a single token, including their delimiters, | |||
* deconstruct them here so we can turn them into nodes later on. | |||
*/ | |||
static Comment createCommentFromToken(Token token) { | |||
String commentText = token.image; | |||
if (token.kind == JAVADOC_COMMENT) { | |||
return new JavadocComment(tokenRange(token), commentText.substring(3, commentText.length() - 2)); | |||
} else if (token.kind == MULTI_LINE_COMMENT) { | |||
return new BlockComment(tokenRange(token), commentText.substring(2, commentText.length() - 2)); | |||
} else if (token.kind == SINGLE_LINE_COMMENT) { | |||
// line comments have their end of line character(s) included, and we don't want that. | |||
Range range = new Range(pos(token.beginLine, token.beginColumn), pos(token.endLine, token.endColumn)); | |||
while (commentText.endsWith("\r") || commentText.endsWith("\n")) { | |||
commentText = commentText.substring(0, commentText.length() - 1); | |||
} | |||
range = range.withEnd(pos(range.begin.line, range.begin.column + commentText.length())); | |||
LineComment comment = new LineComment(tokenRange(token), commentText.substring(2)); | |||
comment.setRange(range); | |||
return comment; | |||
} | |||
throw new AssertionError("Unexpectedly got passed a non-comment token."); | |||
} | |||
} |
11 changes: 11 additions & 0 deletions
11
javaparser-core/src/main/javacc-support/com/github/javaparser/TokenBase.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,11 @@ | |||
package com.github.javaparser; | |||
|
|||
import static com.github.javaparser.GeneratedJavaParserConstants.GT; | |||
|
|||
/** Base class for the generated {@link Token} */ | |||
class TokenBase { | |||
/** For tracking the >> >>> ambiguity. */ | |||
int realKind = GT; | |||
/** This is the link to the token that JavaParser presents to the user */ | |||
JavaToken javaToken; | |||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters