public int getOriginalOffset(int mappedOffset) { Pair<Integer, Integer> current = mappedOffsetHints.get(0); for(int i = 1; i < mappedOffsetHints.size(); i++) { Pair<Integer, Integer> next = mappedOffsetHints.get(i); if (next.getFirst() > mappedOffset) { int result = current.getSecond() + mappedOffset - current.getFirst(); return result; } current = next; } int result = current.getSecond() + mappedOffset - current.getFirst(); return result; }
public static <A,B> Pair<A,B> create(A a, B b) { return new Pair<A, B>(a,b); }
@Override public int hashCode() { return super.hashCode()+ 17*(third==null?0:getThird().hashCode()); }
public URI apply(Pair<URI,Integer> uri) { return uri.getFirst(); } });
/** * * @param pair * holds first=delegationKey, second=defaultValue. delegationKey starts with {@link XbaseConfigurableIssueCodes#JDT_CORE_PLUGIN_ID} * @return resolved delegated value */ protected String delegatedValue(Pair<String, String> pair) { return pair.getSecond(); }
@Override public boolean equals(Object other) { if (other == null) return false; if (other == this) return true; if (other instanceof Triple<?,?,?>) { Triple<?,?,?> r = (Triple<?,?,?>) other; if (!super.equals(other)) return false; return third==null?r.getThird()==null : third.equals(r.getThird()); } return false; }
@Override public boolean equals(Object other) { if (other == null) return false; if (other == this) return true; if (other instanceof Triple<?,?,?>) { Triple<?,?,?> r = (Triple<?,?,?>) other; if (!super.equals(other)) return false; return third==null?r.getThird()==null : third.equals(r.getThird()); } return false; }
protected void parseCardinality(Stack<Pair<Token, String>> tokens, ProdElement ele) { if (!tokens.isEmpty()) switch (tokens.peek().getFirst()) { case QM: tokens.pop(); ele.optional = true; break; case STAR: tokens.pop(); ele.optional = true; ele.many = true; break; case PLUS: tokens.pop(); ele.many = true; break; default: } }
public List<AbstractToken> getDeadends() { List<AbstractToken> deadends = Lists.newArrayList(); for (Pair<Integer, AbstractToken> p : this.deadends) deadends.add(p.getSecond()); Collections.reverse(deadends); return deadends; }
@Override public int hashCode() { return super.hashCode()+ 17*(third==null?0:getThird().hashCode()); }
public static <A,B> Pair<A,B> create(A a, B b) { return new Pair<A, B>(a,b); }
public int getMappedOffset(int originalOffset) { Pair<Integer, Integer> current = mappedOffsetHints.get(0); for(int i = 1; i < mappedOffsetHints.size(); i++) { Pair<Integer, Integer> next = mappedOffsetHints.get(i); if (next.getSecond() > originalOffset) { int result = current.getFirst() + originalOffset - current.getSecond(); return result; } current = next; } int result = current.getFirst() + originalOffset - current.getSecond(); return result; }
protected void addDeadEnd(int depth, AbstractToken deadend) { if (deadends.size() >= THRESHOLD && depth < deadends.first().getFirst()) return; if (deadends.size() >= THRESHOLD) deadends.remove(deadends.first()); deadends.add(Tuples.pair(depth, deadend)); }
protected void addSpacesToTotalLength(LineEntry lineEntry, boolean first) { Pair<AbstractRule, String> spaces = getSpaces(lineEntry, first); if (spaces != null) { int lastIndexOfNL = spaces.getSecond().lastIndexOf(getLineSeparator()); if (lastIndexOfNL >= 0) totalLength += spaces.getSecond().length() - lastIndexOfNL; else totalLength += spaces.getSecond().length(); } }
public void partClosed(IWorkbenchPartReference partRef) { Pair<URI, IXtextDocument> entry = getEntry(partRef); if (entry != null) { synchronized (resourceUri2document) { part2resourceURI.remove(partRef); resourceUri2document.remove(entry.getFirst()); } } }
public IRegion exec(XtextResource state) throws Exception { // resource can be null e.g. read only zip/jar entry if (state == null) { return null; } Pair<EObject, IRegion> element = getXtextElementAt(state, offset); if (element != null) { return element.getSecond(); } else { return null; } } });