diff options
author | Björn-Egil Dahlberg <[email protected]> | 2016-01-18 10:08:54 +0100 |
---|---|---|
committer | Björn-Egil Dahlberg <[email protected]> | 2016-01-18 10:08:54 +0100 |
commit | 427c9f4f7777dd00e0a03a42b9834a4d669305b6 (patch) | |
tree | 040b2da3d1174bbcacb7e4dc518f91d568d36b77 /lib/compiler/src | |
parent | 3d1716e8f4c5fafbddc4e50bc93456398e9cc209 (diff) | |
parent | 48e25dfef23a51d02629b2c9fa9963fd3ba7788c (diff) | |
download | otp-427c9f4f7777dd00e0a03a42b9834a4d669305b6.tar.gz otp-427c9f4f7777dd00e0a03a42b9834a4d669305b6.tar.bz2 otp-427c9f4f7777dd00e0a03a42b9834a4d669305b6.zip |
Merge branch 'egil/improve-map-cerl-prettypr/OTP-13238' into maint
* egil/improve-map-cerl-prettypr/OTP-13238:
compiler, hipe: Fix pretty printing of Core Maps
hipe: Fix map pretty printing of pairs
dialyzer: Update Maps tests
Diffstat (limited to 'lib/compiler/src')
-rw-r--r-- | lib/compiler/src/cerl.erl | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/compiler/src/cerl.erl b/lib/compiler/src/cerl.erl index 010327b5e3..e7a2b8177a 100644 --- a/lib/compiler/src/cerl.erl +++ b/lib/compiler/src/cerl.erl @@ -1598,13 +1598,20 @@ is_c_map(#c_literal{val = V}) when is_map(V) -> is_c_map(_) -> false. --spec map_es(c_map()) -> [c_map_pair()]. +-spec map_es(c_map() | c_literal()) -> [c_map_pair()]. +map_es(#c_literal{anno=As,val=M}) when is_map(M) -> + [ann_c_map_pair(As, + #c_literal{anno=As,val='assoc'}, + #c_literal{anno=As,val=K}, + #c_literal{anno=As,val=V}) || {K,V} <- maps:to_list(M)]; map_es(#c_map{es = Es}) -> Es. --spec map_arg(c_map()) -> c_map() | c_literal(). +-spec map_arg(c_map() | c_literal()) -> c_map() | c_literal(). +map_arg(#c_literal{anno=As,val=M}) when is_map(M) -> + #c_literal{anno=As,val=#{}}; map_arg(#c_map{arg=M}) -> M. |