anchor.diff:  	Analysis#typer_analysis{callgraph = StrippedCallGraph, trust_plt = NewPlt}
       catch
   	_E1:_E2 ->
  -	    throw({error, "Wrangler failed to infer type information needed."})
  +	    throw({error, "Wrangler failed to infer the type information needed."})
       end.
   
   
  --record(tmpAcc, {file,		
  -		 module,		
  -		 funcAcc=[],	
  -		 incFuncAcc=[],	
  -		 dialyzerObj=[]}).
  -
   -spec collect(#typer_analysis{}) -> #typer_analysis{}.
   collect(Analysis) ->
  -  NewPlt =
  -	try get_dialyzer_plt(Analysis) of
  -	    DialyzerPlt ->
  -		dialyzer_plt:merge_plts([Analysis#typer_analysis.trust_plt, DialyzerPlt])
  -	catch
  -	    _E1:_E2 ->
  -		throw({error, "Dialyzer's PLT is missing or is not up-to-date; please (re)create it"})
  -	end,
  +    NewPlt =dialyzer_plt:merge_plts([Analysis#typer_analysis.trust_plt, 
  +				     Analysis#typer_analysis.plt]),
       NewAnalysis = lists:foldl(fun collect_one_file_info/2, 
   			      Analysis#typer_analysis{trust_plt = NewPlt}, 
   			      Analysis#typer_analysis.ana_files),
  
positive.code: %% Copyright (c) 2010, Huiqing Li, Simon Thompson
  %% All rights reserved.
  %%
  %% Redistribution and use in source and binary forms, with or without
  %% modification, are permitted provided that the following conditions are met:
  %%     %% Redistributions of source code must retain the above copyright
  %%       notice, this list of conditions and the following disclaimer.
  %%     %% Redistributions in binary form must reproduce the above copyright
  %%       notice, this list of conditions and the following disclaimer in the
  %%       documentation and/or other materials provided with the distribution.
  %%     %% Neither the name of the copyright holders nor the
  %%       names of its contributors may be used to endoorse or promote products
  %%       derived from this software without specific prior written permission.
  %%
  %% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS''
  %% AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
  %% IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
  %% ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
  %% BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
  %% CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
  %% SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 
  %% BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
  %% WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
  %% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
  %% ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  %% ============================================================================================
  %% Refactoring: Introduce a ?LET.
  %%
  %% Author contact: hl@kent.ac.uk, sjt@kent.ac.uk
  %% 
  %% =============================================================================================
  
  %% =============================================================================================
  -module(refac_type_info).
  
  
negative.code: 
  -include("../include/wrangler.hrl").
  
  %%-define(DEBUG, true).
  
  -ifdef(DEBUG).
  -define(debug(__String, __Args), ?wrangler_io(__String, __Args)).
  -else.
  -define(debug(__String, __Args), ok).
  -endif.    
  
  
  -record(tmpAcc, {file,		
  		 module,		
  		 funcAcc=[],	
  		 incFuncAcc=[],	
  		 dialyzerObj=[]}).
  
  get_type_info_using_typer(File) ->
      PLT = filename:join(?WRANGLER_DIR, "plt/dialyzer_plt"),
      Analysis = #typer_analysis{plt=PLT},
      Analysis1 = Analysis#typer_analysis{ana_files = [File]},
      Analysis2 = collect(Analysis1),
      TypeInfo = get_type_info(Analysis2),
      ?debug("FinalFiles1:\n~p\n", [TypeInfo#typer_analysis.final_files]),
      Fun = fun({F, Module}) -> 
  		  RecMap=lookup(F, TypeInfo#typer_analysis.record),
  		  TypeInfoPlt = TypeInfo#typer_analysis.trust_plt,
  		  case dialyzer_plt:lookup_module(TypeInfoPlt, Module) of
  		      none -> [];
  		      {value, List} -> {F, List, RecMap}
  		  end
  	  end,
      lists:map(Fun, TypeInfo#typer_analysis.final_files).
    
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %%  The following functions are from Typer with slight modifications.         %%
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  
  -spec get_type_info(#typer_analysis{}) -> #typer_analysis{}.
  
  