@ -30,13 +30,17 @@ let report_latent_issue proc_desc err_log latent_issue =
 
			
		
	
		
		
			
				
					
					  report  ~ extra_trace  proc_desc  err_log  diagnostic 
  report  ~ extra_trace  proc_desc  err_log  diagnostic 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					let  is_suppressed  tenv  proc_desc  diagnostic  = let  is_nullsafe_error  tenv  diagnostic  jn  =  
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					  ( not  Config . pulse_nullsafe_report_npe ) 
 
			
		
	
		
		
			
				
					
					  &&  IssueType . equal  ( Diagnostic . get_issue_type  diagnostic )  IssueType . nullptr_dereference 
 
			
		
	
		
		
			
				
					
					  &&  match  NullsafeMode . of_java_procname  tenv  jn  with  Default  ->  false  |  Local  _  |  Strict  ->  true 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					let  is_suppressed  tenv  proc_desc  diagnostic  astate  =  
			
		
	
		
		
			
				
					
					  match  Procdesc . get_proc_name  proc_desc  with 
  match  Procdesc . get_proc_name  proc_desc  with 
 
			
		
	
		
		
			
				
					
					  |  Procname . Java  jn 
  |  Procname . Java  jn  -> 
 
			
				
				
			
		
	
		
		
			
				
					
					    when  ( not  Config . pulse_nullsafe_report_npe ) 
      is_nullsafe_error  tenv  diagnostic  jn 
 
			
				
				
			
		
	
		
		
			
				
					
					         &&  IssueType . equal  ( Diagnostic . get_issue_type  diagnostic )  IssueType . nullptr_dereference 
      | |  not  ( AbductiveDomain . skipped_calls_match_pattern  astate ) 
 
			
				
				
			
		
	
		
		
			
				
					
					    ->  ( 
 
			
		
	
		
		
			
				
					
					    match  NullsafeMode . of_java_procname  tenv  jn  with  Default  ->  false  |  Local  _  |  Strict  ->  true  ) 
 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					  |  _  -> 
  |  _  -> 
 
			
		
	
		
		
			
				
					
					      false 
      false 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -44,7 +48,8 @@ let is_suppressed tenv proc_desc diagnostic =
 
			
		
	
		
		
			
				
					
					let  report_error  tenv  proc_desc  err_log  access_error  = let  report_error  tenv  proc_desc  err_log  access_error  =  
			
		
	
		
		
			
				
					
					  match  LatentIssue . should_report  access_error  with 
  match  LatentIssue . should_report  access_error  with 
 
			
		
	
		
		
			
				
					
					  |  ` ReportNow  ( astate_summary ,  diagnostic )  -> 
  |  ` ReportNow  ( astate_summary ,  diagnostic )  -> 
 
			
		
	
		
		
			
				
					
					      if  not  ( is_suppressed  tenv  proc_desc  diagnostic )  then  report  proc_desc  err_log  diagnostic  ; 
      if  not  ( is_suppressed  tenv  proc_desc  diagnostic  astate_summary )  then 
 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					        report  proc_desc  err_log  diagnostic  ; 
 
			
		
	
		
		
			
				
					
					      AbortProgram  astate_summary 
      AbortProgram  astate_summary 
 
			
		
	
		
		
			
				
					
					  |  ` DelayReport  ( astate ,  latent_issue )  -> 
  |  ` DelayReport  ( astate ,  latent_issue )  -> 
 
			
		
	
		
		
			
				
					
					      if  Config . pulse_report_latent_issues  then  report_latent_issue  proc_desc  err_log  latent_issue  ; 
      if  Config . pulse_report_latent_issues  then  report_latent_issue  proc_desc  err_log  latent_issue  ;