File tree 3 files changed +17
-2
lines changed
3 files changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -69,6 +69,21 @@ - (void)addCandidate:(id)candidate
69
69
[_candidates removeAllObjects ];
70
70
[_objectSet removeAllObjects ];
71
71
72
+ // Filter cycles that have been broken down since we found them.
73
+ // These are false-positive that were picked-up and are transient cycles.
74
+ NSMutableSet <NSArray <FBObjectiveCGraphElement *> *> *brokenCycles = [NSMutableSet set ];
75
+ for (NSArray <FBObjectiveCGraphElement *> *itemCycle in allRetainCycles) {
76
+ for (FBObjectiveCGraphElement *element in itemCycle) {
77
+ if (element.object == nil ) {
78
+ // At least one element of the cycle has been removed, thus breaking
79
+ // the cycle.
80
+ [brokenCycles addObject: itemCycle];
81
+ break ;
82
+ }
83
+ }
84
+ }
85
+ [allRetainCycles minusSet: brokenCycles];
86
+
72
87
return allRetainCycles;
73
88
}
74
89
Original file line number Diff line number Diff line change @@ -72,7 +72,7 @@ - (NSString *)classNameOrNull
72
72
{
73
73
NSString *className = NSStringFromClass ([self objectClass ]);
74
74
if (!className) {
75
- className = @" Null " ;
75
+ className = @" (null) " ;
76
76
}
77
77
78
78
if (!self.configuration .shouldIncludeBlockAddress ) {
Original file line number Diff line number Diff line change @@ -116,7 +116,7 @@ - (NSString *)classNameOrNull
116
116
{
117
117
NSString *className = NSStringFromClass ([self objectClass ]);
118
118
if (!className) {
119
- className = @" Null " ;
119
+ className = @" (null) " ;
120
120
}
121
121
122
122
return className;
You can’t perform that action at this time.
0 commit comments