anchor.diff:     
   
   -spec(parse_annotate_file_1(FName::filename(), ByPassPreP::boolean(), SearchPaths::[dir()])
  -                           -> {ok, {syntaxTree(), moduleInfo()}} | {error, string()}).
  +                           -> {ok, {syntaxTree(), moduleInfo()}}).
   parse_annotate_file_1(FName, ByPassPreP, SearchPaths) ->
       R = case ByPassPreP of
   	  true -> refac_epp_dodger:parse_file(FName);
  
positive.code: %%  For the data structures used by the AST nodes, please refer to <a href="refac_syntax.html"> refac_syntax </a>.
  
  -spec(parse_annotate_file(FName::filename(), ByPassPreP::boolean(), SearchPaths::[dir()])
                             -> {ok, {syntaxTree(), moduleInfo()}} | {error, string()}).
  parse_annotate_file(FName, ByPassPreP, SearchPaths) ->
      case whereis(wrangler_ast_server) of 
  	undefined ->        %% this should not happen with Wrangler + Emacs.
  
negative.code: -spec(build_callgraph/2::([filename()], [{{{atom(), atom(), integer()}, syntaxTree()}, {atom(), atom(), integer()}}]) ->
   	     [{{{atom(), atom(), integer()}, syntaxTree()}, [{atom(), atom(), integer()}]}]).
  build_callgraph([FileName | Left], Acc) ->
      {ok, {AnnAST, Info}} = refac_util:parse_annotate_file(FileName, true, []),
      case lists:keysearch(errors,1, Info) of 
  	{value, {errors, _Errors}} -> erlang:error("Syntax error in " ++ FileName);
  	_ ->  G1 = build_callgraph(AnnAST, Info, FileName),
  	      Acc1 = Acc ++ G1,
  	      build_callgraph(Left, Acc1)
      end; 
  build_callgraph([], Acc) -> Acc.
  
  -spec(build_callgraph/3::(syntaxTree(),moduleInfo(),filename()) -> 
  