aboutsummaryrefslogtreecommitdiffstats
path: root/lib/edoc/src
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2017-04-10 11:40:55 +0200
committerHans Bolinder <[email protected]>2017-04-10 11:43:47 +0200
commitcef44e1a526c0624086a6da2d233918a2bd7f6cf (patch)
treea55f47caeb64056594ce73e368fba42498ba6fe6 /lib/edoc/src
parent82b17d7334c2449b66feb9ec2195d7b211688557 (diff)
downloadotp-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.erl16
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