~rdoering/ubuntu/karmic/erlang/fix-535090

« back to all changes in this revision

Viewing changes to lib/edoc/src/edoc_data.erl

  • Committer: Bazaar Package Importer
  • Author(s): Sergei Golovan
  • Date: 2009-02-15 16:42:52 UTC
  • mfrom: (3.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090215164252-q5x4rcf8a5pbesb1
Tags: 1:12.b.5-dfsg-2
Upload to unstable after lenny is released.

Show diffs side-by-side

added added

removed removed

Lines of Context:
294
294
    case get_deprecated(Ts) of
295
295
        [] ->
296
296
            M = Env#env.module,
297
 
            case erl_internal:obsolete(M, F, A) of
298
 
                {true, {M1, F1, A1}} ->
299
 
                    Text = if M =:= M1 ->
300
 
                                   io_lib:fwrite("~w/~w", [F1, A1]);
301
 
                              true ->
302
 
                                   io_lib:fwrite("~w:~w/~w",
303
 
                                                 [M1, F1, A1])
304
 
                           end,
305
 
                    Ref = if M =:= M1 ->
306
 
                                  edoc_refs:function(F1, A1);
307
 
                             true ->
308
 
                                  edoc_refs:function(M1, F1, A1)
309
 
                          end,
310
 
                    Desc = ["Use ",
311
 
                            {a, href(Ref, Env), [{code, [Text]}]},
312
 
                            " instead."],
313
 
                    [{deprecated, description(Desc)}];
314
 
                {true, Text} ->
315
 
                    [{deprecated, description([Text])}];
 
297
            case otp_internal:obsolete(M, F, A) of
 
298
                {Tag, Text} when Tag =:= deprecated; Tag =:= removed ->
 
299
                    deprecated([Text]);
 
300
                {Tag, Repl, _Rel} when Tag =:= deprecated; Tag =:= removed -> 
 
301
                    deprecated(Repl, Env);
316
302
                _ ->
317
303
                    []
318
304
            end;
320
306
            Es
321
307
    end.
322
308
 
 
309
deprecated(Repl, Env) ->
 
310
    {Text, Ref} = replacement_function(Env#env.module, Repl),
 
311
    Desc = ["Use ", {a, href(Ref, Env), [{code, [Text]}]}, " instead."],
 
312
    deprecated(Desc).
 
313
 
 
314
deprecated(Desc) ->
 
315
    [{deprecated, description(Desc)}].
 
316
 
 
317
replacement_function(M0, {M,F,A}) when is_list(A) ->
 
318
    %% refer to the largest listed arity - the most general version
 
319
    replacement_function(M0, {M,F,lists:last(lists:sort(A))});
 
320
replacement_function(M, {M,F,A}) ->
 
321
    {io_lib:fwrite("~w/~w", [F, A]), edoc_refs:function(F, A)};
 
322
replacement_function(_, {M,F,A}) ->
 
323
    {io_lib:fwrite("~w:~w/~w", [M, F, A]), edoc_refs:function(M, F, A)}.
 
324
 
323
325
get_expr_ref(Expr) ->
324
326
    case catch {ok, erl_syntax_lib:analyze_application(Expr)} of
325
327
        {ok, {F, A}} when is_atom(F), is_integer(A) ->
416
418
%%     end.
417
419
 
418
420
merge_returns(Spec, Ts) ->
419
 
    case get_tags(return, Ts) of
 
421
    case get_tags(returns, Ts) of
420
422
        [] ->
421
423
            case edoc_types:range_desc(Spec) of
422
424
                "" -> [];