diff options
author | Björn-Egil Dahlberg <[email protected]> | 2014-01-13 18:05:00 +0100 |
---|---|---|
committer | Björn-Egil Dahlberg <[email protected]> | 2014-01-29 11:08:48 +0100 |
commit | 5b4b6c9b6bd1cf258841004f2e11bb2a82ebfe24 (patch) | |
tree | 380181058a169355343424f64e0feccda64f60ec /lib/compiler/src/sys_core_fold.erl | |
parent | 1f6c5e88f4f387cc27c9affbdf1ceaae7cfdcfd3 (diff) | |
download | otp-5b4b6c9b6bd1cf258841004f2e11bb2a82ebfe24.tar.gz otp-5b4b6c9b6bd1cf258841004f2e11bb2a82ebfe24.tar.bz2 otp-5b4b6c9b6bd1cf258841004f2e11bb2a82ebfe24.zip |
compiler: Squash #c_map_pair_*{} to #c_map_pair{}
Simplify compiler internals and parsing of core format.
Diffstat (limited to 'lib/compiler/src/sys_core_fold.erl')
-rw-r--r-- | lib/compiler/src/sys_core_fold.erl | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/lib/compiler/src/sys_core_fold.erl b/lib/compiler/src/sys_core_fold.erl index 6792e2c894..1cdbac5693 100644 --- a/lib/compiler/src/sys_core_fold.erl +++ b/lib/compiler/src/sys_core_fold.erl @@ -421,18 +421,12 @@ expr_list(Es, Ctxt, Sub) -> pair_list(Es, Ctxt, Sub) -> [pair(E, Ctxt, Sub) || E <- Es]. -pair(#c_map_pair_assoc{key=K,val=V}, effect, Sub) -> +pair(#c_map_pair{key=K,val=V}, effect, Sub) -> make_effect_seq([K,V], Sub); -pair(#c_map_pair_exact{key=K,val=V}, effect, Sub) -> - make_effect_seq([K,V], Sub); -pair(#c_map_pair_assoc{key=K0,val=V0}=Pair, value=Ctxt, Sub) -> - K = expr(K0, Ctxt, Sub), - V = expr(V0, Ctxt, Sub), - Pair#c_map_pair_assoc{key=K,val=V}; -pair(#c_map_pair_exact{key=K0,val=V0}=Pair, value=Ctxt, Sub) -> +pair(#c_map_pair{key=K0,val=V0}=Pair, value=Ctxt, Sub) -> K = expr(K0, Ctxt, Sub), V = expr(V0, Ctxt, Sub), - Pair#c_map_pair_exact{key=K,val=V}. + Pair#c_map_pair{key=K,val=V}. bitstr_list(Es, Sub) -> [bitstr(E, Sub) || E <- Es]. @@ -1542,10 +1536,10 @@ map_pair_pattern_list(Ps0, Isub, Osub0) -> {Ps,{_,Osub}} = mapfoldl(fun map_pair_pattern/2, {Isub,Osub0}, Ps0), {Ps,Osub}. -map_pair_pattern(#c_map_pair_exact{key=K0,val=V0}=Pair, {Isub,Osub0}) -> +map_pair_pattern(#c_map_pair{op=#c_literal{val=exact},key=K0,val=V0}=Pair, {Isub,Osub0}) -> {K,Osub1} = pattern(K0, Isub, Osub0), {V,Osub} = pattern(V0, Isub, Osub1), - {Pair#c_map_pair_exact{key=K,val=V},{Isub,Osub}}. + {Pair#c_map_pair{key=K,val=V},{Isub,Osub}}. bin_pattern_list(Ps0, Isub, Osub0) -> {Ps,{_,Osub}} = mapfoldl(fun bin_pattern/2, {Isub,Osub0}, Ps0), |