anchor.diff:  get_cover_state(Module, {file, File}) ->
       Data = atom_to_list(Module) ++ ".coverdata",
       ok = cover:export(Data, Module),
  -    {File, Data}.
  +    CompileOptions = compile_options(beam_file(Module)),
  +    {File, Data, CompileOptions}.
   
   exists(Module) ->
       code:which(Module) /= non_existing.
  
positive.code: 
  restore_original(_Mod, false) ->
      ok;
  restore_original(Mod, {File, Data}) ->
      {ok, Mod} = cover:compile(File),
      ok = cover:import(Data),
      file:delete(Data),
      ok.
  
negative.code:             throw(no_abstract_code)
      end.
  
  compile_options(BeamFile) when is_binary(BeamFile) ->
      case beam_lib:chunks(BeamFile, [compile_info]) of
          {ok, {_, [{compile_info, Info}]}} ->
              proplists:get_value(options, Info);
          _ ->
              throw(no_compile_options)
      end;
  compile_options(Module) ->
      proplists:get_value(options, Module:module_info(compile)).
  
  