Skip to content

Commit

Permalink
fix range limit for exclusion of processed range
Browse files Browse the repository at this point in the history
  • Loading branch information
vsch committed Apr 19, 2020
1 parent 26cd69f commit 1e7709c
Showing 1 changed file with 4 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -663,12 +663,12 @@ private static String replaceAll(@NotNull Pattern p, @NotNull CharSequence s, @N
}

@NotNull
private static BasedSequence replaceAll(Pattern p, @NotNull BasedSequence s, @NotNull Replacer replacer, @NotNull ReplacedTextMapper textMapper) {
private static BasedSequence replaceAll(@NotNull Pattern p, @NotNull BasedSequence s, @NotNull Replacer replacer, @NotNull ReplacedTextMapper textMapper) {
return replaceAll(p, s, 0, s.length(), replacer, textMapper);
}

@NotNull
private static BasedSequence replaceAll(Pattern p, @NotNull BasedSequence s, int startOffset, int endOffset, @NotNull Replacer replacer, @NotNull ReplacedTextMapper textMapper) {
private static BasedSequence replaceAll(@NotNull Pattern p, @NotNull BasedSequence s, int startOffset, int endOffset, @NotNull Replacer replacer, @NotNull ReplacedTextMapper textMapper) {
Matcher matcher = p.matcher(s);
matcher.region(startOffset, endOffset);
matcher.useTransparentBounds(false);
Expand Down Expand Up @@ -697,7 +697,7 @@ private static BasedSequence replaceAll(Pattern p, @NotNull BasedSequence s, int
}

@NotNull
private static BasedSequence replaceAll(Pattern p, @NotNull BasedSequence s, @NotNull List<Range> ranges, @NotNull Replacer replacer, @NotNull ReplacedTextMapper textMapper) {
private static BasedSequence replaceAll(@NotNull Pattern p, @NotNull BasedSequence s, @NotNull List<Range> ranges, @NotNull Replacer replacer, @NotNull ReplacedTextMapper textMapper) {
Matcher matcher = p.matcher(s);
matcher.useTransparentBounds(false);

Expand All @@ -708,7 +708,7 @@ private static BasedSequence replaceAll(Pattern p, @NotNull BasedSequence s, @No
int lastEnd = 0;

for (Range range : ranges) {
int start = Utils.rangeLimit(range.getStart(), 0, s.length());
int start = Utils.rangeLimit(range.getStart(), lastEnd, s.length());
int end = Utils.rangeLimit(range.getEnd(), start, s.length());
matcher.region(start, end);

Expand Down

0 comments on commit 1e7709c

Please sign in to comment.