diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-06-04 21:23:26 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-06-04 21:23:26 +0000 |
commit | cacf718381dda1b23efedf3deb02170186095cc0 (patch) | |
tree | d4570c3f5c3183c09f15a72561fd0af9c9fa280d /lib/AST/NSAPI.cpp | |
parent | 0344e5423db6dbb614f057887be714d2c0f7f0f6 (diff) |
[objcmt] Don't migrate to subscripting syntax if the required methods have not
been declared on NSArray/NSDictionary.
rdar://11581975
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157951 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/NSAPI.cpp')
-rw-r--r-- | lib/AST/NSAPI.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/AST/NSAPI.cpp b/lib/AST/NSAPI.cpp index 72251d39d0..39077d1766 100644 --- a/lib/AST/NSAPI.cpp +++ b/lib/AST/NSAPI.cpp @@ -399,3 +399,15 @@ bool NSAPI::isObjCEnumerator(const Expr *E, return false; } + +Selector NSAPI::getOrInitSelector(ArrayRef<StringRef> Ids, + Selector &Sel) const { + if (Sel.isNull()) { + SmallVector<IdentifierInfo *, 4> Idents; + for (ArrayRef<StringRef>::const_iterator + I = Ids.begin(), E = Ids.end(); I != E; ++I) + Idents.push_back(&Ctx.Idents.get(*I)); + Sel = Ctx.Selectors.getSelector(Idents.size(), Idents.data()); + } + return Sel; +} |