diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-10-18 16:50:06 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-10-18 16:50:06 +0000 |
commit | 098c4eabd25972526a402c8ad0cb0dd9136ef9a6 (patch) | |
tree | a3b21031c9171fbfcc672ec0d2446072653762e9 /clang/tools/libclang/CIndexUSRs.cpp | |
parent | 09deffa06745ad1920bd36a0011a4eeacdaa7455 (diff) | |
download | bcm5719-llvm-098c4eabd25972526a402c8ad0cb0dd9136ef9a6.tar.gz bcm5719-llvm-098c4eabd25972526a402c8ad0cb0dd9136ef9a6.zip |
[libclang] Since an objc extension semantically continues the interface of the class
don't use unique USRs for them, otherwise we fail to associate @implementation methods
with the methods in extensions.
llvm-svn: 142361
Diffstat (limited to 'clang/tools/libclang/CIndexUSRs.cpp')
-rw-r--r-- | clang/tools/libclang/CIndexUSRs.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/clang/tools/libclang/CIndexUSRs.cpp b/clang/tools/libclang/CIndexUSRs.cpp index 195463cbe28..f6e9aa358e2 100644 --- a/clang/tools/libclang/CIndexUSRs.cpp +++ b/clang/tools/libclang/CIndexUSRs.cpp @@ -336,11 +336,9 @@ void USRGenerator::VisitObjCContainerDecl(ObjCContainerDecl *D) { IgnoreResults = true; return; } - // Specially handle class extensions, which are anonymous categories. - // We want to mangle in the location to uniquely distinguish them. if (CD->IsClassExtension()) { - Out << "objc(ext)" << ID->getName() << '@'; - GenLoc(CD); + // An extension semantically continues the interface of the class. + GenObjCClass(ID->getName()); } else GenObjCCategory(ID->getName(), CD->getName()); |