hokein created this revision. hokein added a reviewer: kadircet. Herald added subscribers: usaxena95, arphaman, jkorous, MaskRay, ilya-biryukov. Herald added a project: clang.
symbols in libcpp are inside the inline namespace, printQualifierAsString will print the inline namespace, which is unexpected. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D75174 Files: clang-tools-extra/clangd/refactor/Rename.cpp clang-tools-extra/clangd/unittests/RenameTests.cpp Index: clang-tools-extra/clangd/unittests/RenameTests.cpp =================================================================== --- clang-tools-extra/clangd/unittests/RenameTests.cpp +++ clang-tools-extra/clangd/unittests/RenameTests.cpp @@ -593,6 +593,14 @@ } )cpp", "not a supported kind", !HeaderFile, Index}, + {R"cpp(// disallow rename on blacklisted symbols (e.g. std symbols) + namespace std { + inline namespace __u { + class str^ing {}; + } + } + )cpp", + "not a supported kind", !HeaderFile, Index}, {R"cpp( void foo(int); Index: clang-tools-extra/clangd/refactor/Rename.cpp =================================================================== --- clang-tools-extra/clangd/refactor/Rename.cpp +++ clang-tools-extra/clangd/refactor/Rename.cpp @@ -110,7 +110,7 @@ #include "StdSymbolMap.inc" #undef SYMBOL }); - return StdSymbols->count(RenameDecl.getQualifiedNameAsString()); + return StdSymbols->count(printQualifiedName(RenameDecl)); } enum ReasonToReject {
Index: clang-tools-extra/clangd/unittests/RenameTests.cpp =================================================================== --- clang-tools-extra/clangd/unittests/RenameTests.cpp +++ clang-tools-extra/clangd/unittests/RenameTests.cpp @@ -593,6 +593,14 @@ } )cpp", "not a supported kind", !HeaderFile, Index}, + {R"cpp(// disallow rename on blacklisted symbols (e.g. std symbols) + namespace std { + inline namespace __u { + class str^ing {}; + } + } + )cpp", + "not a supported kind", !HeaderFile, Index}, {R"cpp( void foo(int); Index: clang-tools-extra/clangd/refactor/Rename.cpp =================================================================== --- clang-tools-extra/clangd/refactor/Rename.cpp +++ clang-tools-extra/clangd/refactor/Rename.cpp @@ -110,7 +110,7 @@ #include "StdSymbolMap.inc" #undef SYMBOL }); - return StdSymbols->count(RenameDecl.getQualifiedNameAsString()); + return StdSymbols->count(printQualifiedName(RenameDecl)); } enum ReasonToReject {
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits