blob: 52ce583fdab1baf3b320a0bf8c9ae2b80fa14cf2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
module YARD::MRuby::Handlers::C::Header
class FunctionHandler < Base
MATCH = /
MRB_(API|INLINE)\s+
((struct\s+)?\w+(\s*\*)?)\s*
((\w+\s+)+)?(\w+)\s*
\(([\w\s\*,\.]*)\)
/mx
handles MATCH
statement_class ToplevelStatement
process do
handle_function(statement)
end
def handle_function(statement)
header = self.header(statement.file)
statement.source.scan(MATCH) do |type, retype, _,_,_,_, name, parameters|
register FunctionObject.new(header, name) do |obj|
if statement.comments
register_docstring(obj, statement.comments.source, statement)
end
obj.return_type = retype
obj.parse_parameter_types(parameters)
end
end
end
end
end
|