[objcmt] Rewrite a NSDictionary dictionaryWithObjects:forKeys: to a dictionary literal
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Wed, 16 Jan 2013 23:54:48 +0000 (23:54 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Wed, 16 Jan 2013 23:54:48 +0000 (23:54 +0000)
commit6b4f341ecd9bf0cb5e400901cb2ccf208ef9a640
tree7ec1756af33977990f552b53bc83f92afd361263
parentb3069002004a99104d2db1c62886a666c37af09c
[objcmt] Rewrite a NSDictionary dictionaryWithObjects:forKeys: to a dictionary literal
if we can see the elements of the arrays.

for example:

 NSDictionary *dict = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"1", @"2", nil] forKeys:[NSArray arrayWithObjects:@"A", @"B", nil]];

-->

 NSDictionary *dict = @{ @"A" : @"1", @"B" : @"2" };

rdar://12428166

llvm-svn: 172679
clang/include/clang/AST/NSAPI.h
clang/include/clang/Edit/Rewriters.h
clang/lib/ARCMigrate/ObjCMT.cpp
clang/lib/AST/NSAPI.cpp
clang/lib/Edit/RewriteObjCFoundationAPI.cpp
clang/test/ARCMT/objcmt-subscripting-literals-in-arc.m
clang/test/ARCMT/objcmt-subscripting-literals-in-arc.m.result
clang/test/ARCMT/objcmt-subscripting-literals.m
clang/test/ARCMT/objcmt-subscripting-literals.m.result