diff options
author | Stavros Aronis <[email protected]> | 2013-01-22 17:57:54 +0100 |
---|---|---|
committer | Stavros Aronis <[email protected]> | 2013-01-23 14:19:47 +0100 |
commit | b9ff88aa620d3e70e2cf6854fce90adf40f67240 (patch) | |
tree | f4e4616f9fe831c47b4c9d8d36c25aa929387420 /lib/hipe | |
parent | 9b01d9553434256b93b4899caf042d857f6ef068 (diff) | |
download | otp-b9ff88aa620d3e70e2cf6854fce90adf40f67240.tar.gz otp-b9ff88aa620d3e70e2cf6854fce90adf40f67240.tar.bz2 otp-b9ff88aa620d3e70e2cf6854fce90adf40f67240.zip |
Properly support functions with arbitrary arity in type specs.
Dialyzer now understands the "fun(...)" syntax in type specs.
Diffstat (limited to 'lib/hipe')
-rw-r--r-- | lib/hipe/cerl/erl_types.erl | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/hipe/cerl/erl_types.erl b/lib/hipe/cerl/erl_types.erl index f5be8fb08f..7631f5289e 100644 --- a/lib/hipe/cerl/erl_types.erl +++ b/lib/hipe/cerl/erl_types.erl @@ -3566,7 +3566,7 @@ t_from_form({type, _L, function, []}, _TypeNames, _InOpaque, _RecDict, t_from_form({type, _L, 'fun', []}, _TypeNames, _InOpaque, _RecDict, _VarDict) -> {t_fun(), []}; -t_from_form({type, _L, 'fun', [{type, _, any, []}, Range]}, TypeNames, +t_from_form({type, _L, 'fun', [{type, _, any}, Range]}, TypeNames, InOpaque, RecDict, VarDict) -> {T, R} = t_from_form(Range, TypeNames, InOpaque, RecDict, VarDict), {t_fun(T), R}; @@ -3909,7 +3909,7 @@ t_form_to_string({type, _L, binary, [Base, Unit]} = Type) -> _ -> io_lib:format("Badly formed bitstr type ~w", [Type]) end; t_form_to_string({type, _L, 'fun', []}) -> "fun()"; -t_form_to_string({type, _L, 'fun', [{type, _, any, []}, Range]}) -> +t_form_to_string({type, _L, 'fun', [{type, _, any}, Range]}) -> "fun(...) -> " ++ t_form_to_string(Range); t_form_to_string({type, _L, 'fun', [{type, _, product, Domain}, Range]}) -> "fun((" ++ string:join(t_form_to_string_list(Domain), ",") ++ ") -> " |