diff options
author | Hans Bolinder <[email protected]> | 2016-04-28 16:16:52 +0200 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2016-04-28 16:16:52 +0200 |
commit | b6975497fc5d8e4b50c6a3237a2b24be0e2585c1 (patch) | |
tree | 131ab66fe3dfb4023078ecbb14bf367a20eac70f /lib/compiler | |
parent | ac2f1c71d5b5169d49a5cd5fd73d28a702a58024 (diff) | |
parent | 457baf8eb9c5d6d5b1b46504e98a39e566aa4f58 (diff) | |
download | otp-b6975497fc5d8e4b50c6a3237a2b24be0e2585c1.tar.gz otp-b6975497fc5d8e4b50c6a3237a2b24be0e2585c1.tar.bz2 otp-b6975497fc5d8e4b50c6a3237a2b24be0e2585c1.zip |
Merge branch 'margnus1/dialyzer-maps/PR-1014'
* margnus1/dialyzer-maps/PR-1014: (24 commits)
doc: Correct shorthand typo
stdlib: Correct association types
stdlib: Add shadow comments for BIFs in maps
erts: Add exact association types to the abstract format doc
stdlib: Add pretty-printing of exact map types
stdlib: Correct a type in module epp
erl_types: Don't consider opaque keys singleton
erl_types: Fix t_subtract/2 correctness bug
erl_types: Fix crash merging maps with opaque keys
dialyzer_typesig: Fix bad external type
dialyzer: Fix another pattern literal bug
Bump Dialyzer version
dialyzer: Improve map pattern typesetting
dialyzer_contracts: Consider #{} a violation
dialyzer_typesig: Fix simplification bug
dialyzer_dataflow: Fix try in guards
dialyzer: Unfold cerl patterns containing maps
dialyzer_dataflow: Add map support
dialyzer_typesig: Add map support
Enhance map specs in erts, stdlib, runtime_tools
...
Diffstat (limited to 'lib/compiler')
-rw-r--r-- | lib/compiler/src/cerl.erl | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/compiler/src/cerl.erl b/lib/compiler/src/cerl.erl index 37ec4e97c9..6dc162db40 100644 --- a/lib/compiler/src/cerl.erl +++ b/lib/compiler/src/cerl.erl @@ -135,7 +135,7 @@ ann_c_map_pattern/2, map_pair_op/1,map_pair_key/1,map_pair_val/1, update_c_map_pair/4, - c_map_pair/2, + c_map_pair/2, c_map_pair_exact/2, ann_c_map_pair/4 ]). @@ -1694,6 +1694,11 @@ map_pair_op(#c_map_pair{op=Op}) -> Op. c_map_pair(Key,Val) -> #c_map_pair{op=#c_literal{val=assoc},key=Key,val=Val}. +-spec c_map_pair_exact(cerl(), cerl()) -> c_map_pair(). + +c_map_pair_exact(Key,Val) -> + #c_map_pair{op=#c_literal{val=exact},key=Key,val=Val}. + -spec ann_c_map_pair([term()], cerl(), cerl(), cerl()) -> c_map_pair(). |