org.eclipse.xtext.ui.editor.syntaxcoloring
Class TokenScanner

java.lang.Object
  extended by org.eclipse.xtext.ui.editor.syntaxcoloring.AbstractTokenScanner
      extended by 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.
 
Constructor Summary
TokenScanner()
           
 
Method Summary
protected  org.eclipse.jface.text.rules.IToken createToken(ILexerTokenRegion currentToken)
           
protected  ILexerTokenRegion getCurrentToken()
           
protected  java.util.Iterator<ILexerTokenRegion> getIterator()
           
protected  AbstractAntlrTokenToAttributeIdMapper getTokenIdMapper()
           
 int getTokenLength()
           
 int getTokenOffset()
           
protected  java.lang.Iterable<ILexerTokenRegion> getTokens(org.eclipse.jface.text.IDocument document)
           
 org.eclipse.jface.text.rules.IToken nextToken()
           
protected  void setCurrentToken(ILexerTokenRegion currentToken)
           
 void setRange(org.eclipse.jface.text.IDocument document, int offset, int length)
           
 void setTokenIdMapper(AbstractAntlrTokenToAttributeIdMapper tokenIdMapper)
           
 
Methods inherited from class org.eclipse.xtext.ui.editor.syntaxcoloring.AbstractTokenScanner
getAttribute, getTextAttributeProvider, setTextAttributeProvider
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TokenScanner

public TokenScanner()
Method Detail

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()