Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse JDT
Release 3.5

org.eclipse.jdt.core.compiler
Interface IScanner


public interface IScanner

Definition of a Java scanner, as returned by the ToolFactory. The scanner is responsible for tokenizing a given source, providing information about the nature of the token read, its positions and source equivalent.

When the scanner has finished tokenizing, it answers an EOF token ( ITerminalSymbols#TokenNameEOF.

When encountering lexical errors, an InvalidInputException is thrown.

Since:
2.0
See Also:
ToolFactory, ITerminalSymbols
Restriction:
This interface is not intended to be implemented by clients.

Method Summary
 int getCurrentTokenEndPosition ()
          Answers the ending position of the current token inside the original source.
 char[] getCurrentTokenSource ()
          Answers the current identifier source, after unicode escape sequences have been translated into unicode characters.
 int getCurrentTokenStartPosition ()
          Answers the starting position of the current token inside the original source.
 int getLineEnd (int lineNumber)
          Answers the ending position of a given line number.
 int[] getLineEnds ()
          Answers an array of the ending positions of the lines encountered so far.
 int getLineNumber (int charPosition)
          Answers a 1-based line number using the lines which have been encountered so far.
 int getLineStart (int lineNumber)
          Answers the starting position of a given line number.
 int getNextToken ()
          Read the next token in the source, and answers its ID as specified by ITerminalSymbols.
 char[] getRawTokenSource ()
          Answers the current identifier source, before unicode escape sequences have been translated into unicode characters.
 char[] getSource ()
          Answers the original source being processed (not a copy of it).
 void resetTo (int startPosition, int endPosition)
          Reposition the scanner on some portion of the original source.
 void setSource (char[] source)
          Set the scanner source to process.
 

Method Detail

getCurrentTokenSource

char[] getCurrentTokenSource()
Answers the current identifier source, after unicode escape sequences have been translated into unicode characters. For example, if original source was \\u0061bc then it will answer abc.

Returns:
the current identifier source, after unicode escape sequences have been translated into unicode characters

getRawTokenSource

char[] getRawTokenSource()
Answers the current identifier source, before unicode escape sequences have been translated into unicode characters. For example, if original source was \\u0061bc then it will answer \\u0061bc.

Returns:
the current identifier source, before unicode escape sequences have been translated into unicode characters
Since:
2.1

getCurrentTokenStartPosition

int getCurrentTokenStartPosition()
Answers the starting position of the current token inside the original source. This position is zero-based and inclusive. It corresponds to the position of the first character which is part of this token. If this character was a unicode escape sequence, it points at the first character of this sequence.

Returns:
the starting position of the current token inside the original source

getCurrentTokenEndPosition

int getCurrentTokenEndPosition()
Answers the ending position of the current token inside the original source. This position is zero-based and inclusive. It corresponds to the position of the last character which is part of this token. If this character was a unicode escape sequence, it points at the last character of this sequence.

Returns:
the ending position of the current token inside the original source

getLineStart

int getLineStart(int lineNumber)
Answers the starting position of a given line number. This line has to have been encountered already in the tokenization process (in other words, it cannot be used to compute positions of lines beyond current token). Once the entire source has been processed, it can be used without any limit. Line starting positions are zero-based, and start immediately after the previous line separator (if any).

Parameters:
lineNumber - the given line number
Returns:
the starting position of a given line number

getLineEnd

int getLineEnd(int lineNumber)
Answers the ending position of a given line number. This line has to have been encountered already in the tokenization process (in other words, it cannot be used to compute positions of lines beyond current token). Once the entire source has been processed, it can be used without any limit. Line ending positions are zero-based, and correspond to the last character of the line separator (in case multi-character line separators).

Parameters:
lineNumber - the given line number
Returns:
the ending position of a given line number

getLineEnds

int[] getLineEnds()
Answers an array of the ending positions of the lines encountered so far. Line ending positions are zero-based, and correspond to the last character of the line separator (in case multi-character line separators).

Returns:
an array of the ending positions of the lines encountered so far

getLineNumber

int getLineNumber(int charPosition)
Answers a 1-based line number using the lines which have been encountered so far. If the position is located beyond the current scanned line, then the last line number will be answered.

Parameters:
charPosition - the given character position
Returns:
a 1-based line number using the lines which have been encountered so far

getNextToken

int getNextToken()
                 throws 
InvalidInputException
Read the next token in the source, and answers its ID as specified by ITerminalSymbols. Note that the actual token ID values are subject to change if new keywords were added to the language (for instance, 'assert' is a keyword in 1.4).

Returns:
the next token
Throws:
InvalidInputException - in case a lexical error was detected while reading the current token

getSource

char[] getSource()
Answers the original source being processed (not a copy of it).

Returns:
the original source being processed

resetTo

void resetTo(int startPosition,
             int endPosition)
Reposition the scanner on some portion of the original source. The given endPosition is the last valid position. Beyond this position, the scanner will answer EOF tokens (ITerminalSymbols.TokenNameEOF).

Parameters:
startPosition - the given start position
endPosition - the given end position

setSource

void setSource(char[] source)
Set the scanner source to process. By default, the scanner will consider starting at the beginning of the source until it reaches its end. If the given source is null, this clears the source.

Parameters:
source - the given source

Eclipse JDT
Release 3.5

Copyright (c) IBM Corp. and others 2000, 2008. All Rights Reserved.

 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire