SourceRange nameRange = functionDecl->getNameInfo().getSourceRange(); StringRef name = Lexer::getSourceText(CharSourceRange::getTokenRange(nameRange), astContext.getSourceManager(), astContext.getLangOpts());
SourceRange range1 = /* ... */; SourceRange range2 = /* ... */; SourceRange resultRange(astContext.getSourceManager(), range1.getBegin(), range2.getEnd());Here, a new `SourceRange` is created that covers the entire range between `range1` and `range2`. The `clang::SourceManager` object is used to access source file information, and the `getBegin()` and `getEnd()` methods of each range are used to get the start and end positions of each range. This example is from the Clang AST Matchers library. From the examples given, it is likely that the package library being used is the Clang C++ API library, which is commonly used in Clang-based tools and packages for analyzing and modifying C and C++ code at the source level. Clang is an open-source C/C++ compiler frontend for LLVM, the Low-Level Virtual Machine.