diff options
author | Craig Topper <craig.topper@gmail.com> | 2015-12-24 23:58:11 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2015-12-24 23:58:11 +0000 |
commit | 883dd332941f0966d3e5259e61118211b7fe26cd (patch) | |
tree | 4ce0432229f62671c3438314d750d0376fe2be9c /clang/lib/Sema/SemaExprObjC.cpp | |
parent | 8b27746bde2fa46c50911f8be59fd7bbbd5f3764 (diff) | |
download | bcm5719-llvm-883dd332941f0966d3e5259e61118211b7fe26cd.tar.gz bcm5719-llvm-883dd332941f0966d3e5259e61118211b7fe26cd.zip |
[Sema] ArrayRef-ize ParseObjCStringLiteral and CodeCompleteObjCProtocolReferences. NFC
llvm-svn: 256397
Diffstat (limited to 'clang/lib/Sema/SemaExprObjC.cpp')
-rw-r--r-- | clang/lib/Sema/SemaExprObjC.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/clang/lib/Sema/SemaExprObjC.cpp b/clang/lib/Sema/SemaExprObjC.cpp index c1ac621b57a..863037d6de5 100644 --- a/clang/lib/Sema/SemaExprObjC.cpp +++ b/clang/lib/Sema/SemaExprObjC.cpp @@ -32,24 +32,21 @@ using namespace sema; using llvm::makeArrayRef; ExprResult Sema::ParseObjCStringLiteral(SourceLocation *AtLocs, - Expr **strings, - unsigned NumStrings) { - StringLiteral **Strings = reinterpret_cast<StringLiteral**>(strings); - + ArrayRef<Expr *> Strings) { // Most ObjC strings are formed out of a single piece. However, we *can* // have strings formed out of multiple @ strings with multiple pptokens in // each one, e.g. @"foo" "bar" @"baz" "qux" which need to be turned into one // StringLiteral for ObjCStringLiteral to hold onto. - StringLiteral *S = Strings[0]; + StringLiteral *S = cast<StringLiteral>(Strings[0]); // If we have a multi-part string, merge it all together. - if (NumStrings != 1) { + if (Strings.size() != 1) { // Concatenate objc strings. SmallString<128> StrBuf; SmallVector<SourceLocation, 8> StrLocs; - for (unsigned i = 0; i != NumStrings; ++i) { - S = Strings[i]; + for (Expr *E : Strings) { + S = cast<StringLiteral>(E); // ObjC strings can't be wide or UTF. if (!S->isAscii()) { |