aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe/cerl
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2014-02-19 12:54:54 +0100
committerHans Bolinder <[email protected]>2014-02-22 14:22:58 +0100
commit8cc06c1c7862ff4342f9c9256f9cf4038cda4129 (patch)
tree92605ad47dfb5fd019f51f67a1b53b8b65209374 /lib/hipe/cerl
parentdb911c1f15372d2dadf06e8502506b0936a4fbb3 (diff)
downloadotp-8cc06c1c7862ff4342f9c9256f9cf4038cda4129.tar.gz
otp-8cc06c1c7862ff4342f9c9256f9cf4038cda4129.tar.bz2
otp-8cc06c1c7862ff4342f9c9256f9cf4038cda4129.zip
Solve remote types in parameters
Diffstat (limited to 'lib/hipe/cerl')
-rw-r--r--lib/hipe/cerl/erl_types.erl6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/hipe/cerl/erl_types.erl b/lib/hipe/cerl/erl_types.erl
index af34e355bb..97a135e3ce 100644
--- a/lib/hipe/cerl/erl_types.erl
+++ b/lib/hipe/cerl/erl_types.erl
@@ -833,8 +833,12 @@ t_solve_remote(?union(List), ET, R, C) ->
{t_sup(RL), RR};
t_solve_remote(T, _ET, _R, _C) -> {T, []}.
-t_solve_remote_type(#remote{mod = RemMod, name = Name, args = Args} = RemType,
+t_solve_remote_type(#remote{mod = RemMod, name = Name, args = Args0} = RemType,
ET, R, C) ->
+ Args = lists:map(fun(A) ->
+ {Arg, _} = t_solve_remote(A, ET, R, C),
+ Arg
+ end, Args0),
ArgsLen = length(Args),
case dict:find(RemMod, R) of
error ->