diff options
author | Björn-Egil Dahlberg <[email protected]> | 2014-09-30 15:26:09 +0200 |
---|---|---|
committer | Björn-Egil Dahlberg <[email protected]> | 2014-09-30 15:26:09 +0200 |
commit | 4196af1031b1cb9e410de77118a52bfbc3363b48 (patch) | |
tree | 6751ed83e5f7a42180433547d7e1f22744b866ba /lib/stdlib/src | |
parent | 14a570b5ad9ad47027d0006fb0eab20b78ae100f (diff) | |
download | otp-4196af1031b1cb9e410de77118a52bfbc3363b48.tar.gz otp-4196af1031b1cb9e410de77118a52bfbc3363b48.tar.bz2 otp-4196af1031b1cb9e410de77118a52bfbc3363b48.zip |
stdlib: erl_parse abstract Maps
Diffstat (limited to 'lib/stdlib/src')
-rw-r--r-- | lib/stdlib/src/erl_parse.yrl | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/stdlib/src/erl_parse.yrl b/lib/stdlib/src/erl_parse.yrl index 1d70b1286f..1d4a2a1fef 100644 --- a/lib/stdlib/src/erl_parse.yrl +++ b/lib/stdlib/src/erl_parse.yrl @@ -961,7 +961,9 @@ abstract([H|T], L, none=E) -> abstract(List, L, E) when is_list(List) -> abstract_list(List, [], L, E); abstract(Tuple, L, E) when is_tuple(Tuple) -> - {tuple,L,abstract_tuple_list(tuple_to_list(Tuple), L, E)}. + {tuple,L,abstract_tuple_list(tuple_to_list(Tuple), L, E)}; +abstract(Map, L, E) when is_map(Map) -> + {map,L,abstract_map_fields(maps:to_list(Map),L,E)}. abstract_list([H|T], String, L, E) -> case is_integer(H) andalso H >= 0 andalso E(H) of @@ -986,6 +988,9 @@ abstract_tuple_list([H|T], L, E) -> abstract_tuple_list([], _L, _E) -> []. +abstract_map_fields(Fs,L,E) -> + [{map_field_assoc,L,abstract(K,L,E),abstract(V,L,E)}||{K,V}<-Fs]. + abstract_byte(Byte, L) when is_integer(Byte) -> {bin_element, L, {integer, L, Byte}, default, default}; abstract_byte(Bits, L) -> |