aboutsummaryrefslogtreecommitdiffstats
path: root/lib/syntax_tools/src/erl_syntax.erl
diff options
context:
space:
mode:
authorMicael Karlberg <[email protected]>2011-11-08 16:29:34 +0100
committerMicael Karlberg <[email protected]>2011-11-08 16:29:34 +0100
commitc4ba4b92ba9caed7b1a6732ac53c78330b4558fd (patch)
tree0eb24ad030e08c56f2efa9a1b4ea96cc5dfa947b /lib/syntax_tools/src/erl_syntax.erl
parentb3929cdc4479170842d36a7f2ba757ff052e098b (diff)
parent12a5e61df498ec80383514ca79b795c40522e19a (diff)
downloadotp-c4ba4b92ba9caed7b1a6732ac53c78330b4558fd.tar.gz
otp-c4ba4b92ba9caed7b1a6732ac53c78330b4558fd.tar.bz2
otp-c4ba4b92ba9caed7b1a6732ac53c78330b4558fd.zip
Merge branch 'master' of super:otp into bmk/snmp/compiler/misc/OTP-9618
Diffstat (limited to 'lib/syntax_tools/src/erl_syntax.erl')
-rw-r--r--lib/syntax_tools/src/erl_syntax.erl7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/syntax_tools/src/erl_syntax.erl b/lib/syntax_tools/src/erl_syntax.erl
index 9df5f26454..7f58fda519 100644
--- a/lib/syntax_tools/src/erl_syntax.erl
+++ b/lib/syntax_tools/src/erl_syntax.erl
@@ -6093,11 +6093,16 @@ implicit_fun_name(Node) ->
{'fun', Pos, {function, Atom, Arity}} ->
arity_qualifier(set_pos(atom(Atom), Pos),
set_pos(integer(Arity), Pos));
- {'fun', Pos, {function, Module, Atom, Arity}} ->
+ {'fun', Pos, {function, Module, Atom, Arity}}
+ when is_atom(Module), is_atom(Atom), is_integer(Arity) ->
+ %% Backward compatibility with pre-R15 abstract format.
module_qualifier(set_pos(atom(Module), Pos),
arity_qualifier(
set_pos(atom(Atom), Pos),
set_pos(integer(Arity), Pos)));
+ {'fun', Pos, {function, Module, Atom, Arity}} ->
+ %% New in R15: fun M:F/A.
+ module_qualifier(Module, arity_qualifier(Atom, Arity));
Node1 ->
data(Node1)
end.