package com.sap.furcas.runtime.parser.incremental; import java.util.Collections; import java.util.List; import org.antlr.runtime.Lexer; import com.sap.furcas.metamodel.FURCAS.textblocks.AbstractToken; import com.sap.ide.cts.parser.incremental.IncrementalLexer; import com.sap.ide.cts.parser.incremental.antlr.ANTLRIncrementalLexerAdapter; import com.sap.ide.cts.parser.incremental.antlr.ANTLRLexerAdapter; public class MockLexerAdapter extends ANTLRLexerAdapter { public MockLexerAdapter(Lexer antlrLexer) { super(antlrLexer, null); // TODO Auto-generated constructor stub } private List<AbstractToken> nextTokens; private ANTLRIncrementalLexerAdapter callbackLexer; private int nextTokenIndex = 0; @Override public List<AbstractToken> moreTokens() { // simulate token consumption on callbacked lexer callbackLexer.consume(); return Collections.singletonList(nextTokens.get(nextTokenIndex++)); } @Override public void setIncrementalLexer(IncrementalLexer incrementalLexer) { this.callbackLexer = (ANTLRIncrementalLexerAdapter) incrementalLexer; } public void setNextTokens(List<AbstractToken> nextTokens) { this.nextTokens = nextTokens; } }