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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
module YARD::MRuby::Handlers
module C
module Source
class Base < YARD::Handlers::C::Base
DEFAULT_NAMESPACES = {
# 'mrb->top_self' => '',
'object_class' => 'Object',
'class_class' => 'Class',
'module_class' => 'Module',
'proc_class' => 'Proc',
'string_class' => 'String',
'array_class' => 'Array',
'hash_class' => 'Hash',
'float_class' => 'Float',
'fixnum_class' => 'Fixnum',
'true_class' => 'TrueClass',
'false_class' => 'FalseClass',
'nil_class' => 'NilClass',
'symbol_class' => 'Symbol',
'kernel_module' => 'Kernel',
'eException_class' => 'Exception',
'eStandardError_class' => 'StandardError'
}
def namespace_for_variable(var)
DEFAULT_NAMESPACES[ var[/^\w+->(\w+)$/, 1] ] || super
end
def handle_class(var_name, class_name, parent, stmt, in_module = nil)
object = super(var_name, class_name, parent, in_module)
if stmt.comments
register_docstring(object, stmt.comments.source, stmt)
end
object
end
def handle_module(var_name, module_name, stmt, in_module = nil)
object = super(var_name, module_name, in_module)
if stmt.comments
register_docstring(object, stmt.comments.source, stmt)
end
object
end
end
end
YARD::Handlers::Processor.register_handler_namespace :source, Source
end
end
|