浏览代码

Merge pull request #2347 from paulo-ferraz-oliveira/fix/rebar3_xref_undefined_functions

Prevent crash when function deemed undefined has no local context
pull/2353/head
Tristan Sloughter 4 年前
提交者 GitHub
父节点
当前提交
d447e8b948
找不到此签名对应的密钥 GPG 密钥 ID: 4AEE18F83AFDEB23
共有 1 个文件被更改,包括 3 次插入3 次删除
  1. +3
    -3
      src/rebar_prv_xref.erl

+ 3
- 3
src/rebar_prv_xref.erl 查看文件

@ -212,7 +212,7 @@ display_xref_results_for_type({Type, XrefResults}) ->
display_xref_result_fun(Type) ->
fun(XrefResult) ->
{FormattedSource, SMFA, TMFA} =
{Source, SMFA, TMFA} =
case XrefResult of
{MFASource, MFATarget} ->
{format_mfa_source(MFASource),
@ -223,7 +223,6 @@ display_xref_result_fun(Type) ->
format_mfa(MFATarget),
undefined}
end,
Source = rebar_dir:make_relative_path(FormattedSource, rebar_dir:get_cwd()),
case Type of
undefined_function_calls ->
io_lib:format("~tsWarning: ~ts calls undefined function ~ts (Xref)\n",
@ -294,7 +293,8 @@ find_function_source(M, F, A, Bin) ->
find_function_source_in_abstract_code(F, A, AbstractCode) ->
%% Extract the original source filename from the abstract code
[{attribute, _, file, {Source, _}} | _] = AbstractCode,
[{attribute, _, file, {Source0, _}} | _] = AbstractCode,
Source = rebar_dir:make_relative_path(Source0, rebar_dir:get_cwd()),
%% Extract the line number for a given function def
Fn = [E || E <- AbstractCode,
safe_element(1, E) == function,

正在加载...
取消
保存