Use paropery's setter attribute name as

the selector for the property setter.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66834 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Fariborz Jahanian 2009-03-12 22:34:11 +00:00
Родитель c971f86946
Коммит 2e050f11c4
2 изменённых файлов: 17 добавлений и 7 удалений

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

@ -327,13 +327,13 @@ void Parser::ParseObjCInterfaceDeclList(DeclTy *interfaceDecl,
Selector GetterSel =
PP.getSelectorTable().getNullarySelector(SelName);
IdentifierInfo *SetterName = OCDS.getSetterName();
if (!SetterName)
SetterName = FD.D.getIdentifier();
Selector SetterSel =
SelectorTable::constructSetterName(PP.getIdentifierTable(),
PP.getSelectorTable(),
SetterName);
Selector SetterSel;
if (SetterName)
SetterSel = PP.getSelectorTable().getSelector(1, &SetterName);
else
SetterSel = SelectorTable::constructSetterName(PP.getIdentifierTable(),
PP.getSelectorTable(),
FD.D.getIdentifier());
bool isOverridingProperty = false;
DeclTy *Property = Actions.ActOnProperty(CurScope, AtLoc, FD, OCDS,
GetterSel, SetterSel,

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

@ -0,0 +1,10 @@
// RUN: clang -emit-llvm -triple=i686-apple-darwin8 -o %t %s
// RUN: grep -e "SiSetOtherThings:" %t
@interface A
@property(setter=iSetOtherThings:) int otherThings;
@end
@implementation A
@dynamic otherThings;
@end