Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ protected List<CommonToken> getTokens(String model) {
do {
currentToken = (CommonToken) tokenSource.nextToken();
tokens.add(currentToken);
} while(currentToken != Token.EOF_TOKEN);
} while (currentToken.getType() != Token.EOF);
return tokens;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ protected LazyLinkingResource createResource(final String model) throws IOExcept
Lexer lexer = lexerProvider.get();
lexer.setCharStream(new ANTLRStringStream(string));
Token token = lexer.nextToken();
while(token != Token.EOF_TOKEN) {
while (token.getType() != Token.EOF) {
tokenList.add((CommonToken) token);
token = lexer.nextToken();
}
Expand Down Expand Up @@ -233,7 +233,7 @@ protected LazyLinkingResource createResource(final String model) throws IOExcept
Lexer lexer = lexerProvider.get();
lexer.setCharStream(new ANTLRStringStream(string));
Token token = lexer.nextToken();
while(token != Token.EOF_TOKEN) {
while (token.getType() != Token.EOF) {
tokenList.add((CommonToken) token);
token = lexer.nextToken();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ public Lexer get() {
Lexer lexer = lexerProvider.get();
lexer.setCharStream(new ANTLRStringStream(string));
Token token = lexer.nextToken();
while(token != Token.EOF_TOKEN) {
while (token.getType() != Token.EOF) {
tokenList.add((CommonToken) token);
token = lexer.nextToken();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public Token nextToken() {
try {
int type = flexer.advance();
if (type == Token.EOF) {
return Token.EOF_TOKEN;
return new CommonToken(Token.EOF);
}
int length = flexer.getTokenLength();
final String tokenText = flexer.getTokenText();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public Token nextToken() {
try {
int type = flexer.advance();
if (type == Token.EOF) {
return Token.EOF_TOKEN;
return new CommonToken(Token.EOF);
}
int length = flexer.getTokenLength();
CommonToken result = new CommonTokenWithoutText(type, Token.DEFAULT_CHANNEL, offset, length);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class FlexerBasedTemplateBodyHighlighter extends TemplateBodyHighlighter {
override doProvideHighlightingFor(String body, IHighlightedPositionAcceptor acceptor) {
val tokenSource = createTokenSource(new StringReader(body))
var token = tokenSource.nextToken
while (token != Token.EOF_TOKEN) {
while (token.type !== Token.EOF) {
val id = token.type.id
val offset = token.offset
val length = token.length
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

import com.google.inject.Inject;
import java.io.StringReader;
import java.util.Objects;
import org.antlr.runtime.Token;
import org.eclipse.xtend.core.parser.antlr.internal.FlexTokenSource;
import org.eclipse.xtend.core.parser.antlr.internal.FlexerFactory;
Expand Down Expand Up @@ -38,7 +37,7 @@ public void doProvideHighlightingFor(final String body, final IHighlightedPositi
StringReader _stringReader = new StringReader(body);
final FlexTokenSource tokenSource = this._flexerFactory.createTokenSource(_stringReader);
Token token = tokenSource.nextToken();
while ((!Objects.equals(token, Token.EOF_TOKEN))) {
while ((token.getType() != Token.EOF)) {
{
final String id = this._abstractAntlrTokenToAttributeIdMapper.getId(token.getType());
final int offset = TokenTool.getOffset(token);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,16 +65,14 @@ public boolean existsConflict(String lastCompleteText, String proposal, ContentA
if (!equalTokenSequence(getProposalLexer(), getCombinedLexer()))
return true;
Token lastToken = getProposalLexer().nextToken();
if (!lastToken.equals(Token.EOF_TOKEN))
return true;
return false;
return lastToken.getType() != Token.EOF;
}

protected boolean equalTokenSequence(TokenSource first, TokenSource second) {
Token token = null;
while (!(token = first.nextToken()).equals(Token.EOF_TOKEN)) {
while ((token = first.nextToken()).getType() != Token.EOF) {
Token otherToken = second.nextToken();
if (otherToken.equals(Token.EOF_TOKEN)) {
if (otherToken.getType() == Token.EOF) {
return false;
}
if (!token.getText().equals(otherToken.getText())) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -285,10 +285,10 @@ protected void createContextsForLastCompleteNode(EObject previousModel, boolean
if (!Strings.isEmpty(currentNodePrefix) && !currentNode.getText().equals(currentNodePrefix)) {
lexer.setCharStream(new ANTLRStringStream(currentNodePrefix));
Token token = lexer.nextToken();
if (token == Token.EOF_TOKEN) { // error case - nothing could be parsed
if (token.getType() == Token.EOF) { // error case - nothing could be parsed
return;
}
while(token != Token.EOF_TOKEN) {
while(token.getType() != Token.EOF) {
if (isErrorToken(token))
return;
token = lexer.nextToken();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

import java.util.Iterator;

import org.antlr.runtime.CommonToken;
import org.antlr.runtime.Token;
import org.antlr.runtime.TokenSource;

Expand All @@ -30,7 +31,7 @@ public Token nextToken() {
ILookAheadTerminal lookAhead = iter.next();
return lookAhead.getToken();
}
return Token.EOF_TOKEN;
return new CommonToken(Token.EOF);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.nodemodel.ILeafNode;
import org.eclipse.xtext.nodemodel.INode;
import org.eclipse.xtext.parser.antlr.Lexer;
import org.eclipse.xtext.util.Strings;

/**
Expand All @@ -27,10 +28,10 @@ protected void createContextsForLastCompleteNode(EObject previousModel, boolean
if (!Strings.isEmpty(currentNodePrefix) && !currentNode.getText().equals(currentNodePrefix)) {
lexer.setCharStream(new ANTLRStringStream(currentNodePrefix));
Token token = lexer.nextToken();
if (token == Token.EOF_TOKEN) {
if (token.getType() == Token.EOF) {
return;
}
while (token != Token.EOF_TOKEN) {
while (token.getType() != Token.EOF) {
if (isErrorToken(token)) {
return;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ protected IUnorderedGroupHelper getUnorderedGroupHelper() {

@Override
protected void error(NoViableAltException nvae) {
if (nvae.token == Token.EOF_TOKEN) {
if (nvae.token.getType() == Token.EOF) {
int lookAheadAddOn = getRecognizer().lookAheadAddOn;
int lookAhead = ((XtextTokenStream)nvae.input).getCurrentLookAhead();
if ((lookAhead >= lookAheadAddOn && lookAheadAddOn > 0) || (lookAhead == 0 && lookAheadAddOn > 0) || lookAhead == -1)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
package org.eclipse.xtext.ide.editor.contentassist.antlr.internal;

import org.antlr.runtime.CharStream;
import org.antlr.runtime.CommonToken;
import org.antlr.runtime.FailedPredicateException;
import org.antlr.runtime.NoViableAltException;
import org.antlr.runtime.RecognitionException;
Expand All @@ -22,7 +23,7 @@
public abstract class Lexer extends org.antlr.runtime.Lexer {

private static final Logger logger = Logger.getLogger(Lexer.class);

protected Lexer(CharStream input) {
super(input);
}
Expand All @@ -45,7 +46,7 @@ public Token nextToken() {
state.tokenStartLine = input.getLine();
state.text = null;
if ( input.LA(1)==CharStream.EOF ) {
return Token.EOF_TOKEN;
return new CommonToken(Token.EOF);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense to create a CommonToken with correct offset information?

}
try {
mTokens();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@

/**
* Base class for smoke tests.
*
*
* Clients may want to use the {@link XtextSmokeTestRunner} instead.
*
*
* @author Sebastian Zarnekow - Initial contribution and API
* @author Sven Efftinge
*/
Expand Down Expand Up @@ -83,7 +83,7 @@ public void testSkipTokensInBetween() throws Exception {
Lexer lexer = lexerProvider.get();
lexer.setCharStream(new ANTLRStringStream(string));
Token token = lexer.nextToken();
while (token != Token.EOF_TOKEN) {
while (token.getType() != Token.EOF) {
tokenList.add((CommonToken) token);
token = lexer.nextToken();
}
Expand Down Expand Up @@ -157,7 +157,7 @@ public void testSkipTokensInBetweenWithoutResourceSet() throws Exception {
Lexer lexer = lexerProvider.get();
lexer.setCharStream(new ANTLRStringStream(string));
Token token = lexer.nextToken();
while (token != Token.EOF_TOKEN) {
while (token.getType() != Token.EOF) {
tokenList.add((CommonToken) token);
token = lexer.nextToken();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
import java.util.List;

import org.antlr.runtime.ANTLRStringStream;
import org.antlr.runtime.CommonToken;
import org.antlr.runtime.CommonTokenStream;
import org.antlr.runtime.Token;
import org.eclipse.xtext.testlanguages.parser.antlr.internal.InternalSimpleExpressionsTestLanguageLexer;
import org.eclipse.xtext.testlanguages.parser.antlr.internal.InternalSimpleExpressionsTestLanguageParser;
import org.junit.Assert;
Expand All @@ -27,21 +27,21 @@ public class LexerErrorTest extends Assert {
lexer.setCharStream(new ANTLRStringStream(model));
CommonTokenStream stream = new CommonTokenStream(lexer);
@SuppressWarnings("unchecked")
List<CommonToken> tokens = stream.getTokens();
List<? extends Token> tokens = stream.getTokens();
assertEquals(tokens.toString(), 3, tokens.size());
assertEquals("a", tokens.get(0).getText());
assertEquals(" ", tokens.get(1).getText());
assertEquals("/* incomplete comment *", tokens.get(2).getText());
assertEquals(0, tokens.get(2).getType());
}

@Test public void testLexerError_02() throws Exception {
String model = "a 'incomplete string";
InternalSimpleExpressionsTestLanguageLexer lexer = new InternalSimpleExpressionsTestLanguageLexer();
lexer.setCharStream(new ANTLRStringStream(model));
CommonTokenStream stream = new CommonTokenStream(lexer);
@SuppressWarnings("unchecked")
List<CommonToken> tokens = stream.getTokens();
List<? extends Token> tokens = stream.getTokens();
assertEquals(tokens.toString(), 3, tokens.size());
assertEquals("a", tokens.get(0).getText());
assertEquals(" ", tokens.get(1).getText());
Expand All @@ -55,49 +55,49 @@ public class LexerErrorTest extends Assert {
lexer.setCharStream(new ANTLRStringStream(model));
CommonTokenStream stream = new CommonTokenStream(lexer);
@SuppressWarnings("unchecked")
List<CommonToken> tokens = stream.getTokens();
List<? extends Token> tokens = stream.getTokens();
assertEquals(tokens.toString(), 3, tokens.size());
assertEquals("a", tokens.get(0).getText());
assertEquals(" ", tokens.get(1).getText());
assertEquals("'\\ incomplete string with bad escape sequence", tokens.get(2).getText());
assertEquals(0, tokens.get(2).getType());
}

@Test public void testLexerError_04() throws Exception {
String model = "a 'incomplete string with bad escape sequence \\";
InternalSimpleExpressionsTestLanguageLexer lexer = new InternalSimpleExpressionsTestLanguageLexer();
lexer.setCharStream(new ANTLRStringStream(model));
CommonTokenStream stream = new CommonTokenStream(lexer);
@SuppressWarnings("unchecked")
List<CommonToken> tokens = stream.getTokens();
List<? extends Token> tokens = stream.getTokens();
assertEquals(tokens.toString(), 3, tokens.size());
assertEquals("a", tokens.get(0).getText());
assertEquals(" ", tokens.get(1).getText());
assertEquals("'incomplete string with bad escape sequence \\", tokens.get(2).getText());
assertEquals(0, tokens.get(2).getType());
}

@Test public void testLexerError_05() throws Exception {
String model = "a 'incomplete string \\'";
InternalSimpleExpressionsTestLanguageLexer lexer = new InternalSimpleExpressionsTestLanguageLexer();
lexer.setCharStream(new ANTLRStringStream(model));
CommonTokenStream stream = new CommonTokenStream(lexer);
@SuppressWarnings("unchecked")
List<CommonToken> tokens = stream.getTokens();
List<? extends Token> tokens = stream.getTokens();
assertEquals(tokens.toString(), 3, tokens.size());
assertEquals("a", tokens.get(0).getText());
assertEquals(" ", tokens.get(1).getText());
assertEquals("'incomplete string \\'", tokens.get(2).getText());
assertEquals(0, tokens.get(2).getType());
}

@Test public void testLexerError_06() throws Exception {
String model = "a '";
InternalSimpleExpressionsTestLanguageLexer lexer = new InternalSimpleExpressionsTestLanguageLexer();
lexer.setCharStream(new ANTLRStringStream(model));
CommonTokenStream stream = new CommonTokenStream(lexer);
@SuppressWarnings("unchecked")
List<CommonToken> tokens = stream.getTokens();
List<? extends Token> tokens = stream.getTokens();
assertEquals(tokens.toString(), 3, tokens.size());
assertEquals("a", tokens.get(0).getText());
assertEquals(" ", tokens.get(1).getText());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ protected List<CommonToken> getTokens(String model) {
currentToken = (CommonToken) lexer.nextToken();
// System.out.println(currentToken);
tokens.add(currentToken);
} while(currentToken != Token.EOF_TOKEN);
} while (currentToken.getType() != Token.EOF);
return tokens;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ protected void doTestLookahead(int lookAhead, int tokenCount) {
@Override
public Token nextToken() {
if (tokenCount == 0)
return Token.EOF_TOKEN;
return new CommonToken(Token.EOF);
return new CommonToken(tokenCount--, "Text");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public void provideHighlightingFor(String body, org.eclipse.xtext.ide.editor.syn
protected void doProvideHighlightingFor(String body, org.eclipse.xtext.ide.editor.syntaxcoloring.IHighlightedPositionAcceptor acceptor) {
lexer.setCharStream(new ANTLRStringStream(body));
Token token = lexer.nextToken();
while(token != Token.EOF_TOKEN) {
while (token.getType() != Token.EOF) {
String id = tokenIdMapper.getId(token.getType());
int offset = TokenTool.getOffset(token);
int length = TokenTool.getLength(token);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import java.io.ByteArrayInputStream;
import java.nio.charset.StandardCharsets;

import org.antlr.runtime.CommonToken;
import org.antlr.runtime.Token;
import org.antlr.runtime.TokenSource;
import org.eclipse.core.resources.IFile;
Expand Down Expand Up @@ -54,7 +55,7 @@ protected TokenSource createTokenSource(String string) {
return new org.antlr.runtime.TokenSource() {
@Override
public Token nextToken() {
return Token.EOF_TOKEN;
return new CommonToken(Token.EOF);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.eclipse.xtext.ui.tests.xmleditor;
Expand Down Expand Up @@ -52,7 +52,7 @@ private String lexerResult(Lexer lexer, Map<Integer, String> tokenNames, CharSeq
List<String> result = new ArrayList<>();
while (true) {
Token token = lexer.nextToken();
if (token == Token.EOF_TOKEN) {
if (token.getType() == Token.EOF) {
return Joiner.on(System.lineSeparator()).join(result);
}
Object nameOrType = null;
Expand Down
Loading
Loading