diff options
author | Maria Christakis <[email protected]> | 2010-03-22 14:43:43 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2010-06-03 14:34:27 +0200 |
commit | d775f62fd8f9f02679e0c5dd0ad3428dc22f7b93 (patch) | |
tree | 65a57a85132ffe0c544af3ada1bb206d3120cbe9 /lib/hipe/cerl | |
parent | cafe056f56fef376b1721861cc39e957cfae3cb6 (diff) | |
download | otp-d775f62fd8f9f02679e0c5dd0ad3428dc22f7b93.tar.gz otp-d775f62fd8f9f02679e0c5dd0ad3428dc22f7b93.tar.bz2 otp-d775f62fd8f9f02679e0c5dd0ad3428dc22f7b93.zip |
Add handling of unknown types
Diffstat (limited to 'lib/hipe/cerl')
-rw-r--r-- | lib/hipe/cerl/erl_types.erl | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/hipe/cerl/erl_types.erl b/lib/hipe/cerl/erl_types.erl index 8094cc505a..40697ea8ed 100644 --- a/lib/hipe/cerl/erl_types.erl +++ b/lib/hipe/cerl/erl_types.erl @@ -699,14 +699,12 @@ t_solve_remote(T, _ET, _R, _C) -> {T, []}. t_solve_remote_type(#remote{mod = RemMod, name = Name, args = Args} = RemType, ET, R, C) -> + ArgsLen = length(Args), case dict:find(RemMod, R) of error -> - Msg = io_lib:format("Cannot locate module ~w to " - "resolve the remote type: ~w:~w()~n", - [RemMod, RemMod, Name]), - throw({error, Msg}); + self() ! {self(), ext_types, {RemMod, Name, ArgsLen}}, + {t_any(), []}; {ok, RemDict} -> - ArgsLen = length(Args), MFA = {RemMod, Name, ArgsLen}, case sets:is_element(MFA, ET) of true -> |