summaryrefslogtreecommitdiffstats
path: root/clang/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
commit6310fdd982ba9bc8095f50e732a62704ea992f4a (patch)
tree159a46f8f19f44829a9e36bed1cf76b514e3946e /clang/lib/AST/NSAPI.cpp
parent4ff9097fcc7d6d64841c0788760b063f92109677 (diff)
downloadbcm5719-llvm-6310fdd982ba9bc8095f50e732a62704ea992f4a.tar.gz
bcm5719-llvm-6310fdd982ba9bc8095f50e732a62704ea992f4a.zip
[objcmt] Don't migrate to subscripting syntax if the required methods have not
been declared on NSArray/NSDictionary. rdar://11581975 llvm-svn: 157951
Diffstat (limited to 'clang/lib/AST/NSAPI.cpp')
-rw-r--r--clang/lib/AST/NSAPI.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/AST/NSAPI.cpp b/clang/lib/AST/NSAPI.cpp
index 72251d39d08..39077d1766e 100644
--- a/clang/lib/AST/NSAPI.cpp
+++ b/clang/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;
+}
OpenPOWER on IntegriCloud