diff options
author | Hans Bolinder <[email protected]> | 2017-04-10 11:40:55 +0200 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2017-04-10 11:43:47 +0200 |
commit | cef44e1a526c0624086a6da2d233918a2bd7f6cf (patch) | |
tree | a55f47caeb64056594ce73e368fba42498ba6fe6 /lib/edoc/src | |
parent | 82b17d7334c2449b66feb9ec2195d7b211688557 (diff) | |
download | otp-cef44e1a526c0624086a6da2d233918a2bd7f6cf.tar.gz otp-cef44e1a526c0624086a6da2d233918a2bd7f6cf.tar.bz2 otp-cef44e1a526c0624086a6da2d233918a2bd7f6cf.zip |
edoc: Fix a Dialyzer warning
Commit 15a631c introduced a Dialyzer warning.
When the new string module is merged to master, this commit can be
reverted.
Diffstat (limited to 'lib/edoc/src')
-rw-r--r-- | lib/edoc/src/edoc_layout.erl | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/edoc/src/edoc_layout.erl b/lib/edoc/src/edoc_layout.erl index eafab0588e..71ba9a6676 100644 --- a/lib/edoc/src/edoc_layout.erl +++ b/lib/edoc/src/edoc_layout.erl @@ -544,7 +544,7 @@ t_clause(Name, Type, Opts) -> pp_clause(Pre, Type, Opts) -> Types = ot_utype([Type]), - Atom = lists:duplicate(string:length(Pre), $a), + Atom = lists:duplicate(string_length(Pre), $a), Attr = {attribute,0,spec,{{list_to_atom(Atom),0},[Types]}}, L1 = erl_pp:attribute(erl_parse:new_anno(Attr), [{encoding, Opts#opts.encoding}]), @@ -566,7 +566,7 @@ format_type(Prefix, _Name, Type, Last, Opts) -> [{tt, Prefix ++ [" = "] ++ t_utype(Type, Opts) ++ Last}]. pp_type(Prefix, Type, Opts) -> - Atom = list_to_atom(lists:duplicate(string:length(Prefix), $a)), + Atom = list_to_atom(lists:duplicate(string_length(Prefix), $a)), Attr = {attribute,0,type,{Atom,ot_utype(Type),[]}}, L1 = erl_pp:attribute(erl_parse:new_anno(Attr), [{encoding, Opts#opts.encoding}]), @@ -768,6 +768,18 @@ atom(String, #opts{encoding = latin1}) -> atom(String, #opts{encoding = utf8}) -> io_lib:write_atom(list_to_atom(String)). +-dialyzer({nowarn_function, string_length/1}). +string_length(Data) -> + try iolist_size(Data) + catch + _:_ -> + try string:length(Data) + catch + _:_ -> + 20 + end + end. + %% <!ATTLIST author %% name CDATA #REQUIRED %% email CDATA #IMPLIED |