aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/v3_life.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2013-10-03 12:58:54 +0200
committerBjörn-Egil Dahlberg <[email protected]>2014-01-28 15:56:28 +0100
commit760ed909f8e2a655100ea773829c7d0e7dd40088 (patch)
tree1b79bd3c8076bac00a1cf7f609b9f63820686fad /lib/compiler/src/v3_life.erl
parentc0bb7f866257168e0a05110767fc7096a93d351d (diff)
downloadotp-760ed909f8e2a655100ea773829c7d0e7dd40088.tar.gz
otp-760ed909f8e2a655100ea773829c7d0e7dd40088.tar.bz2
otp-760ed909f8e2a655100ea773829c7d0e7dd40088.zip
Pass the map pair operators through to the v3_codegen pass
Diffstat (limited to 'lib/compiler/src/v3_life.erl')
-rw-r--r--lib/compiler/src/v3_life.erl10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/compiler/src/v3_life.erl b/lib/compiler/src/v3_life.erl
index 507f5d0df1..a3bd781c98 100644
--- a/lib/compiler/src/v3_life.erl
+++ b/lib/compiler/src/v3_life.erl
@@ -369,8 +369,10 @@ literal(#k_tuple{es=Es}, Ctxt) ->
{tuple,literal_list(Es, Ctxt)};
literal(#k_map{var=Var,es=Es}, Ctxt) ->
{map,literal(Var, Ctxt),literal_list(Es, Ctxt)};
-literal(#k_map_pair{key=K,val=V}, Ctxt) ->
- {map_pair,literal(K, Ctxt),literal(V, Ctxt)};
+literal(#k_map_pair_assoc{key=K,val=V}, Ctxt) ->
+ {map_pair_assoc,literal(K, Ctxt),literal(V, Ctxt)};
+literal(#k_map_pair_exact{key=K,val=V}, Ctxt) ->
+ {map_pair_exact,literal(K, Ctxt),literal(V, Ctxt)};
literal(#k_literal{val=V}, _Ctxt) ->
{literal,V}.
@@ -402,7 +404,9 @@ literal2(#k_tuple{es=Es}, Ctxt) ->
{tuple,literal_list2(Es, Ctxt)};
literal2(#k_map{es=Es}, Ctxt) ->
{map,literal_list2(Es, Ctxt)};
-literal2(#k_map_pair{key=K,val=V}, Ctxt) ->
+literal2(#k_map_pair_assoc{key=K,val=V}, Ctxt) ->
+ {map_pair,literal2(K, Ctxt),literal2(V, Ctxt)};
+literal2(#k_map_pair_exact{key=K,val=V}, Ctxt) ->
{map_pair,literal2(K, Ctxt),literal2(V, Ctxt)}.
literal_list2(Ks, Ctxt) ->