List of usage examples for org.antlr.v4.runtime Token getText
String getText();
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; }