@@ -3,6 +3,7 @@ defmodule ExDoc.Language.Erlang do
33
44 @ behaviour ExDoc.Language
55
6+ alias ExDoc.Language.Elixir , as: ExDocElixir
67 alias ExDoc . { Autolink , Refs }
78
89 @ impl true
@@ -114,7 +115,7 @@ defmodule ExDoc.Language.Erlang do
114115 end
115116 end ,
116117 extra_annotations: [ ] ,
117- line: nil ,
118+ line: ExDocElixir . find_function_line ( module_data , { name , arity } ) ,
118119 specs: specs
119120 }
120121 end
@@ -126,13 +127,14 @@ defmodule ExDoc.Language.Erlang do
126127 extra_annotations =
127128 if { name , arity } in module_data . private . optional_callbacks , do: [ "optional" ] , else: [ ]
128129
129- specs =
130+ { specs , anno } =
130131 case Map . fetch ( module_data . private . callbacks , { name , arity } ) do
131132 { :ok , specs } ->
132- [ { :attribute , 0 , :callback , { { name , arity } , specs } } ]
133+ { :type , anno , _ , _ } = hd ( specs )
134+ { [ { :attribute , anno , :callback , { { name , arity } , specs } } ] , anno }
133135
134136 :error ->
135- [ ]
137+ { [ ] , anno }
136138 end
137139
138140 % {
@@ -147,7 +149,7 @@ defmodule ExDoc.Language.Erlang do
147149 def type_data ( entry , module_data ) do
148150 { { kind , name , arity } , anno , signature , _doc , _metadata } = entry
149151
150- case ExDoc.Language.Elixir . type_from_module_data ( module_data , name , arity ) do
152+ case ExDocElixir . type_from_module_data ( module_data , name , arity ) do
151153 % { } = map ->
152154 % {
153155 type: map . type ,
0 commit comments