@ -93,6 +93,7 @@ let pp_ast_decl fmt ast_decl =
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    let  stmt_info ,  stmt_list  =  Clang_ast_proj . get_stmt_tuple  stmt  in 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    let  decl_list  =  match  stmt  with 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      |  Clang_ast_t . DeclStmt  ( _ ,  _ ,  decl_list )  ->  decl_list 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      |  Clang_ast_t . BlockExpr  ( _ ,  _ ,  _ ,  decl )  ->  [ decl ] 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      |  _  ->  []  in 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    F . fprintf  fmt  " %s%s %a@ \n " 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      prefix 
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -104,6 +105,11 @@ let pp_ast_decl fmt ast_decl =
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    let  prefix1  =  prefix  ^  "    "  in 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    let  open  Clang_ast_t  in 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    match  decl  with 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    |  BlockDecl  ( decl_info ,  block_decl_info )  -> 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        F . fprintf  fmt  " %sBlockDecl %a@ \n " 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					          prefix 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					          pp_source_range  decl_info . di_source_range ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        Option . may  ( dump_stmt  prefix1 )  block_decl_info . bdi_body 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    |  FunctionDecl  ( decl_info ,  name ,  tp ,  fdecl_info )  -> 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        F . fprintf  fmt  " %sFunctionDecl %s %a@ \n " 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					          prefix 
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -240,6 +246,9 @@ let rec stmt_process_locs loc_composer stmt =
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  |  DeclStmt  ( stmt_info ,  stmt_list ,  decl_list )  -> 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      let  decl_list'  =  IList . map  ( decl_process_locs  loc_composer )  decl_list  in 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      DeclStmt  ( stmt_info ,  stmt_list ,  decl_list' ) 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  |  BlockExpr  ( stmt_info ,  stmt_list ,  expr_info ,  block_decl )  -> 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      let  block_decl'  =  decl_process_locs  loc_composer  block_decl  in 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      BlockExpr  ( stmt_info ,  stmt_list ,  expr_info ,  block_decl' ) 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  |  stmt'  -> 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      stmt' 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -274,6 +283,15 @@ and decl_process_locs loc_composer decl =
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    let  method_info'  =  {  method_info  with  xmdi_cxx_ctor_initializers  =  ctor_init' }  in 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    ( di' ,  n' ,  tp' ,  fdi' ,  method_info' )  in 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  match  decl'  with 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  |  BlockDecl  ( decl_info' ,  block_decl_info )  -> 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      let  parameters'  =  IList . map  ( decl_process_locs  loc_composer )  block_decl_info . bdi_parameters  in 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      let  body'  = 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        Option . map  ( stmt_process_locs  loc_composer )  block_decl_info . bdi_body  in 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      let  block_decl_info'  = 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        {  block_decl_info  with 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					          bdi_body  =  body' ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					          bdi_parameters  =  parameters' ;  }  in 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      BlockDecl  ( decl_info' ,  block_decl_info' ) 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  |  FunctionDecl  fun_info  ->  FunctionDecl  ( get_updated_fun_decl  fun_info ) 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  |  CXXMethodDecl  meth_info  ->  CXXMethodDecl  ( get_updated_method_decl  meth_info ) 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  |  CXXConstructorDecl  meth_info  ->  CXXConstructorDecl  ( get_updated_method_decl  meth_info )