From: Fariborz Jahanian Date: Sat, 10 Jan 2009 00:13:01 +0000 (+0000) Subject: assert if attempting to code gen. a property setter/getter X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=57966fc0077ed462f1ddc0011fe4762ca9942b8f;p=clang assert if attempting to code gen. a property setter/getter coming from a protocol. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62017 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGObjC.cpp b/lib/CodeGen/CGObjC.cpp index fffd011fd6..3907c0c2c0 100644 --- a/lib/CodeGen/CGObjC.cpp +++ b/lib/CodeGen/CGObjC.cpp @@ -143,6 +143,8 @@ void CodeGenFunction::GenerateObjCGetter(ObjCImplementationDecl *IMP, const ObjCPropertyDecl *PD = PID->getPropertyDecl(); ObjCMethodDecl *OMD = PD->getGetterMethodDecl(); assert(OMD && "Invalid call to generate getter (empty method)"); + assert (!dyn_cast(OMD->getDeclContext()) && + "GenerateObjCMethod - cannot synthesize protocol getter"); // FIXME: This is rather murky, we create this here since they will // not have been created by Sema for us. OMD->createImplicitParams(getContext(), IMP->getClassInterface()); @@ -213,6 +215,8 @@ void CodeGenFunction::GenerateObjCSetter(ObjCImplementationDecl *IMP, const ObjCPropertyDecl *PD = PID->getPropertyDecl(); ObjCMethodDecl *OMD = PD->getSetterMethodDecl(); assert(OMD && "Invalid call to generate setter (empty method)"); + assert (!dyn_cast(OMD->getDeclContext()) && + "GenerateObjCSetter - cannot synthesize protocol setter"); // FIXME: This is rather murky, we create this here since they will // not have been created by Sema for us. OMD->createImplicitParams(getContext(), IMP->getClassInterface());