diff options
author | Henrik Nord <[email protected]> | 2013-11-29 12:02:14 +0100 |
---|---|---|
committer | Henrik Nord <[email protected]> | 2013-11-29 12:02:17 +0100 |
commit | 40d21f3f803a336b3d3edf338ec71a67ea1f09b1 (patch) | |
tree | c8de81d36bb31932be80880a02af34ce7dfbf9b6 /lib/syntax_tools/src/igor.erl | |
parent | b1309987eb47a009d2bfaa8f81e2f600090500a4 (diff) | |
parent | c37d6d74c6bf9064ffbd488b77b424ff25c6bbc0 (diff) | |
download | otp-40d21f3f803a336b3d3edf338ec71a67ea1f09b1.tar.gz otp-40d21f3f803a336b3d3edf338ec71a67ea1f09b1.tar.bz2 otp-40d21f3f803a336b3d3edf338ec71a67ea1f09b1.zip |
Merge branch 'nox/igor-funs' into maint
* nox/igor-funs:
Remove a useless function clause in erl_syntax_lib
Fix transformation of implicit funs in igor
Fix reverting of implicit funs
OTP-11506
Diffstat (limited to 'lib/syntax_tools/src/igor.erl')
-rw-r--r-- | lib/syntax_tools/src/igor.erl | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/lib/syntax_tools/src/igor.erl b/lib/syntax_tools/src/igor.erl index d385c2b690..19b1cd592f 100644 --- a/lib/syntax_tools/src/igor.erl +++ b/lib/syntax_tools/src/igor.erl @@ -1803,20 +1803,25 @@ transform_rule(T, Env, St) -> transform_implicit_fun(T, Env, St) -> {T1, St1} = default_transform(T, Env, St), - F = erl_syntax_lib:analyze_implicit_fun(T1), - {V, Text} = case (Env#code.map)(F) of - F -> - %% Not renamed - {none, []}; - {Atom, Arity} -> - %% Renamed - N = rewrite( - erl_syntax:implicit_fun_name(T1), - erl_syntax:arity_qualifier( - erl_syntax:atom(Atom), - erl_syntax:integer(Arity))), - T2 = erl_syntax:implicit_fun(N), - {{value, T2}, ["function was renamed"]} + {V, Text} = case erl_syntax:type(erl_syntax:implicit_fun_name(T1)) of + arity_qualifier -> + F = erl_syntax_lib:analyze_implicit_fun(T1), + case (Env#code.map)(F) of + F -> + %% Not renamed + {none, []}; + {Atom, Arity} -> + %% Renamed + N = rewrite( + erl_syntax:implicit_fun_name(T1), + erl_syntax:arity_qualifier( + erl_syntax:atom(Atom), + erl_syntax:integer(Arity))), + T2 = erl_syntax:implicit_fun(N), + {{value, T2}, ["function was renamed"]} + end; + module_qualifier -> + {none, []} end, {maybe_modified_quiet(V, T1, 2, Text, Env), St1}. |