anchor.diff:      end.
   
   %% =====================================================================
  -%% @spec once_tdTU(Function, Tree::syntaxTree(), Others::term())-> {term(), boolean()}
  -%%       Function = (syntaxTree(), term()) -> {term(), boolean()}
  +%% @spec once_tdTU(Function, Tree::syntaxTree(), Others::term())-> {term(), bool()}
  +%%       Function = (syntaxTree(), term()) -> {term(), bool()}
   %%
   %% @doc Once-topdown type-unifying traversal of the abstract syntax tree with some
   %% information collected. This function does a pre-order traversal of the
  
positive.code: 
  -spec(get_bound_vars(Node::[syntaxTree()]|syntaxTree())-> [{atom(),pos()}]).
  get_bound_vars(Nodes) when is_list(Nodes)->
      lists:flatmap(fun(Node) ->get_bound_vars(Node) end, Nodes);			   
  get_bound_vars(Node) ->
      refac_syntax_lib:fold(fun(N, Acc) ->
  			      get_bound_vars_1(refac_syntax:get_ann(N))++Acc
  		      end, [], Node).
  					       
  get_bound_vars_1([{bound, B} | _Bs]) -> B;
  get_bound_vars_1([_ | Bs]) -> get_bound_vars_1(Bs);
  
negative.code: %%
  %% @doc Parse an Erlang file, and annotate the abstract syntax tree with static semantic 
  %% information. As to the parameters, FName is the name of the file to parse;  ByPassPreP 
  %% is a bool value, and 'true' means to use the parse defined in refac_epp_dodger 
  %% (which does not expand macros), 'false' means to use the parse defined in refac_epp
  %% (which expands macros); SeachPaths is the list of directories to search for related 
  %% Erlang files. 
  