retain/release checker: Resolve method decl in @interface after getting the

ObjCInterfaceDecl, not before.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70473 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Ted Kremenek 2009-04-30 05:41:14 +00:00
Родитель ec16cb9b5a
Коммит 70a6576c9c
1 изменённых файлов: 4 добавлений и 3 удалений

Просмотреть файл

@ -765,13 +765,14 @@ public:
/// the summary for the current method being analyzed.
RetainSummary *getMethodSummary(const ObjCMethodDecl *MD) {
// FIXME: Eventually this should be unneeded.
MD = ResolveToInterfaceMethodDecl(MD, Ctx);
Selector S = MD->getSelector();
const ObjCInterfaceDecl *ID = MD->getClassInterface();
Selector S = MD->getSelector();
IdentifierInfo *ClsName = ID->getIdentifier();
QualType ResultTy = MD->getResultType();
// Resolve the method decl last.
MD = ResolveToInterfaceMethodDecl(MD, Ctx);
if (MD->isInstanceMethod())
return getInstanceMethodSummary(S, ClsName, ID, MD, ResultTy);
else