diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2007-11-10 22:00:55 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2007-11-10 22:00:55 +0000 |
commit | 8f2c735c0cee8da42742ae247778cbfef45b8750 (patch) | |
tree | d2420890a56d9cf73260b22518b62014d00062e8 | |
parent | db8f3d3bb96c75440f513c43ac73adace2aae5ff (diff) |
Fixed a bug which exposed the internally built type to user code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43987 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | Sema/SemaDecl.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Sema/SemaDecl.cpp b/Sema/SemaDecl.cpp index 7ba743cf5e..006bb18bd1 100644 --- a/Sema/SemaDecl.cpp +++ b/Sema/SemaDecl.cpp @@ -551,8 +551,13 @@ Sema::ObjcActOnMethodDefinition(Scope *S, DeclTy *D, DeclTy *lastDecl) { ObjcMethodDecl *MDecl = dyn_cast<ObjcMethodDecl>(static_cast<Decl *>(D)); ScopedDecl *LastDeclarator = dyn_cast_or_null<ScopedDecl>((Decl *)lastDecl); - const char *name = MDecl->getSelector().getName().c_str(); - IdentifierInfo *II = &Context.Idents.get(name); + // build [classname selector-name] for the name of method. + std::string Name = "["; + Name += MDecl->getClassInterface()->getName(); + Name += " "; + Name += MDecl->getSelector().getName(); + Name += "]"; + IdentifierInfo *II = &Context.Idents.get(Name); assert (II && "ObjcActOnMethodDefinition - selector name is missing"); // The scope passed in may not be a decl scope. Zip up the scope tree until |