public class Scanner
extends java.lang.Object
7 Lexical Conventions
Modifier and Type | Class and Description |
---|---|
static interface |
Scanner.CommentRecorder |
Modifier and Type | Field and Description |
---|---|
private Scanner.CommentRecorder |
commentRecorder |
private java.util.LinkedList<Token> |
currentTokens |
private ErrorReporter |
errorReporter |
private int |
index |
private SourceFile |
source |
private int |
typeParameterLevel |
Constructor and Description |
---|
Scanner(ErrorReporter errorReporter,
Scanner.CommentRecorder commentRecorder,
SourceFile source) |
Scanner(ErrorReporter errorReporter,
Scanner.CommentRecorder commentRecorder,
SourceFile file,
int offset) |
Modifier and Type | Method and Description |
---|---|
private void |
clearTokenLookahead() |
private Token |
createToken(TokenType type,
int beginToken) |
(package private) void |
decTypeParameterLevel() |
SourceFile |
getFile() |
private LineNumberTable |
getLineNumberTable() |
int |
getOffset() |
SourcePosition |
getPosition() |
private SourcePosition |
getPosition(int offset) |
private SourceRange |
getTokenRange(int startOffset) |
private java.lang.String |
getTokenString(int beginIndex) |
(package private) void |
incTypeParameterLevel() |
private boolean |
isAtEnd() |
private static boolean |
isBinaryDigit(char ch) |
private static boolean |
isDecimalDigit(char ch) |
private static boolean |
isIdentifierPart(char ch) |
private static boolean |
isIdentifierStart(char ch) |
private static boolean |
isLineTerminator(char ch) |
private static boolean |
isOctalDigit(char ch) |
private static boolean |
isRegularExpressionChar(char ch) |
private static boolean |
isRegularExpressionFirstChar(char ch) |
private boolean |
isValidIndex(int index) |
private static boolean |
isWhitespace(char ch) |
private char |
nextChar() |
LiteralToken |
nextRegularExpressionLiteralToken() |
LiteralToken |
nextTemplateLiteralToken() |
private LiteralToken |
nextTemplateLiteralTokenShared(TokenType endType,
TokenType middleType) |
Token |
nextToken() |
private boolean |
peek(char ch) |
private char |
peekChar() |
private char |
peekChar(int offset) |
private boolean |
peekHexDigit() |
private boolean |
peekRegularExpressionClassChar() |
private boolean |
peekStringLiteralChar(char terminator) |
Token |
peekToken() |
Token |
peekToken(int index) |
private boolean |
peekWhitespace() |
private java.lang.String |
processUnicodeEscapes(java.lang.String value)
Converts unicode escapes in the given string to the equivalent unicode character.
|
private void |
recordComment(Comment.Type type,
SourceRange range,
java.lang.String value) |
private void |
reportError(SourcePosition position,
java.lang.String format,
java.lang.Object... arguments) |
private void |
reportError(java.lang.String format,
java.lang.Object... arguments) |
private void |
reportHtmlCommentWarning() |
private void |
reportWarning(java.lang.String format,
java.lang.Object... arguments) |
private LiteralToken |
scanExponentOfNumericLiteral(int beginToken) |
private LiteralToken |
scanFractionalNumericLiteral(int beginToken) |
private Token |
scanIdentifierOrKeyword(int beginToken,
char ch) |
private Token |
scanNumberPostPeriod(int beginToken) |
private Token |
scanPostDigit(int beginToken) |
private Token |
scanPostZero(int beginToken) |
private Token |
scanStringLiteral(int beginIndex,
char terminator) |
private Token |
scanTemplateLiteral(int beginIndex) |
private Token |
scanToken() |
void |
setOffset(int index) |
private void |
skipBinaryDigits() |
private boolean |
skipComment() |
private void |
skipComments() |
private void |
skipDecimalDigits() |
private boolean |
skipHexDigit() |
private void |
skipHexDigits() |
private void |
skipLineTerminator() |
private void |
skipMultiLineComment() |
private void |
skipOctalDigits() |
private boolean |
skipRegularExpressionBackslashSequence() |
private boolean |
skipRegularExpressionBody() |
private boolean |
skipRegularExpressionChar() |
private boolean |
skipRegularExpressionClass() |
private boolean |
skipRegularExpressionClassChar() |
private void |
skipSingleLineComment() |
private void |
skipSingleLineComment(Comment.Type type) |
private boolean |
skipStringLiteralChar() |
private boolean |
skipStringLiteralEscapeSequence() |
private void |
skipTemplateCharacters() |
private boolean |
skipWhitespace()
Returns true if the whitespace that was skipped included any
line terminators.
|
private static int |
valueOfBinaryDigit(char ch) |
private static int |
valueOfOctalDigit(char ch) |
private final ErrorReporter errorReporter
private final SourceFile source
private final java.util.LinkedList<Token> currentTokens
private int index
private final Scanner.CommentRecorder commentRecorder
private int typeParameterLevel
public Scanner(ErrorReporter errorReporter, Scanner.CommentRecorder commentRecorder, SourceFile source)
public Scanner(ErrorReporter errorReporter, Scanner.CommentRecorder commentRecorder, SourceFile file, int offset)
private LineNumberTable getLineNumberTable()
public SourceFile getFile()
public int getOffset()
public void setOffset(int index)
public SourcePosition getPosition()
private SourcePosition getPosition(int offset)
private SourceRange getTokenRange(int startOffset)
public Token nextToken()
private void clearTokenLookahead()
public LiteralToken nextRegularExpressionLiteralToken()
public LiteralToken nextTemplateLiteralToken()
private boolean skipRegularExpressionBody()
private boolean skipRegularExpressionChar()
private boolean skipRegularExpressionBackslashSequence()
private boolean skipRegularExpressionClass()
private boolean peekRegularExpressionClassChar()
private boolean skipRegularExpressionClassChar()
private static boolean isRegularExpressionFirstChar(char ch)
private static boolean isRegularExpressionChar(char ch)
public Token peekToken()
public Token peekToken(int index)
private boolean isAtEnd()
private boolean isValidIndex(int index)
private boolean skipWhitespace()
private boolean peekWhitespace()
private static boolean isWhitespace(char ch)
private static boolean isLineTerminator(char ch)
private void skipComments()
private boolean skipComment()
private void reportHtmlCommentWarning()
private void skipSingleLineComment()
private void skipSingleLineComment(Comment.Type type)
private void recordComment(Comment.Type type, SourceRange range, java.lang.String value)
private void skipMultiLineComment()
private Token scanToken()
private Token scanNumberPostPeriod(int beginToken)
private Token scanPostDigit(int beginToken)
private Token scanPostZero(int beginToken)
private Token scanIdentifierOrKeyword(int beginToken, char ch)
private java.lang.String processUnicodeEscapes(java.lang.String value)
private static boolean isIdentifierStart(char ch)
private static boolean isIdentifierPart(char ch)
private Token scanStringLiteral(int beginIndex, char terminator)
private Token scanTemplateLiteral(int beginIndex)
private LiteralToken nextTemplateLiteralTokenShared(TokenType endType, TokenType middleType)
private java.lang.String getTokenString(int beginIndex)
private boolean peekStringLiteralChar(char terminator)
private boolean skipStringLiteralChar()
private void skipTemplateCharacters()
private boolean skipStringLiteralEscapeSequence()
private boolean skipHexDigit()
private void skipLineTerminator()
private LiteralToken scanFractionalNumericLiteral(int beginToken)
private LiteralToken scanExponentOfNumericLiteral(int beginToken)
private void skipDecimalDigits()
private static boolean isDecimalDigit(char ch)
private boolean peekHexDigit()
private void skipHexDigits()
private void skipOctalDigits()
private static boolean isOctalDigit(char ch)
private static int valueOfOctalDigit(char ch)
private void skipBinaryDigits()
private static boolean isBinaryDigit(char ch)
private static int valueOfBinaryDigit(char ch)
private char nextChar()
private boolean peek(char ch)
private char peekChar()
private char peekChar(int offset)
private void reportError(java.lang.String format, java.lang.Object... arguments)
private void reportError(SourcePosition position, java.lang.String format, java.lang.Object... arguments)
private void reportWarning(java.lang.String format, java.lang.Object... arguments)
void incTypeParameterLevel()
void decTypeParameterLevel()