/** * */ package com.sap.ide.cts.parser.incremental.antlr; import org.antlr.runtime.CharStream; import com.sap.furcas.metamodel.FURCAS.textblocks.LexedToken; import com.sap.furcas.runtime.parser.antlr3.ITokenFactory; /** * */ public class WrappingTokenFactory implements ITokenFactory<LexedTokenWrapper> { /* * (non-Javadoc) * * @see com.sap.mi.textual.grammar.antlr3.ITokenFactory#createToken(org.antlr.runtime.CharStream, int, int, int, int) */ @Override public LexedTokenWrapper createToken(CharStream input, int type, int channel, int start, int stop) { if (input instanceof ANTLRIncrementalTokenStream) { // ANTLRIncrementalTokenStream stream = (ANTLRIncrementalTokenStream) input; // TODO get Lexed Token from input stream LexedToken token = null; LexedTokenWrapper tokenWrapper = new LexedTokenWrapper(token); return tokenWrapper; } else { throw new IllegalArgumentException("Unexpected Token Stream class " + input.getClass()); } } }