Fariborz Jahanian
b918d7a67b
ObjectibeC migrator. Annotate cf_consumed arguments,
...
as reported by static analyer API with CF_CONSUMED.
llvm-svn: 188922
2013-08-21 19:37:47 +00:00
Fariborz Jahanian
447b15ef22
ObjectiveC migrator: until we have beter understanding of
...
setter/getter implementations, migrate them to
nonatomic properties.
llvm-svn: 188914
2013-08-21 18:49:03 +00:00
Fariborz Jahanian
301b52145f
ObjectiveC migrator: make sure audited pragams are
...
dumped for last declarations in the current TU. wip.
llvm-svn: 188838
2013-08-20 22:42:13 +00:00
Fariborz Jahanian
5874e6d384
ObjectiveC migrator: More tweaking of heuristics
...
for an audited cf function to not include those
which are annotated by user.
llvm-svn: 188823
2013-08-20 20:45:28 +00:00
Fariborz Jahanian
9427939f65
ObjectiveC migrator: More tweaking of heuristics
...
for an audited cf function and addition of
a test case.
llvm-svn: 188816
2013-08-20 18:54:39 +00:00
Fariborz Jahanian
f63f0bf395
ObjetiveC migrator: fix the test in my last patch
...
to define real CF_RETURNS_RETAINED/CF_NO_RETURNS_RETAINED
pairs.
llvm-svn: 188497
2013-08-15 22:26:10 +00:00
Fariborz Jahanian
84ac1ded83
ObjectiveC migrator. Start annotating CF functions
...
with CF_RETURNS_RETAINED/CF_RETURNS_NOT_RETAINED as
appropriate.
llvm-svn: 188493
2013-08-15 21:44:38 +00:00
Fariborz Jahanian
313ae7009e
Add another test to my last patch (NS_OPTION vs. NS_ENUM)
...
ObjectiveC migration.
llvm-svn: 188480
2013-08-15 19:27:42 +00:00
Fariborz Jahanian
be7bc11f94
ObjectiveC migrator: In deciding NS_OPTION over
...
NS_ENUM, at least one power of 2 enumerator
must be greater than two.
llvm-svn: 188470
2013-08-15 18:46:37 +00:00
Fariborz Jahanian
c13c1b0f0d
ObjectiveC migrator: Fixes a crash and makes couple
...
of harmless changes.
llvm-svn: 188303
2013-08-13 18:01:42 +00:00
Argyrios Kyrtzidis
551c83d379
[arcmt] When handling unbridged casts, handle the body of BlockDecl separately because ParentMap does not record
...
Stmt parent nodes inside a BlockDecl.
Fixes rdar://14686900
llvm-svn: 188101
2013-08-09 20:20:25 +00:00
Fariborz Jahanian
261fdb7a9a
ObjectiveC migrator: tighten rule about when to
...
migrate to @property with getter name starting with
'is'.
llvm-svn: 188013
2013-08-08 21:20:01 +00:00
Fariborz Jahanian
cf2ff9ba32
ObjectiveC migration: Handle another special case of
...
setter/getter methods which can be migrated to
a @property.
llvm-svn: 188005
2013-08-08 20:51:58 +00:00
Fariborz Jahanian
cf387c6afb
ObjectiveC migration: tweak setting of lifetime attribute
...
on @property migration. Don't set unsafe_unretained
on non-object properties. Set 'retain' on strong
properties. Makecertain properties with specific
names unsafe_unretained as well.
llvm-svn: 187810
2013-08-06 18:06:23 +00:00
Fariborz Jahanian
9275c688ea
ObjectiveC migrator: Add another family of factory
...
methods which can be migrated to instancetype.
llvm-svn: 187672
2013-08-02 20:54:18 +00:00
Fariborz Jahanian
c4291852a4
ObjectiveC migrator: Fixes public buildbot failures,
...
in my previous patch which was reverted in r187657
llvm-svn: 187661
2013-08-02 18:00:53 +00:00
Fariborz Jahanian
87dc0bc078
revert patch I added in r187655. It still breaks public
...
buildbot.
llvm-svn: 187657
2013-08-02 16:25:41 +00:00
Fariborz Jahanian
11fe914549
ObjectiveC migration. Check-in patch reverted in r187634.
...
Also removed check for "NS" prefix for class name.
llvm-svn: 187655
2013-08-02 16:00:08 +00:00
Rafael Espindola
6cbcc10e84
Revert "ObjectiveC migrator. Migrate to instancetype return type for mehods with certain prefix selector matching their class names' suffix."
...
This reverts commit r187626.
It is breaking the bots.
llvm-svn: 187634
2013-08-02 00:01:14 +00:00
Fariborz Jahanian
8234d40843
ObjectiveC migrator. Migrate to instancetype return type
...
for mehods with certain prefix selector matching their class names'
suffix.
llvm-svn: 187626
2013-08-01 22:29:32 +00:00
Fariborz Jahanian
267bae3ad6
Objective-C migrator: some cleanup.
...
Expose static type of init/alloc/retain with
instance type as well. Ad-hoc cases are coming
next.
llvm-svn: 187068
2013-07-24 19:18:37 +00:00
Fariborz Jahanian
280954a296
ObjectiveC migration: Method candidates for
...
migrating to instancetype can have implicit 'id'
type too.
llvm-svn: 187062
2013-07-24 18:31:42 +00:00
Fariborz Jahanian
631925fe62
ObjectiveC migration: more migration to
...
instancetype of NSDictionary methods.
llvm-svn: 187008
2013-07-23 23:55:55 +00:00
Fariborz Jahanian
670ef26293
ObjectiveC migrator: start migrating to
...
instancetype methods.
llvm-svn: 187004
2013-07-23 23:34:42 +00:00
Fariborz Jahanian
9e543afe19
ObjectiveC migration. Better handle migration to conforming
...
protocols by ignoring cases where all protocol properties
and methods are optional.
llvm-svn: 186895
2013-07-22 23:50:04 +00:00
Fariborz Jahanian
d0f6f79f4e
Objective-C migration: Use NS_OPTIONS when enumerators
...
have shift/bitwise operators or are power of 2.
llvm-svn: 186856
2013-07-22 18:53:45 +00:00
Argyrios Kyrtzidis
ec852d908f
[arcmt] Only disable ARC in the second compilation if there were actually ARC errors in the checking phase.
...
rdar://14490204
llvm-svn: 186850
2013-07-22 18:13:54 +00:00
Fariborz Jahanian
c1c44f62bc
ObjectiveC migrator: Another use case of enum
...
declaration which can be migrated to NS_ENUM.
llvm-svn: 186716
2013-07-19 20:18:36 +00:00
Argyrios Kyrtzidis
47b1517c52
[arcmt] After checking is successful disable auto-synthesize to avoid "@synthesize of 'weak' property is only
...
allowed in ARC" errors.
rdar://14461559
llvm-svn: 186709
2013-07-19 18:57:15 +00:00
Fariborz Jahanian
008ef72bee
Fixes an ObjC migrator crash when last decl
...
in file is an enum.
llvm-svn: 186700
2013-07-19 17:44:32 +00:00
Fariborz Jahanian
b0057bb4fc
ObjectiveC migrator: add support to migrate to
...
NS_OPTIONS.
llvm-svn: 186641
2013-07-19 01:05:49 +00:00
Fariborz Jahanian
85e988bbea
ObjectiveC migrator: Remove semicolon after the typedef
...
declaration when converting to NS_ENUM. This required
some code refactoring.
llvm-svn: 186619
2013-07-18 22:17:33 +00:00
Fariborz Jahanian
92463274e6
ObjectiveC migration. migration to NS_ENUM/SN_OPTION
...
- wip.
llvm-svn: 186604
2013-07-18 20:11:45 +00:00
Fariborz Jahanian
cb7b8deecb
ObjectiveC migrator: When adding conforming protocol,
...
only add outer-most conforming protocols as adding
others are redundant.
llvm-svn: 186473
2013-07-17 00:02:22 +00:00
Fariborz Jahanian
2bc3dda186
ObjectiveC migrator. If a class implements a protocol's
...
properties, then class conforms to that protocol.
llvm-svn: 186460
2013-07-16 21:59:42 +00:00
Fariborz Jahanian
3eb3159816
ObjectiveC migration: complete migrating class
...
declaration to include list of protocols class
conforms to.
llvm-svn: 186443
2013-07-16 18:58:41 +00:00
Fariborz Jahanian
56f48d09f8
ObjC migrator: Improve on hueristics.
...
migrate to 'copy attribute if Object
class implements NSCopying otherwise
assume implied 'strong'. Remove
lifetime qualifier on property as it has
moved to property's attribute. Added TODO
comment for future work by poking into
setter implementation.
llvm-svn: 186037
2013-07-10 21:30:22 +00:00
Fariborz Jahanian
a830ea7431
objc migrator: More refinment of property
...
attributes in migration. Specialli use of
'copy' attribute for retainable object types.
llvm-svn: 185985
2013-07-10 00:20:11 +00:00
Fariborz Jahanian
d83ef848bd
ObjC migrator: Add -objcmt-migrate-property to do property
...
migration. Also, fixes an old bug where older migration
flags were not being checked for properly.
llvm-svn: 185948
2013-07-09 16:59:14 +00:00
Fariborz Jahanian
e61c907792
ObjC migration: more test for migration to
...
properties.
llvm-svn: 185884
2013-07-08 23:29:51 +00:00
Fariborz Jahanian
7ac20e1031
ObjC migration: Skip over setter/getter with attributes
...
for now.
llvm-svn: 185879
2013-07-08 22:49:25 +00:00
Fariborz Jahanian
bfaabe40e7
[Objective-C migrator] replace candidate user setter/getter with
...
their equivalent property declaration. wip.
llvm-svn: 185873
2013-07-08 21:42:08 +00:00
Rafael Espindola
925213b0fa
Add 'not' to commands that are expected to fail.
...
This is at least good documentation, but also opens the possibility of
using pipefail.
llvm-svn: 185652
2013-07-04 16:16:58 +00:00
Argyrios Kyrtzidis
b11a192dfc
[arcmt/driver] For the -ccc-arcmt-* flags, claim them when -fno-objc-arc is passed to avoid the
...
"argument unused during compilation" warning.
rdar://14240566
llvm-svn: 184776
2013-06-24 19:01:18 +00:00
Argyrios Kyrtzidis
bcf2bdc922
Point diagnostics that complain about a use of a selector in an objc message, to the selector location.
...
Previously it would point to the left bracket or the receiver, which can be particularly
problematic if the receiver is a block literal and we end up point the diagnostic far away
for the selector that is complaining about.
rdar://13620447
llvm-svn: 180833
2013-05-01 00:24:09 +00:00
Argyrios Kyrtzidis
501d90bf9f
[objcmt] Fix a mishandled conversion to objc directory literal.
...
rdar://13181413
llvm-svn: 178942
2013-04-06 01:13:17 +00:00
Argyrios Kyrtzidis
d07fabf034
[arcmt] Make sure the function has an associated parameter for the argument
...
before checking for its attributes.
rdar://13192395
llvm-svn: 175184
2013-02-14 17:29:16 +00:00
Argyrios Kyrtzidis
88c0d3b1ae
[arcmt] Make sure the objc migrators work fine when used with a PCH.
...
rdar://13140508
llvm-svn: 174386
2013-02-05 16:37:00 +00:00
Douglas Gregor
0ad84b46e3
Undo my re-wording of the "ARC forbids Objective-C objects in ..."
...
error. Jordan is right.
llvm-svn: 173713
2013-01-28 20:13:44 +00:00
Douglas Gregor
e6c3fa0b27
Forbid the use of objects in unions in Objective-C++ ARC. Fixes
...
<rdar://problem/13098104>.
llvm-svn: 173708
2013-01-28 19:08:09 +00:00