anchor.diff:  %%
   %% %CopyrightBegin%
   %%
  -%% Copyright Ericsson AB 2000-2017. All Rights Reserved.
  +%% Copyright Ericsson AB 2000-2020. All Rights Reserved.
   %%
   %% Licensed under the Apache License, Version 2.0 (the "License");
   %% you may not use this file except in compliance with the License.
  
positive.code:     Attrs = {lists:reverse(AL), lists:reverse(AX), lists:reverse(B)},
      {ok, M, {DefAt, LCallAt, XCallAt, LC, XC, X, Attrs, Depr, OL}, U}.
  
  form({attribute, Line, xref, Calls}, S) -> % experimental
      #xrefr{module = M, function = Fun,
  	   lattrs = L, xattrs = X, battrs = B} = S,
      attr(Calls, erl_anno:line(Line), M, Fun, L, X, B, S);
  form({attribute, _, on_load, {F, 0}}, S) ->
      S#xrefr{on_load = F};
  form({attribute, _Line, _Attr, _Val}, S) ->
      S;
  form({function, _, module_info, 0, _Clauses}, S) ->
      S;
  form({function, _, module_info, 1, _Clauses}, S) ->
      S;
  form({function, 0 = _Line, behaviour_info, 1, _Clauses}, S) ->
      S;
  form({function, Anno, Name, Arity, Clauses}, S) ->
      MFA0 = {S#xrefr.module, Name, Arity},
  
negative.code: list2term([], Anno) ->
      {nil, Anno}.
  
  term2list({cons, _Anno, H, T}, L, S) ->
      term2list(T, [H | L], S);
  term2list({nil, _Anno}, L, _S) ->
      reverse(L);
  term2list({var, _, Var}, L, S) ->
      case keysearch(Var, 1, S#xrefr.matches) of
  