org.eclipse.xtext.ui.editor.syntaxcoloring
Class TokenScanner
java.lang.Object
org.eclipse.xtext.ui.editor.syntaxcoloring.AbstractTokenScanner
org.eclipse.xtext.ui.editor.syntaxcoloring.TokenScanner
- All Implemented Interfaces:
- org.eclipse.jface.text.rules.ITokenScanner
- Direct Known Subclasses:
- RichStringAwareTokenScanner
public class TokenScanner
- extends AbstractTokenScanner
TokenScanner implementation based on XtextDocument.getTokens()
- Author:
- Sven Efftinge - Initial contribution and API, Sebastian Zarnekow - Use reentrant iterator to reduce runtime complexity
Nested Class Summary |
protected class |
TokenScanner.RangedReentrantIterator
A reentrant iterator allows to reuse and filter the elements another iterator
and may update its filter criteria continuously. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TokenScanner
public TokenScanner()
setTokenIdMapper
public void setTokenIdMapper(AbstractAntlrTokenToAttributeIdMapper tokenIdMapper)
setRange
public void setRange(org.eclipse.jface.text.IDocument document,
int offset,
int length)
getTokens
protected java.lang.Iterable<ILexerTokenRegion> getTokens(org.eclipse.jface.text.IDocument document)
nextToken
public org.eclipse.jface.text.rules.IToken nextToken()
createToken
protected org.eclipse.jface.text.rules.IToken createToken(ILexerTokenRegion currentToken)
getTokenOffset
public int getTokenOffset()
getTokenLength
public int getTokenLength()
getIterator
protected java.util.Iterator<ILexerTokenRegion> getIterator()
getCurrentToken
protected ILexerTokenRegion getCurrentToken()
setCurrentToken
protected void setCurrentToken(ILexerTokenRegion currentToken)
getTokenIdMapper
protected AbstractAntlrTokenToAttributeIdMapper getTokenIdMapper()