[liveness] Do not report on variables with block attribute

Reviewed By: sblackshear

Differential Revision: D6408338

fbshipit-source-id: 0fac3be
master
Dulma Churchill 7 years ago committed by Facebook Github Bot
parent 71fde88950
commit 306a0a9182

@ -126,7 +126,7 @@ let checker {Callbacks.tenv; summary; proc_desc} : Specs.summary =
not not
( Pvar.is_frontend_tmp pvar || Pvar.is_return pvar || Pvar.is_global pvar ( Pvar.is_frontend_tmp pvar || Pvar.is_return pvar || Pvar.is_global pvar
|| Domain.mem (Var.of_pvar pvar) live_vars || Procdesc.is_captured_var proc_desc pvar || Domain.mem (Var.of_pvar pvar) live_vars || Procdesc.is_captured_var proc_desc pvar
|| is_scope_guard typ ) || is_scope_guard typ || Procdesc.has_modify_in_block_attr proc_desc pvar )
in in
let log_report pvar loc = let log_report pvar loc =
let issue_id = IssueType.dead_store.unique_id in let issue_id = IssueType.dead_store.unique_id in

@ -0,0 +1,30 @@
/*
* Copyright (c) 2014 - present Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
#import <Foundation/Foundation.h>
@interface ObervserExample : NSObject
@end
@implementation ObervserExample
- (void)observer_no_dead_store:(id)object {
__block id observer = [[NSNotificationCenter defaultCenter]
addObserverForName:nil
object:object
queue:nil
usingBlock:^(NSNotification* note) {
[[NSNotificationCenter defaultCenter] removeObserver:observer
name:nil
object:nil];
}];
}
@end
Loading…
Cancel
Save