[libclang] Add translateCXRangeToCharRange conversion

Add new conversion with clearly specified semantics.

https://reviews.llvm.org/D86990
This commit is contained in:
Jan Korous 2020-09-02 13:11:35 -07:00
parent 4eef14f978
commit baf3c77bd9
2 changed files with 11 additions and 1 deletions

View File

@ -164,6 +164,12 @@ CXSourceRange cxloc::translateSourceRange(const SourceManager &SM,
return Result;
}
CharSourceRange cxloc::translateCXRangeToCharRange(CXSourceRange R) {
return CharSourceRange::getCharRange(
SourceLocation::getFromRawEncoding(R.begin_int_data),
SourceLocation::getFromRawEncoding(R.end_int_data));
}
//===----------------------------------------------------------------------===//
// Cursor visitor.
//===----------------------------------------------------------------------===//

View File

@ -71,7 +71,11 @@ static inline SourceRange translateCXSourceRange(CXSourceRange R) {
SourceLocation::getFromRawEncoding(R.end_int_data));
}
/// Translates CXSourceRange to CharSourceRange.
/// The semantics of \p R are:
/// R.begin_int_data is first character of the range.
/// R.end_int_data is one character past the end of the range.
CharSourceRange translateCXRangeToCharRange(CXSourceRange R);
}} // end namespace: clang::cxloc
#endif