[clangd] Fix a bug in TweakTest::decorate()
authorNathan Ridge <zeratul976@hotmail.com>
Tue, 21 Feb 2023 08:22:59 +0000 (03:22 -0500)
committerNathan Ridge <zeratul976@hotmail.com>
Tue, 14 Mar 2023 07:02:26 +0000 (03:02 -0400)
The second argument to string::substr() is a count,
not an end position.

Differential Revision: https://reviews.llvm.org/D144453

clang-tools-extra/clangd/unittests/tweaks/TweakTesting.cpp

index ee93436..51071d8 100644 (file)
@@ -157,7 +157,8 @@ std::string TweakTest::decorate(llvm::StringRef Code, unsigned Point) {
 std::string TweakTest::decorate(llvm::StringRef Code,
                                 llvm::Annotations::Range Range) {
   return (Code.substr(0, Range.Begin) + "[[" +
-          Code.substr(Range.Begin, Range.End) + "]]" + Code.substr(Range.End))
+          Code.substr(Range.Begin, Range.End - Range.Begin) + "]]" +
+          Code.substr(Range.End))
       .str();
 }