diff options
| author | Eric Liu <ioeric@google.com> | 2016-12-07 20:08:02 +0000 |
|---|---|---|
| committer | Eric Liu <ioeric@google.com> | 2016-12-07 20:08:02 +0000 |
| commit | 97f87add50e9b435a104449372fdd08a8f8723b7 (patch) | |
| tree | 981d35dc732c1f3c6e29d038e5feac252eefec1b /clang-tools-extra/change-namespace/ChangeNamespace.cpp | |
| parent | c6885fc369945a8fe196301b7c2357e11a4c5f20 (diff) | |
| download | bcm5719-llvm-97f87add50e9b435a104449372fdd08a8f8723b7.tar.gz bcm5719-llvm-97f87add50e9b435a104449372fdd08a8f8723b7.zip | |
[change-namespace] always add a '::' prefix when a symbol reference needs to be fully-qualified.
llvm-svn: 288969
Diffstat (limited to 'clang-tools-extra/change-namespace/ChangeNamespace.cpp')
| -rw-r--r-- | clang-tools-extra/change-namespace/ChangeNamespace.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang-tools-extra/change-namespace/ChangeNamespace.cpp b/clang-tools-extra/change-namespace/ChangeNamespace.cpp index 45064ebeeb7..2dca1a98893 100644 --- a/clang-tools-extra/change-namespace/ChangeNamespace.cpp +++ b/clang-tools-extra/change-namespace/ChangeNamespace.cpp @@ -663,6 +663,10 @@ void ChangeNamespaceTool::replaceQualifiedSymbolInDeclContext( // old namespace, we don't create replacement. if (NestedName == ReplaceName) return; + // If the reference need to be fully-qualified, add a leading "::" unless + // NewNamespace is the global namespace. + if (ReplaceName == FromDeclName && !NewNamespace.empty()) + ReplaceName = "::" + ReplaceName; auto R = createReplacement(Start, End, ReplaceName, *Result.SourceManager); auto Err = FileToReplacements[R.getFilePath()].add(R); if (Err) |

