diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2008-01-17 01:36:09 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2008-01-17 01:36:09 +0000 |
commit | 847794a7620bfd5fda09ee06bc0205d30e17e2aa (patch) | |
tree | efef722fb35cfdf145a92927afd903e23e016556 /AST/Decl.cpp | |
parent | 42599555d155042b6649217611f93d8bbca62a74 (diff) |
Computed length of a __func__ identifier used in an objective-c method correctly,
when creating its type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46109 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'AST/Decl.cpp')
-rw-r--r-- | AST/Decl.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/AST/Decl.cpp b/AST/Decl.cpp index bf1ffee832..d80b5eea80 100644 --- a/AST/Decl.cpp +++ b/AST/Decl.cpp @@ -549,6 +549,15 @@ ObjCMethodDecl *ObjCProtocolDecl::lookupClassMethod(Selector Sel) { return NULL; } +int ObjCMethodDecl::getSynthesizedSelectorSize() const { + // syntesized method name is a concatenation of -/+[class-name selector] + // Get length of this name. + int length = 4; // for '+' or '-', '[', space in between and ']' + length += getSelector().getName().size(); // for selector name. + length += strlen(getMethodContext()->getName()); // for its class name + return length; +} + ObjCInterfaceDecl *const ObjCMethodDecl::getClassInterface() const { if (ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(MethodContext)) return ID; |