anchor.diff:   		  _ -> ok                %%% What about the complex pattern matches?
    		end,
    		refac_syntax:copy_attrs(Node, refac_syntax:match_expr(P1, B));
  - 	    _ -> Node %% The body is not a pid
  + 	    _ ->
  +		  case lists:keysearch(pname, 1, Ann) of          
  +		      {value, {pname, Value}} ->
  +			  P1 = refac_util:update_ann(P, {pname, Value}),
  +			  case refac_syntax:type(P) of
  +			      variable ->
  +				  Ann1 = refac_syntax:get_ann(P),
  +				  {value, {def, DefinePos}} = lists:keysearch(def, 1, Ann1),
  +				  EnvPid ! {add, {{def, DefinePos}, {pname, Value}}};
  +			      _ -> ok                %%% What about the complex pattern matches?
  +			  end,
  +			  refac_syntax:copy_attrs(Node, refac_syntax:match_expr(P1, B));
  +		      _ -> 
  +			  Node %% The body is not a pid
  +		  end
    	  end;
          function ->
    	    Ann = refac_syntax:get_ann(Node),
  
positive.code: 	  end;
        application ->
   	    Operator = refac_syntax:application_operator(Node),
   	    Ann = refac_syntax:get_ann(Operator),
   	    case lists:keysearch(fun_def, 1, Ann) of 
   		{value, {fun_def, {M1, F1, A1, _P1, _2}}} ->
   		   TypeSigPid ! {self(), get, {M1, F1, A1}},
   		   receive 
   		       {TypeSigPid, value, {_ParSig,  RtnSig}} ->
   			   case RtnSig of 
   			       any -> Node;
   			       Pid -> refac_util:update_ann(Node, Pid)
   			   end;
   		       {TypeSigPid, false} ->
   			   Node
  
negative.code: 		end
  	end,
      {AnnAST1, _} = refac_util:stop_tdTP(F, AnnAST, []),
      %%io:format("AnnAST1:\n~p\n", [AnnAST1]),
      refac_ast_server:update_ast(File, {AnnAST1, Info, filelib:last_modified(File)}),
      ok.
  
  