aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <egil@erlang.org>2014-01-16 16:19:45 +0100
committerBjörn-Egil Dahlberg <egil@erlang.org>2014-01-29 11:08:48 +0100
commit23e728cd0f68de11feca27358bedb0a6b71e4715 (patch)
treefc9ff1529c5aab6c6c4e3aba487460384c36e375 /lib
parentf95c907a0fda5d185c895bfb43cd2a76e46b7e81 (diff)
downloadotp-23e728cd0f68de11feca27358bedb0a6b71e4715.tar.gz
otp-23e728cd0f68de11feca27358bedb0a6b71e4715.tar.bz2
otp-23e728cd0f68de11feca27358bedb0a6b71e4715.zip
dialyzer: Reflect map_pair core changes in dialyzer
Diffstat (limited to 'lib')
-rw-r--r--lib/dialyzer/src/dialyzer_dataflow.erl18
-rw-r--r--lib/dialyzer/src/dialyzer_dep.erl11
2 files changed, 10 insertions, 19 deletions
diff --git a/lib/dialyzer/src/dialyzer_dataflow.erl b/lib/dialyzer/src/dialyzer_dataflow.erl
index 4d614320c2..239df1b8bd 100644
--- a/lib/dialyzer/src/dialyzer_dataflow.erl
+++ b/lib/dialyzer/src/dialyzer_dataflow.erl
@@ -309,10 +309,8 @@ traverse(Tree, Map, State) ->
handle_tuple(Tree, Map, State);
map ->
handle_map(Tree, Map, State);
- map_pair_assoc ->
- handle_map_pair_assoc(Tree, Map, State);
- map_pair_exact ->
- handle_map_pair_exact(Tree, Map, State);
+ map_pair ->
+ handle_map_pair(Tree, Map, State);
values ->
Elements = cerl:values_es(Tree),
{State1, Map1, EsType} = traverse_list(Elements, Map, State),
@@ -1068,14 +1066,10 @@ handle_map(Tree,Map,State) ->
{State1, Map1, TypePairs} = traverse_list(Pairs,Map,State),
{State1, Map1, t_map(TypePairs)}.
-handle_map_pair_assoc(Tree,Map,State) ->
- Elements = cerl:map_pair_assoc_es(Tree),
- {State1, Map1, [K,V]} = traverse_list(Elements,Map,State),
- {State1, Map1, {K,V}}.
-
-handle_map_pair_exact(Tree,Map,State) ->
- Elements = cerl:map_pair_exact_es(Tree),
- {State1, Map1, [K,V]} = traverse_list(Elements,Map,State),
+handle_map_pair(Tree,Map,State) ->
+ Key = cerl:map_pair_key(Tree),
+ Val = cerl:map_pair_val(Tree),
+ {State1, Map1, [K,V]} = traverse_list([Key,Val],Map,State),
{State1, Map1, {K,V}}.
%%----------------------------------------
diff --git a/lib/dialyzer/src/dialyzer_dep.erl b/lib/dialyzer/src/dialyzer_dep.erl
index 12833b49c7..a81ea1a98b 100644
--- a/lib/dialyzer/src/dialyzer_dep.erl
+++ b/lib/dialyzer/src/dialyzer_dep.erl
@@ -186,13 +186,10 @@ traverse(Tree, Out, State, CurrentFun) ->
Args = cerl:map_es(Tree),
{List, State1} = traverse_list(Args, Out, State, CurrentFun),
{merge_outs(List), State1};
- map_pair_assoc ->
- Args = cerl:map_pair_assoc_es(Tree),
- {List, State1} = traverse_list(Args, Out, State, CurrentFun),
- {merge_outs(List), State1};
- map_pair_exact ->
- Args = cerl:map_pair_exact_es(Tree),
- {List, State1} = traverse_list(Args, Out, State, CurrentFun),
+ map_pair ->
+ Key = cerl:map_pair_key(Tree),
+ Val = cerl:map_pair_val(Tree),
+ {List, State1} = traverse_list([Key,Val], Out, State, CurrentFun),
{merge_outs(List), State1};
values ->
traverse_list(cerl:values_es(Tree), Out, State, CurrentFun);