Example usage for com.google.common.collect TreeRangeMap asDescendingMapOfRanges

List of usage examples for com.google.common.collect TreeRangeMap asDescendingMapOfRanges

Introduction

In this page you can find the example usage for com.google.common.collect TreeRangeMap asDescendingMapOfRanges.

Prototype

@Override
    public Map<Range<K>, V> asDescendingMapOfRanges() 

Source Link

Usage

From source file:com.google.googlejavaformat.java.ModifierOrderer.java

/** Applies replacements to the given string. */
private static JavaInput applyReplacements(JavaInput javaInput, TreeRangeMap<Integer, String> replacementMap)
        throws FormatterException {
    // process in descending order so the replacement ranges aren't perturbed if any replacements
    // differ in size from the input
    Map<Range<Integer>, String> ranges = replacementMap.asDescendingMapOfRanges();
    if (ranges.isEmpty()) {
        return javaInput;
    }/*from ww  w  .  j ava 2s .  co m*/
    StringBuilder sb = new StringBuilder(javaInput.getText());
    for (Entry<Range<Integer>, String> entry : ranges.entrySet()) {
        Range<Integer> range = entry.getKey();
        sb.replace(range.lowerEndpoint(), range.upperEndpoint(), entry.getValue());
    }
    return new JavaInput(sb.toString());
}

From source file:com.google.googlejavaformat.java.StringWrapper.java

/** Applies replacements to the given string. */
private static String applyReplacements(String javaInput, TreeRangeMap<Integer, String> replacementMap)
        throws FormatterException {
    // process in descending order so the replacement ranges aren't perturbed if any replacements
    // differ in size from the input
    Map<Range<Integer>, String> ranges = replacementMap.asDescendingMapOfRanges();
    if (ranges.isEmpty()) {
        return javaInput;
    }/*from   ww  w .  j av a  2 s.  c  o m*/
    StringBuilder sb = new StringBuilder(javaInput);
    for (Map.Entry<Range<Integer>, String> entry : ranges.entrySet()) {
        Range<Integer> range = entry.getKey();
        sb.replace(range.lowerEndpoint(), range.upperEndpoint(), entry.getValue());
    }
    return sb.toString();
}