summaryrefslogtreecommitdiff
path: root/lib/erl_docgen
diff options
context:
space:
mode:
Diffstat (limited to 'lib/erl_docgen')
-rwxr-xr-xlib/erl_docgen/priv/bin/validate_links.escript21
1 files changed, 13 insertions, 8 deletions
diff --git a/lib/erl_docgen/priv/bin/validate_links.escript b/lib/erl_docgen/priv/bin/validate_links.escript
index a11350ad2f..db368bea73 100755
--- a/lib/erl_docgen/priv/bin/validate_links.escript
+++ b/lib/erl_docgen/priv/bin/validate_links.escript
@@ -231,14 +231,19 @@ validate_link(Filename, "seemfa", Line, Link, CachedFiles) ->
try list_to_integer(Arity) of
_ ->
MF = App ++ ":" ++ Mod ++ "#" ++ Func,
- Funcs = maps:get(funcs,maps:get({App,Mod},CachedFiles)),
- case lists:member({Func,Arity},Funcs) of
- true ->
- validate_type(Line, "seemfa",
- read_link(Line, ParsedLink, CachedFiles));
- false ->
- fail(Line, "Could not find documentation for ~s when "
- "resolving link",[MF ++ "/" ++ Arity])
+ case maps:find({App,Mod},CachedFiles) of
+ error ->
+ fail(Line, "Could not find ~ts in ~ts", [Mod, App]);
+ {ok, ModInfo} ->
+ Funcs = maps:get(funcs,ModInfo),
+ case lists:member({Func,Arity},Funcs) of
+ true ->
+ validate_type(Line, "seemfa",
+ read_link(Line, ParsedLink, CachedFiles));
+ false ->
+ fail(Line, "Could not find documentation for ~s when "
+ "resolving link",[MF ++ "/" ++ Arity])
+ end
end
catch _:_ ->
fail(Line, "Invalid arity for seemfa. "