Patch to refactor setter/getter names of property attributes into Selector
(was IdentifierInfo * before). This will make method declartations whole
lot easier.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50747 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Parse/ParseObjc.cpp b/lib/Parse/ParseObjc.cpp
index 8d404a9..1ff5877 100644
--- a/lib/Parse/ParseObjc.cpp
+++ b/lib/Parse/ParseObjc.cpp
@@ -270,8 +270,13 @@
         for (unsigned i = 0, e = FieldDeclarators.size(); i != e; ++i) {
           FieldDeclarator &FD = FieldDeclarators[i];
           // Install the property declarator into interfaceDecl.
+          Selector GetterSel = 
+            PP.getSelectorTable().getNullarySelector(OCDS.getGetterName());
+          Selector SetterSel = 
+          PP.getSelectorTable().getNullarySelector(OCDS.getSetterName());
           DeclTy *Property = Actions.ActOnProperty(CurScope,
                                DS.getSourceRange().getBegin(), FD, OCDS,
+                               GetterSel, SetterSel,
                                MethodImplKind);
           allProperties.push_back(Property);
         }
diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h
index 5541808..27eca89 100644
--- a/lib/Sema/Sema.h
+++ b/lib/Sema/Sema.h
@@ -677,6 +677,7 @@
   
   virtual DeclTy *ActOnProperty(Scope *S, SourceLocation AtLoc,
                                 FieldDeclarator &FD, ObjCDeclSpec &ODS,
+                                Selector GetterSel, Selector SetterSel,
                                 tok::ObjCKeywordKind MethodImplKind);
   
   virtual DeclTy *ActOnPropertyImplDecl(SourceLocation AtLoc, 
diff --git a/lib/Sema/SemaDeclObjC.cpp b/lib/Sema/SemaDeclObjC.cpp
index 3b48810..f9e4f5b 100644
--- a/lib/Sema/SemaDeclObjC.cpp
+++ b/lib/Sema/SemaDeclObjC.cpp
@@ -1023,6 +1023,8 @@
 Sema::DeclTy *Sema::ActOnProperty(Scope *S, SourceLocation AtLoc, 
                                   FieldDeclarator &FD,
                                   ObjCDeclSpec &ODS,
+                                  Selector GetterSel,
+                                  Selector SetterSel,
                                   tok::ObjCKeywordKind MethodImplKind) {
   QualType T = GetTypeForDeclarator(FD.D, S);
   ObjCPropertyDecl *PDecl = ObjCPropertyDecl::Create(Context, AtLoc, 
@@ -1033,12 +1035,12 @@
   
   if (ODS.getPropertyAttributes() & ObjCDeclSpec::DQ_PR_getter) {
     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_getter);
-    PDecl->setGetterName(ODS.getGetterName());
+    PDecl->setGetterName(GetterSel);
   }
   
   if (ODS.getPropertyAttributes() & ObjCDeclSpec::DQ_PR_setter) {
     PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_setter);
-    PDecl->setSetterName(ODS.getSetterName());
+    PDecl->setSetterName(SetterSel);
   }
   
   if (ODS.getPropertyAttributes() & ObjCDeclSpec::DQ_PR_assign)