/** * Returns the contained {@link RevisionRange}s adapted to the current diff state. The returned * information is only valid at the moment it is returned, and may change as the annotated * document is modified. * * @return an unmodifiable view of the contained ranges */ public final List<RevisionRange> getRegions() { if (fRanges == null) { List<RevisionRange> ranges= new ArrayList<>(fChangeRegions.size()); for (ChangeRegion region : fChangeRegions) { for (ILineRange range : region.getAdjustedRanges()) { ranges.add(new RevisionRange(this, range)); } } fRanges= Collections.unmodifiableList(ranges); } return fRanges; }
/** * Returns the contained {@link RevisionRange}s adapted to the current diff state. The returned * information is only valid at the moment it is returned, and may change as the annotated * document is modified. * * @return an unmodifiable view of the contained ranges */ public final List<RevisionRange> getRegions() { if (fRanges == null) { List<RevisionRange> ranges= new ArrayList<>(fChangeRegions.size()); for (Iterator<ChangeRegion> it= fChangeRegions.iterator(); it.hasNext();) { ChangeRegion region= it.next(); for (Iterator<Range> inner= region.getAdjustedRanges().iterator(); inner.hasNext();) { ILineRange range= inner.next(); ranges.add(new RevisionRange(this, range)); } } fRanges= Collections.unmodifiableList(ranges); } return fRanges; }