@@ -3,6 +3,7 @@ defmodule ExDoc.Language.Erlang do
3
3
4
4
@ behaviour ExDoc.Language
5
5
6
+ alias ExDoc.Language.Elixir , as: ExDocElixir
6
7
alias ExDoc . { Autolink , Refs }
7
8
8
9
@ impl true
@@ -114,7 +115,7 @@ defmodule ExDoc.Language.Erlang do
114
115
end
115
116
end ,
116
117
extra_annotations: [ ] ,
117
- line: nil ,
118
+ line: ExDocElixir . find_function_line ( module_data , { name , arity } ) ,
118
119
specs: specs
119
120
}
120
121
end
@@ -126,13 +127,14 @@ defmodule ExDoc.Language.Erlang do
126
127
extra_annotations =
127
128
if { name , arity } in module_data . private . optional_callbacks , do: [ "optional" ] , else: [ ]
128
129
129
- specs =
130
+ { specs , anno } =
130
131
case Map . fetch ( module_data . private . callbacks , { name , arity } ) do
131
132
{ :ok , specs } ->
132
- [ { :attribute , 0 , :callback , { { name , arity } , specs } } ]
133
+ { :type , anno , _ , _ } = hd ( specs )
134
+ { [ { :attribute , anno , :callback , { { name , arity } , specs } } ] , anno }
133
135
134
136
:error ->
135
- [ ]
137
+ { [ ] , anno }
136
138
end
137
139
138
140
% {
@@ -147,7 +149,7 @@ defmodule ExDoc.Language.Erlang do
147
149
def type_data ( entry , module_data ) do
148
150
{ { kind , name , arity } , anno , signature , _doc , _metadata } = entry
149
151
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
151
153
% { } = map ->
152
154
% {
153
155
type: map . type ,
0 commit comments