r214993 - Objective-C ARC. Adding declarations for Objective-C's
Fariborz Jahanian
fjahanian at apple.com
Wed Aug 6 13:56:21 PDT 2014
Author: fjahanian
Date: Wed Aug 6 15:56:21 2014
New Revision: 214993
URL: http://llvm.org/viewvc/llvm-project?rev=214993&view=rev
Log:
Objective-C ARC. Adding declarations for Objective-C's
new APIs for literals. nfc. wip. rdar://17554063
Modified:
cfe/trunk/include/clang/AST/NSAPI.h
cfe/trunk/include/clang/Sema/Sema.h
cfe/trunk/lib/AST/NSAPI.cpp
cfe/trunk/lib/Sema/Sema.cpp
Modified: cfe/trunk/include/clang/AST/NSAPI.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/NSAPI.h?rev=214993&r1=214992&r2=214993&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/NSAPI.h (original)
+++ cfe/trunk/include/clang/AST/NSAPI.h Wed Aug 6 15:56:21 2014
@@ -76,9 +76,10 @@ public:
NSArr_initWithArray,
NSArr_initWithObjects,
NSArr_objectAtIndex,
- NSMutableArr_replaceObjectAtIndex
+ NSMutableArr_replaceObjectAtIndex,
+ NSArr_initWithObjectsCount
};
- static const unsigned NumNSArrayMethods = 9;
+ static const unsigned NumNSArrayMethods = 10;
/// \brief The Objective-C NSArray selectors.
Selector getNSArraySelector(NSArrayMethodKind MK) const;
@@ -98,9 +99,10 @@ public:
NSDict_initWithObjectsAndKeys,
NSDict_initWithObjectsForKeys,
NSDict_objectForKey,
- NSMutableDict_setObjectForKey
+ NSMutableDict_setObjectForKey,
+ NSDict_initWithObjectsForKeysCount
};
- static const unsigned NumNSDictionaryMethods = 11;
+ static const unsigned NumNSDictionaryMethods = 12;
/// \brief The Objective-C NSDictionary selectors.
Selector getNSDictionarySelector(NSDictionaryMethodKind MK) const;
Modified: cfe/trunk/include/clang/Sema/Sema.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/Sema.h?rev=214993&r1=214992&r2=214993&view=diff
==============================================================================
--- cfe/trunk/include/clang/Sema/Sema.h (original)
+++ cfe/trunk/include/clang/Sema/Sema.h Wed Aug 6 15:56:21 2014
@@ -672,12 +672,21 @@ public:
/// \brief The declaration of the arrayWithObjects:count: method.
ObjCMethodDecl *ArrayWithObjectsMethod;
+
+ /// \brief The declaration of the initWithObjects:count: method.
+ ObjCMethodDecl *InitArrayWithObjectsMethod;
/// \brief The declaration of the Objective-C NSDictionary class.
ObjCInterfaceDecl *NSDictionaryDecl;
/// \brief The declaration of the dictionaryWithObjects:forKeys:count: method.
ObjCMethodDecl *DictionaryWithObjectsMethod;
+
+ /// \brief The declaration of the initWithObjects:forKeys:count: method.
+ ObjCMethodDecl *InitDictionaryWithObjectsMethod;
+
+ /// \brief The declaration for + (id) alloc method.
+ ObjCMethodDecl *AllocObjectsMethod;
/// \brief id<NSCopying> type.
QualType QIDNSCopying;
Modified: cfe/trunk/lib/AST/NSAPI.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/NSAPI.cpp?rev=214993&r1=214992&r2=214993&view=diff
==============================================================================
--- cfe/trunk/lib/AST/NSAPI.cpp (original)
+++ cfe/trunk/lib/AST/NSAPI.cpp Wed Aug 6 15:56:21 2014
@@ -119,6 +119,14 @@ Selector NSAPI::getNSArraySelector(NSArr
Sel = Ctx.Selectors.getSelector(2, KeyIdents);
break;
}
+ case NSArr_initWithObjectsCount: {
+ IdentifierInfo *KeyIdents[] = {
+ &Ctx.Idents.get("initWithObjects"),
+ &Ctx.Idents.get("count")
+ };
+ Sel = Ctx.Selectors.getSelector(2, KeyIdents);
+ break;
+ }
}
return (NSArraySelectors[MK] = Sel);
}
@@ -204,6 +212,15 @@ Selector NSAPI::getNSDictionarySelector(
Sel = Ctx.Selectors.getSelector(2, KeyIdents);
break;
}
+ case NSDict_initWithObjectsForKeysCount: {
+ IdentifierInfo *KeyIdents[] = {
+ &Ctx.Idents.get("initWithObjects"),
+ &Ctx.Idents.get("forKeys"),
+ &Ctx.Idents.get("count")
+ };
+ Sel = Ctx.Selectors.getSelector(3, KeyIdents);
+ break;
+ }
}
return (NSDictionarySelectors[MK] = Sel);
}
Modified: cfe/trunk/lib/Sema/Sema.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/Sema.cpp?rev=214993&r1=214992&r2=214993&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/Sema.cpp (original)
+++ cfe/trunk/lib/Sema/Sema.cpp Wed Aug 6 15:56:21 2014
@@ -95,7 +95,10 @@ Sema::Sema(Preprocessor &pp, ASTContext
NSNumberDecl(nullptr),
NSStringDecl(nullptr), StringWithUTF8StringMethod(nullptr),
NSArrayDecl(nullptr), ArrayWithObjectsMethod(nullptr),
+ InitArrayWithObjectsMethod(nullptr),
NSDictionaryDecl(nullptr), DictionaryWithObjectsMethod(nullptr),
+ InitDictionaryWithObjectsMethod(nullptr),
+ AllocObjectsMethod(nullptr),
GlobalNewDeleteDeclared(false),
TUKind(TUKind),
NumSFINAEErrors(0),
More information about the cfe-commits
mailing list