Lines Matching +defs:Range +defs:Offset
47 Replacement::Replacement(StringRef FilePath, unsigned Offset, unsigned Length,
49 : FilePath(std::string(FilePath)), ReplacementRange(Offset, Length),
58 const CharSourceRange &Range,
61 setFromSourceRange(Sources, Range, ReplacementText, LangOpts);
128 this->ReplacementRange = Range(DecomposedLocation.second, Length);
136 const CharSourceRange &Range,
138 SourceLocation SpellingBegin = Sources.getSpellingLoc(Range.getBegin());
139 SourceLocation SpellingEnd = Sources.getSpellingLoc(Range.getEnd());
143 if (Range.isTokenRange())
149 const CharSourceRange &Range,
152 setFromSourceLocation(Sources, Sources.getSpellingLoc(Range.getBegin()),
153 getRangeSize(Sources, Range, LangOpts),
307 return Range(R1.getOffset(), R1.getLength())
308 .overlapsWith(Range(R2.getOffset(), R2.getLength()));
371 Offset(R.getOffset() + (MergeSecond ? 0 : Delta)),
383 unsigned End = Offset + Text.size();
389 StringRef Head = TextRef.substr(0, R.getOffset() + Delta - Offset);
390 StringRef Tail = TextRef.substr(REnd - Offset);
394 unsigned End = Offset + Length;
399 Length = R.getOffset() + R.getLength() - Offset;
412 return Offset + Text.size() < R.getOffset() + Delta;
413 return Offset + Length < R.getOffset();
420 Replacement asReplacement() const { return {FilePath, Offset, Length, Text}; }
434 // Data of the actually merged replacement. FilePath and Offset aren't changed
437 const unsigned Offset;
456 // Offset) from either 'First' or 'Second'. Merge that element with
485 static std::vector<Range> combineAndSortRanges(std::vector<Range> Ranges) {
486 llvm::sort(Ranges, [](const Range &LHS, const Range &RHS) {
491 std::vector<Range> Result;
501 Range(Result.back().getOffset(), NewEnd - Result.back().getOffset());
510 std::vector<Range>
512 const std::vector<Range> &Ranges) {
535 std::vector<Range> Replacements::getAffectedRanges() const {
536 std::vector<Range> ChangedRanges;
539 unsigned Offset = R.getOffset() + Shift;
542 ChangedRanges.push_back(Range(Offset, Length));
548 unsigned Offset = 0;
551 Offset += R.getReplacementText().size() - R.getLength();
562 return Position + Offset;