Example usage for org.antlr.v4.runtime Token getText

List of usage examples for org.antlr.v4.runtime Token getText

Introduction

In this page you can find the example usage for org.antlr.v4.runtime Token getText.

Prototype

String getText();

Source Link

Document

Get the text of the token.

Usage

From source file:org.apache.olingo.server.core.uri.testutil.TokenValidator.java

License:Apache License

public TokenValidator isAllText(final String expected) {
    String actual = "";

    for (Token curToken : tokens) {
        actual += curToken.getText();
    }//from   ww w  .  j a v a 2  s  .c  o m
    assertEquals(expected, actual);
    return this;
}

From source file:org.apache.olingo.server.core.uri.testutil.TokenValidator.java

License:Apache License

public TokenValidator isAllInput() {
    String actual = "";

    for (Token curToken : tokens) {
        actual += curToken.getText();
    }/* w  w w .  j  av a  2  s .com*/
    assertEquals(input, actual);
    return this;
}

From source file:org.apache.olingo.server.core.uri.testutil.TokenValidator.java

License:Apache License

public TokenValidator showTokens() {
    boolean first = true;
    System.out.println("input: " + input);
    String nL = "\n";
    String out = "[" + nL;
    for (Token token : tokens) {
        if (!first) {
            out += ",";
            first = false;/*from  w  w  w  .ja v  a  2s  .  com*/
        }
        int index = token.getType();
        if (index != -1) {
            out += "\"" + token.getText() + "\"" + "     " + UriLexer.VOCABULARY.getDisplayName(index) + nL;
        } else {
            out += "\"" + token.getText() + "\"" + "     " + index + nL;
        }
    }
    out += ']';
    System.out.println("tokens: " + out);
    return this;
}

From source file:org.apache.olingo.server.core.uri.testutil.UriLexerWithTrace.java

License:Apache License

@Override
public void emit(final Token token) {
    if (logLevel > 1) {
        String out = String.format("%1$-" + 20 + "s", token.getText());

        int tokenType = token.getType();
        if (tokenType == -1) {
            out += "-1/EOF";
        } else {/* w  w  w.  j  a  va  2 s.  co m*/
            out += UriLexer.VOCABULARY.getDisplayName(tokenType);
        }
        System.out.println("Lexer.emit(...):" + out);
    }

    super.emit(token);
}

From source file:org.apache.tajo.parser.sql.SQLErrorListener.java

License:Apache License

public void syntaxError(Recognizer<?, ?> recognizer, Object offendingSymbol, int line, int charPositionInLine,
        String msg, RecognitionException e) {
    CommonTokenStream tokens = (CommonTokenStream) recognizer.getInputStream();
    String input = tokens.getTokenSource().getInputStream().toString();
    Token token = (Token) offendingSymbol;
    String[] lines = StringUtils.splitPreserveAllTokens(input, '\n');
    String errorLine = lines[line - 1];

    String simpleMessage = "syntax error at or near \"" + token.getText() + "\"";
    throw new SQLParseError(token, line, charPositionInLine, simpleMessage, errorLine);
}

From source file:org.ballerinalang.composer.service.workspace.langserver.util.completion.filters.PackageActionAndFunctionFilter.java

License:Open Source License

/**
 * Get the index of a certain token/*from   w w  w. j a va 2  s .  c o m*/
 * @param tokenString - token string
 * @param from - start searching from
 * @param dataModel - suggestions filter data model
 * @return {@link Integer}
 */
public int getIndexOfTokenString(String tokenString, int from, SuggestionsFilterDataModel dataModel) {
    TokenStream tokenStream = dataModel.getTokenStream();
    int resultTokenIndex = -1;
    int searchIndex = from;

    while (true) {
        if (searchIndex < 0 || tokenStream.size() - 1 < searchIndex) {
            break;
        }
        Token token = tokenStream.get(searchIndex);
        if (token.getChannel() != Token.DEFAULT_CHANNEL || !token.getText().equals(tokenString)) {
            searchIndex++;
        } else {
            resultTokenIndex = searchIndex;
            break;
        }
    }

    return resultTokenIndex;
}

From source file:org.ballerinalang.composer.service.workspace.langserver.util.completion.resolvers.AbstractItemResolver.java

License:Open Source License

/**
 * Get the index of the equal sign// w  w w.  j ava 2s. co m
 * @param dataModel - suggestions filter data model
 * @return {@link Integer}
 */
public int isPreviousTokenEqualSign(SuggestionsFilterDataModel dataModel) {
    int equalSignIndex;
    int searchTokenIndex = dataModel.getTokenIndex() - 1;
    TokenStream tokenStream = dataModel.getTokenStream();

    while (true) {
        if (searchTokenIndex > -1) {
            Token token = tokenStream.get(searchTokenIndex);
            String tokenStr = token.getText();

            // If the token's channel is verbose channel we skip to the next token
            if (token.getChannel() != 0) {
                searchTokenIndex--;
            } else if (tokenStr.equals("=")) {
                equalSignIndex = searchTokenIndex;
                break;
            } else {
                // In this case the token channel is the default channel and also not the equal sign token.
                equalSignIndex = -1;
                break;
            }
        } else {
            equalSignIndex = -1;
            break;
        }
    }

    return equalSignIndex;
}

From source file:org.ballerinalang.composer.service.workspace.langserver.util.completion.resolvers.AbstractItemResolver.java

License:Open Source License

protected int findPreviousToken(SuggestionsFilterDataModel dataModel, String needle, int maxSteps) {
    TokenStream tokenStream = dataModel.getTokenStream();
    if (tokenStream == null) {
        return -1;
    }//from w  ww  . j a va  2  s .  com
    int searchIndex = dataModel.getTokenIndex() - 1;

    while (maxSteps > 0) {
        if (searchIndex < 0) {
            return -1;
        }
        Token token = tokenStream.get(searchIndex);
        if (token.getChannel() == 0) {
            if (token.getText().equals(needle)) {
                return searchIndex;
            }
            maxSteps--;
        }
        searchIndex--;
    }
    return -1;
}

From source file:org.ballerinalang.composer.service.workspace.langserver.util.filters.PackageActionAndFunctionFilter.java

License:Open Source License

/**
 * Get the index of a certain token/*  w  ww  .j ava 2s  .  c o m*/
 * @param tokenString - token string
 * @param from - start searching from
 * @param dataModel - suggestions filter data model
 * @return {@link Integer}
 */
private int getIndexOfTokenString(String tokenString, int from, SuggestionsFilterDataModel dataModel) {
    TokenStream tokenStream = dataModel.getTokenStream();
    int resultTokenIndex = -1;
    int searchIndex = from;

    while (true) {
        if (searchIndex < 0 || tokenStream.size() - 1 < searchIndex) {
            break;
        }
        Token token = tokenStream.get(searchIndex);
        if (token.getChannel() != Token.DEFAULT_CHANNEL || !token.getText().equals(tokenString)) {
            searchIndex++;
        } else {
            resultTokenIndex = searchIndex;
            break;
        }
    }

    return resultTokenIndex;
}

From source file:org.ballerinalang.composer.service.workspace.langserver.util.resolvers.PackageNameContextResolver.java

License:Open Source License

@Override
public ArrayList<CompletionItem> resolveItems(SuggestionsFilterDataModel dataModel,
        ArrayList<SymbolInfo> symbols, HashMap<Class, AbstractItemResolver> resolvers) {
    ArrayList<CompletionItem> completionItems = new ArrayList<>();
    ArrayList<SymbolInfo> searchList = symbols;

    TokenStream tokenStream = dataModel.getTokenStream();
    int currentTokenIndex = dataModel.getTokenIndex();
    int tokenIterator = currentTokenIndex - 1;
    boolean proceed = true;

    while (proceed) {
        String tokenStr = tokenStream.get(tokenIterator).getText();
        if (tokenStr.equals(ItemResolverConstants.IMPORT) || tokenStr.equals(ItemResolverConstants.PACKAGE)) {
            proceed = false;//from  w  w w . j  ava  2s .co  m
        } else {
            tokenIterator--;
        }
    }

    String tokenString = tokenStream.get(tokenIterator).getText();

    StringBuilder packageBuilder = new StringBuilder();
    for (int i = tokenIterator + 1; i < currentTokenIndex; i++) {
        Token token = tokenStream.get(i);
        int type = token.getType();
        if (type == BallerinaParser.WS || type == BallerinaParser.NEW_LINE) {
            continue;
        }
        packageBuilder.append(token.getText());
    }
    String packagePartial = packageBuilder.toString();
    int lastDot = packagePartial.lastIndexOf('.');
    if (lastDot >= 0) {
        packagePartial = packagePartial.substring(0, lastDot + 1);
    } else {
        packagePartial = "";
    }
    String packageTillDot = packagePartial;
    int from = packageTillDot.length();

    if (tokenString.equals(ItemResolverConstants.IMPORT)) {
        List<SymbolInfo> filteredSymbolInfoList = searchList.stream()
                .filter(symbolInfo -> (symbolInfo.getSymbol() instanceof NativePackageProxy))
                .collect(Collectors.toList());

        List<String> packagePrefix = filteredSymbolInfoList.stream()
                .filter(s -> s.getSymbolName().startsWith(packageTillDot)).map(s -> firstPart(s, from))
                .distinct().collect(Collectors.toList());

        packagePrefix.forEach((symbolInfo -> {
            // For each token call the api to get the items related to the token
            CompletionItem completionItem = new CompletionItem();
            completionItem.setLabel(symbolInfo.substring(0, symbolInfo.length() - 1));
            completionItem.setInsertText(symbolInfo);
            completionItem.setDetail(ItemResolverConstants.PACKAGE_TYPE);
            completionItem.setSortText(ItemResolverConstants.PRIORITY_4);
            completionItem.setKind(ItemResolverConstants.PACKAGE_KIND);
            completionItems.add(completionItem);
        }));
    }

    return completionItems;
}