private String findCorrespondingSymbol(String symbol) { int idx1 = findSymbolNum(symbol, startSymbols); if (idx1 >= 0) { return endSymbols[idx1]; } else { int idx2 = findSymbolNum(symbol, endSymbols); return startSymbols[idx2]; } }
@Nullable private RuleMatch createMatch(List<RuleMatch> ruleMatches, UnsyncStack<SymbolLocator> ruleMatchStack, int startPos, String symbol, AnalyzedSentence sentence) { if (!ruleMatchStack.empty()) { int index = findSymbolNum(symbol, endSymbols); if (index >= 0) { SymbolLocator rLoc = ruleMatchStack.peek(); if (rLoc.getSymbol().equals(startSymbols[index])) { if (ruleMatches.size() > rLoc.getIndex()) { ruleMatches.remove(rLoc.getIndex()); ruleMatchStack.pop(); return null; } } } } ruleMatchStack.push(new SymbolLocator(symbol, ruleMatches.size(), startPos, sentence)); String otherSymbol = findCorrespondingSymbol(symbol); String message = MessageFormat.format(messages.getString("unpaired_brackets"), otherSymbol); return new RuleMatch(this, sentence, startPos, startPos + symbol.length(), message); }
private String findCorrespondingSymbol(String symbol) { int idx1 = findSymbolNum(symbol, startSymbols); if (idx1 >= 0) { return endSymbols[idx1]; } else { int idx2 = findSymbolNum(symbol, endSymbols); return startSymbols[idx2]; } }
@Nullable private RuleMatch createMatch(List<RuleMatch> ruleMatches, UnsyncStack<SymbolLocator> ruleMatchStack, int startPos, String symbol, AnalyzedSentence sentence) { if (!ruleMatchStack.empty()) { int index = findSymbolNum(symbol, endSymbols); if (index >= 0) { SymbolLocator rLoc = ruleMatchStack.peek(); if (rLoc.getSymbol().equals(startSymbols[index])) { if (ruleMatches.size() > rLoc.getIndex()) { ruleMatches.remove(rLoc.getIndex()); ruleMatchStack.pop(); return null; } } } } ruleMatchStack.push(new SymbolLocator(symbol, ruleMatches.size(), startPos, sentence)); String otherSymbol = findCorrespondingSymbol(symbol); String message = MessageFormat.format(messages.getString("unpaired_brackets"), otherSymbol); return new RuleMatch(this, sentence, startPos, startPos + symbol.length(), message); }