aboutsummaryrefslogtreecommitdiff
path: root/lib/AST/NSAPI.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-06-04 21:23:26 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-06-04 21:23:26 +0000
commitcacf718381dda1b23efedf3deb02170186095cc0 (patch)
treed4570c3f5c3183c09f15a72561fd0af9c9fa280d /lib/AST/NSAPI.cpp
parent0344e5423db6dbb614f057887be714d2c0f7f0f6 (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.cpp12
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;
+}