yard-mruby 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +9 -9
- data/.rspec +2 -2
- data/.travis.yml +4 -4
- data/CODE_OF_CONDUCT.md +13 -13
- data/Gemfile +4 -4
- data/LICENSE.txt +21 -21
- data/README.md +31 -31
- data/Rakefile +6 -6
- data/bin/console +14 -14
- data/bin/setup +7 -7
- data/exe/mrbdoc +5 -5
- data/lib/yard-mruby.rb +1 -1
- data/lib/yard/mruby.rb +9 -9
- data/lib/yard/mruby/cli.rb +1 -1
- data/lib/yard/mruby/cli/yardoc.rb +14 -14
- data/lib/yard/mruby/code_objects.rb +6 -6
- data/lib/yard/mruby/code_objects/define_object.rb +8 -8
- data/lib/yard/mruby/code_objects/function_object.rb +72 -72
- data/lib/yard/mruby/code_objects/header_base_object.rb +15 -15
- data/lib/yard/mruby/code_objects/header_object.rb +30 -30
- data/lib/yard/mruby/code_objects/headers_root.rb +14 -14
- data/lib/yard/mruby/code_objects/typedef_object.rb +8 -8
- data/lib/yard/mruby/handlers.rb +1 -1
- data/lib/yard/mruby/handlers/c.rb +4 -4
- data/lib/yard/mruby/handlers/c/header.rb +5 -5
- data/lib/yard/mruby/handlers/c/header/base.rb +30 -30
- data/lib/yard/mruby/handlers/c/header/define_handler.rb +23 -23
- data/lib/yard/mruby/handlers/c/header/function_handler.rb +33 -33
- data/lib/yard/mruby/handlers/c/header/header_decl_handler.rb +20 -20
- data/lib/yard/mruby/handlers/c/header/typedef_handler.rb +31 -31
- data/lib/yard/mruby/handlers/c/source.rb +7 -7
- data/lib/yard/mruby/handlers/c/source/base.rb +56 -56
- data/lib/yard/mruby/handlers/c/source/class_handler.rb +35 -35
- data/lib/yard/mruby/handlers/c/source/init_handler.rb +16 -16
- data/lib/yard/mruby/handlers/c/source/method_handler.rb +25 -25
- data/lib/yard/mruby/handlers/c/source/module_handler.rb +34 -34
- data/lib/yard/mruby/handlers/c/source/symbol_handler.rb +16 -16
- data/lib/yard/mruby/parser.rb +1 -1
- data/lib/yard/mruby/parser/c.rb +4 -4
- data/lib/yard/mruby/parser/c/directive_statement.rb +6 -6
- data/lib/yard/mruby/parser/c/header_parser.rb +49 -49
- data/lib/yard/mruby/parser/c/parser.rb +10 -10
- data/lib/yard/mruby/parser/c/source_parser.rb +9 -9
- data/lib/yard/mruby/tags.rb +2 -2
- data/lib/yard/mruby/templates.rb +9 -9
- data/lib/yard/mruby/templates/helpers.rb +1 -1
- data/lib/yard/mruby/templates/helpers/html_helper.rb +32 -32
- data/lib/yard/mruby/version.rb +5 -5
- data/sample/.gitignore +5 -5
- data/sample/.inch.yml +3 -3
- data/sample/.travis.yml +2 -2
- data/sample/.yardopts +4 -4
- data/sample/CODE_OF_CONDUCT.md +13 -13
- data/sample/Gemfile +5 -5
- data/sample/LICENSE.txt +21 -21
- data/sample/README.md +12 -12
- data/sample/build_config.rb +9 -9
- data/sample/include/sample.h +37 -37
- data/sample/mrbgem.rake +15 -15
- data/sample/mrblib/sample.rb +14 -14
- data/sample/src/sample.c +34 -34
- data/sample/test/sample_spec.rb +11 -11
- data/templates/default/fulldoc/html/full_list_functions.erb +10 -10
- data/templates/default/fulldoc/html/full_list_headers.erb +10 -10
- data/templates/default/fulldoc/html/setup.rb +62 -62
- data/templates/default/function_details/html/function_signature.erb +10 -10
- data/templates/default/function_details/html/header.erb +3 -3
- data/templates/default/function_details/html/source.erb +10 -10
- data/templates/default/function_details/setup.rb +12 -12
- data/templates/default/header/html/define_summary.erb +11 -11
- data/templates/default/header/html/function_details_list.erb +7 -7
- data/templates/default/header/html/function_summary.erb +12 -12
- data/templates/default/header/html/functions.erb +1 -1
- data/templates/default/header/html/header.erb +1 -1
- data/templates/default/header/html/includes.erb +1 -1
- data/templates/default/header/html/item_summary.erb +19 -19
- data/templates/default/header/html/pre_docstring.erb +1 -1
- data/templates/default/header/html/setup.rb +32 -32
- data/templates/default/header/html/typedef_summary.erb +11 -11
- data/templates/default/headersroot/html/headers_list.erb +6 -6
- data/templates/default/headersroot/html/setup.rb +10 -10
- data/templates/default/layout/html/footer.erb +5 -5
- data/templates/default/layout/html/setup.rb +52 -52
- data/templates/default/tags/html/iso.erb +3 -3
- data/templates/default/tags/html/mrbgem.erb +3 -3
- data/templates/default/tags/setup.rb +10 -10
- data/yard-mruby.gemspec +27 -27
- metadata +7 -7
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
module YARD::MRuby::Handlers
|
|
2
|
-
module C
|
|
3
|
-
module Source
|
|
4
|
-
class Base < YARD::Handlers::C::Base
|
|
5
|
-
|
|
6
|
-
DEFAULT_NAMESPACES = {
|
|
7
|
-
# 'mrb->top_self' => '',
|
|
8
|
-
'object_class' => 'Object',
|
|
9
|
-
'class_class' => 'Class',
|
|
10
|
-
'module_class' => 'Module',
|
|
11
|
-
'proc_class' => 'Proc',
|
|
12
|
-
'string_class' => 'String',
|
|
13
|
-
'array_class' => 'Array',
|
|
14
|
-
'hash_class' => 'Hash',
|
|
15
|
-
'float_class' => 'Float',
|
|
16
|
-
'fixnum_class' => 'Fixnum',
|
|
17
|
-
'true_class' => 'TrueClass',
|
|
18
|
-
'false_class' => 'FalseClass',
|
|
19
|
-
'nil_class' => 'NilClass',
|
|
20
|
-
'symbol_class' => 'Symbol',
|
|
21
|
-
'kernel_module' => 'Kernel',
|
|
22
|
-
'eException_class' => 'Exception',
|
|
23
|
-
'eStandardError_class' => 'StandardError'
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
def namespace_for_variable(var)
|
|
27
|
-
DEFAULT_NAMESPACES[ var[/^\w+->(\w+)$/, 1] ] || super
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def handle_class(var_name, class_name, parent, stmt, in_module = nil)
|
|
31
|
-
object = super(var_name, class_name, parent, in_module)
|
|
32
|
-
|
|
33
|
-
if stmt.comments
|
|
34
|
-
register_docstring(object, stmt.comments.source, stmt)
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
object
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def handle_module(var_name, module_name, stmt, in_module = nil)
|
|
41
|
-
object = super(var_name, module_name, in_module)
|
|
42
|
-
|
|
43
|
-
if stmt.comments
|
|
44
|
-
register_docstring(object, stmt.comments.source, stmt)
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
object
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
YARD::Handlers::Processor.register_handler_namespace :source, Source
|
|
55
|
-
end
|
|
56
|
-
end
|
|
1
|
+
module YARD::MRuby::Handlers
|
|
2
|
+
module C
|
|
3
|
+
module Source
|
|
4
|
+
class Base < YARD::Handlers::C::Base
|
|
5
|
+
|
|
6
|
+
DEFAULT_NAMESPACES = {
|
|
7
|
+
# 'mrb->top_self' => '',
|
|
8
|
+
'object_class' => 'Object',
|
|
9
|
+
'class_class' => 'Class',
|
|
10
|
+
'module_class' => 'Module',
|
|
11
|
+
'proc_class' => 'Proc',
|
|
12
|
+
'string_class' => 'String',
|
|
13
|
+
'array_class' => 'Array',
|
|
14
|
+
'hash_class' => 'Hash',
|
|
15
|
+
'float_class' => 'Float',
|
|
16
|
+
'fixnum_class' => 'Fixnum',
|
|
17
|
+
'true_class' => 'TrueClass',
|
|
18
|
+
'false_class' => 'FalseClass',
|
|
19
|
+
'nil_class' => 'NilClass',
|
|
20
|
+
'symbol_class' => 'Symbol',
|
|
21
|
+
'kernel_module' => 'Kernel',
|
|
22
|
+
'eException_class' => 'Exception',
|
|
23
|
+
'eStandardError_class' => 'StandardError'
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
def namespace_for_variable(var)
|
|
27
|
+
DEFAULT_NAMESPACES[ var[/^\w+->(\w+)$/, 1] ] || super
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def handle_class(var_name, class_name, parent, stmt, in_module = nil)
|
|
31
|
+
object = super(var_name, class_name, parent, in_module)
|
|
32
|
+
|
|
33
|
+
if stmt.comments
|
|
34
|
+
register_docstring(object, stmt.comments.source, stmt)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
object
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def handle_module(var_name, module_name, stmt, in_module = nil)
|
|
41
|
+
object = super(var_name, module_name, in_module)
|
|
42
|
+
|
|
43
|
+
if stmt.comments
|
|
44
|
+
register_docstring(object, stmt.comments.source, stmt)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
object
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
YARD::Handlers::Processor.register_handler_namespace :source, Source
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
module YARD::MRuby::Handlers::C::Source
|
|
2
|
-
class ClassHandler < Base
|
|
3
|
-
|
|
4
|
-
TOP_LEVEL_CLASS = /([\w]+)\s*=\s*mrb_define_class\s*
|
|
5
|
-
\(
|
|
6
|
-
\s*\w+\s*,
|
|
7
|
-
\s*"(\w+)"\s*,
|
|
8
|
-
\s*([\w\->]+)\s*
|
|
9
|
-
\)
|
|
10
|
-
/mx
|
|
11
|
-
|
|
12
|
-
NAMESPACED_CLASS = /([\w]+)\s*=\s*mrb_define_class_under\s*
|
|
13
|
-
\(
|
|
14
|
-
\s*\w+\s*,
|
|
15
|
-
\s*(\w+)\s*,
|
|
16
|
-
\s*"(\w+)"\s*,
|
|
17
|
-
\s*([\w\->]+)\s*
|
|
18
|
-
\)
|
|
19
|
-
/mx
|
|
20
|
-
|
|
21
|
-
handles TOP_LEVEL_CLASS
|
|
22
|
-
handles NAMESPACED_CLASS
|
|
23
|
-
|
|
24
|
-
statement_class BodyStatement
|
|
25
|
-
|
|
26
|
-
process do
|
|
27
|
-
statement.source.scan(TOP_LEVEL_CLASS) do |var_name, class_name, parent|
|
|
28
|
-
handle_class(var_name, class_name, parent, statement)
|
|
29
|
-
end
|
|
30
|
-
statement.source.scan(NAMESPACED_CLASS) do |var_name, in_module, class_name, parent|
|
|
31
|
-
handle_class(var_name, class_name, parent, statement, in_module)
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
1
|
+
module YARD::MRuby::Handlers::C::Source
|
|
2
|
+
class ClassHandler < Base
|
|
3
|
+
|
|
4
|
+
TOP_LEVEL_CLASS = /([\w]+)\s*=\s*mrb_define_class\s*
|
|
5
|
+
\(
|
|
6
|
+
\s*\w+\s*,
|
|
7
|
+
\s*"(\w+)"\s*,
|
|
8
|
+
\s*([\w\->]+)\s*
|
|
9
|
+
\)
|
|
10
|
+
/mx
|
|
11
|
+
|
|
12
|
+
NAMESPACED_CLASS = /([\w]+)\s*=\s*mrb_define_class_under\s*
|
|
13
|
+
\(
|
|
14
|
+
\s*\w+\s*,
|
|
15
|
+
\s*(\w+)\s*,
|
|
16
|
+
\s*"(\w+)"\s*,
|
|
17
|
+
\s*([\w\->]+)\s*
|
|
18
|
+
\)
|
|
19
|
+
/mx
|
|
20
|
+
|
|
21
|
+
handles TOP_LEVEL_CLASS
|
|
22
|
+
handles NAMESPACED_CLASS
|
|
23
|
+
|
|
24
|
+
statement_class BodyStatement
|
|
25
|
+
|
|
26
|
+
process do
|
|
27
|
+
statement.source.scan(TOP_LEVEL_CLASS) do |var_name, class_name, parent|
|
|
28
|
+
handle_class(var_name, class_name, parent, statement)
|
|
29
|
+
end
|
|
30
|
+
statement.source.scan(NAMESPACED_CLASS) do |var_name, in_module, class_name, parent|
|
|
31
|
+
handle_class(var_name, class_name, parent, statement, in_module)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
module YARD::MRuby::Handlers::C::Source
|
|
2
|
-
class InitHandler < Base
|
|
3
|
-
MATCH1 = /mrb_\w+_gem_init\s*\(/mx
|
|
4
|
-
MATCH2 = /mrb_init_/mx
|
|
5
|
-
|
|
6
|
-
handles MATCH1
|
|
7
|
-
handles MATCH2
|
|
8
|
-
statement_class ToplevelStatement
|
|
9
|
-
|
|
10
|
-
process do
|
|
11
|
-
parse_block
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
1
|
+
module YARD::MRuby::Handlers::C::Source
|
|
2
|
+
class InitHandler < Base
|
|
3
|
+
MATCH1 = /mrb_\w+_gem_init\s*\(/mx
|
|
4
|
+
MATCH2 = /mrb_init_/mx
|
|
5
|
+
|
|
6
|
+
handles MATCH1
|
|
7
|
+
handles MATCH2
|
|
8
|
+
statement_class ToplevelStatement
|
|
9
|
+
|
|
10
|
+
process do
|
|
11
|
+
parse_block
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
module YARD::MRuby::Handlers::C::Source
|
|
2
|
-
class MethodHandler < Base
|
|
3
|
-
MATCH1 = /mrb_define_(
|
|
4
|
-
method |
|
|
5
|
-
singleton_method |
|
|
6
|
-
module_function
|
|
7
|
-
)
|
|
8
|
-
\s*\(
|
|
9
|
-
\s*\w+\s*,
|
|
10
|
-
\s*(\w+)\s*,
|
|
11
|
-
\s*"([^"]+)"\s*,
|
|
12
|
-
\s*(\w+)\s*,
|
|
13
|
-
/mx
|
|
14
|
-
|
|
15
|
-
handles MATCH1
|
|
16
|
-
statement_class BodyStatement
|
|
17
|
-
|
|
18
|
-
process do
|
|
19
|
-
statement.source.scan(MATCH1) do |type,var_name, name, func_name|
|
|
20
|
-
handle_method(type, var_name, name, func_name)
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
end
|
|
25
|
-
end
|
|
1
|
+
module YARD::MRuby::Handlers::C::Source
|
|
2
|
+
class MethodHandler < Base
|
|
3
|
+
MATCH1 = /mrb_define_(
|
|
4
|
+
method |
|
|
5
|
+
singleton_method |
|
|
6
|
+
module_function
|
|
7
|
+
)
|
|
8
|
+
\s*\(
|
|
9
|
+
\s*\w+\s*,
|
|
10
|
+
\s*(\w+)\s*,
|
|
11
|
+
\s*"([^"]+)"\s*,
|
|
12
|
+
\s*(\w+)\s*,
|
|
13
|
+
/mx
|
|
14
|
+
|
|
15
|
+
handles MATCH1
|
|
16
|
+
statement_class BodyStatement
|
|
17
|
+
|
|
18
|
+
process do
|
|
19
|
+
statement.source.scan(MATCH1) do |type,var_name, name, func_name|
|
|
20
|
+
handle_method(type, var_name, name, func_name)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
module YARD::MRuby::Handlers::C::Source
|
|
2
|
-
class ModuleHandler < Base
|
|
3
|
-
|
|
4
|
-
TOP_LEVEL_MODULE = /([\w]+)\s*=\s*mrb_define_module\s*
|
|
5
|
-
\(
|
|
6
|
-
\s*\w+\s*,
|
|
7
|
-
\s*"(\w+)"\s*
|
|
8
|
-
\)
|
|
9
|
-
/mx
|
|
10
|
-
|
|
11
|
-
NAMESPACED_MODULE = /([\w]+)\s*=\s*mrb_define_module_under\s*
|
|
12
|
-
\(
|
|
13
|
-
\s*\w+\s*,
|
|
14
|
-
\s*(\w+)\s*,
|
|
15
|
-
\s*"(\w+)"\s*
|
|
16
|
-
\)
|
|
17
|
-
/mx
|
|
18
|
-
|
|
19
|
-
handles TOP_LEVEL_MODULE
|
|
20
|
-
handles NAMESPACED_MODULE
|
|
21
|
-
|
|
22
|
-
statement_class BodyStatement
|
|
23
|
-
|
|
24
|
-
process do
|
|
25
|
-
statement.source.scan(TOP_LEVEL_MODULE) do |var_name, module_name|
|
|
26
|
-
handle_module(var_name, module_name, statement)
|
|
27
|
-
end
|
|
28
|
-
statement.source.scan(NAMESPACED_MODULE) do |var_name, in_module, module_name|
|
|
29
|
-
handle_module(var_name, module_name, statement, in_module)
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
|
|
1
|
+
module YARD::MRuby::Handlers::C::Source
|
|
2
|
+
class ModuleHandler < Base
|
|
3
|
+
|
|
4
|
+
TOP_LEVEL_MODULE = /([\w]+)\s*=\s*mrb_define_module\s*
|
|
5
|
+
\(
|
|
6
|
+
\s*\w+\s*,
|
|
7
|
+
\s*"(\w+)"\s*
|
|
8
|
+
\)
|
|
9
|
+
/mx
|
|
10
|
+
|
|
11
|
+
NAMESPACED_MODULE = /([\w]+)\s*=\s*mrb_define_module_under\s*
|
|
12
|
+
\(
|
|
13
|
+
\s*\w+\s*,
|
|
14
|
+
\s*(\w+)\s*,
|
|
15
|
+
\s*"(\w+)"\s*
|
|
16
|
+
\)
|
|
17
|
+
/mx
|
|
18
|
+
|
|
19
|
+
handles TOP_LEVEL_MODULE
|
|
20
|
+
handles NAMESPACED_MODULE
|
|
21
|
+
|
|
22
|
+
statement_class BodyStatement
|
|
23
|
+
|
|
24
|
+
process do
|
|
25
|
+
statement.source.scan(TOP_LEVEL_MODULE) do |var_name, module_name|
|
|
26
|
+
handle_module(var_name, module_name, statement)
|
|
27
|
+
end
|
|
28
|
+
statement.source.scan(NAMESPACED_MODULE) do |var_name, in_module, module_name|
|
|
29
|
+
handle_module(var_name, module_name, statement, in_module)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
module YARD::MRuby::Handlers::C::Source
|
|
2
|
-
# Keeps track of function bodies for symbol lookup during MRuby method declarations
|
|
3
|
-
class SymbolHandler < Base
|
|
4
|
-
|
|
5
|
-
MATCH = /
|
|
6
|
-
mrb_value\s*(\w+)\s*\(\s*mrb_state\s*\*\s*\w+,\s*mrb_value\s*\w+\s*\)
|
|
7
|
-
/mx
|
|
8
|
-
|
|
9
|
-
handles MATCH
|
|
10
|
-
statement_class ToplevelStatement
|
|
11
|
-
|
|
12
|
-
process do
|
|
13
|
-
symbols[statement.source[MATCH, 1]] = statement
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
1
|
+
module YARD::MRuby::Handlers::C::Source
|
|
2
|
+
# Keeps track of function bodies for symbol lookup during MRuby method declarations
|
|
3
|
+
class SymbolHandler < Base
|
|
4
|
+
|
|
5
|
+
MATCH = /
|
|
6
|
+
mrb_value\s*(\w+)\s*\(\s*mrb_state\s*\*\s*\w+,\s*mrb_value\s*\w+\s*\)
|
|
7
|
+
/mx
|
|
8
|
+
|
|
9
|
+
handles MATCH
|
|
10
|
+
statement_class ToplevelStatement
|
|
11
|
+
|
|
12
|
+
process do
|
|
13
|
+
symbols[statement.source[MATCH, 1]] = statement
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
data/lib/yard/mruby/parser.rb
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require_relative 'parser/c'
|
|
1
|
+
require_relative 'parser/c'
|
data/lib/yard/mruby/parser/c.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require_relative 'c/parser'
|
|
2
|
-
require_relative 'c/source_parser'
|
|
3
|
-
require_relative 'c/header_parser'
|
|
4
|
-
require_relative 'c/directive_statement'
|
|
1
|
+
require_relative 'c/parser'
|
|
2
|
+
require_relative 'c/source_parser'
|
|
3
|
+
require_relative 'c/header_parser'
|
|
4
|
+
require_relative 'c/directive_statement'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
module YARD::MRuby::Parser::C
|
|
2
|
-
class DirectiveStatement < YARD::Parser::C::Statement
|
|
3
|
-
attr_accessor :declaration
|
|
4
|
-
attr_accessor :comments
|
|
5
|
-
end
|
|
6
|
-
end
|
|
1
|
+
module YARD::MRuby::Parser::C
|
|
2
|
+
class DirectiveStatement < YARD::Parser::C::Statement
|
|
3
|
+
attr_accessor :declaration
|
|
4
|
+
attr_accessor :comments
|
|
5
|
+
end
|
|
6
|
+
end
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
module YARD::MRuby::Parser::C
|
|
2
|
-
class HeaderParser < Parser
|
|
3
|
-
|
|
4
|
-
# Consumes a directive and generates a DirectiveStatement
|
|
5
|
-
def consume_directive
|
|
6
|
-
super if @in_body_statements
|
|
7
|
-
|
|
8
|
-
@newline = false
|
|
9
|
-
start = @index
|
|
10
|
-
line = @line
|
|
11
|
-
statement = DirectiveStatement.new(nil, @file, line)
|
|
12
|
-
@statements << statement
|
|
13
|
-
attach_comment(statement)
|
|
14
|
-
|
|
15
|
-
multiline = false
|
|
16
|
-
advance_loop do
|
|
17
|
-
chr = char
|
|
18
|
-
case chr
|
|
19
|
-
when '\\'; multiline=true; advance
|
|
20
|
-
when /\s/; consume_whitespace
|
|
21
|
-
else advance
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
if @newline
|
|
25
|
-
if multiline
|
|
26
|
-
multiline = false
|
|
27
|
-
else
|
|
28
|
-
break
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
decl = @content[start...@index]
|
|
34
|
-
|
|
35
|
-
statement.declaration = decl
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def consume_body_statements
|
|
39
|
-
@in_body_statements = true
|
|
40
|
-
result = super
|
|
41
|
-
@in_body_statements = false
|
|
42
|
-
result
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
#
|
|
47
|
-
# Register all header files (.h) to be processed with the above HeaderParser
|
|
48
|
-
YARD::Parser::SourceParser.register_parser_type :header, HeaderParser, 'h'
|
|
49
|
-
end
|
|
1
|
+
module YARD::MRuby::Parser::C
|
|
2
|
+
class HeaderParser < Parser
|
|
3
|
+
|
|
4
|
+
# Consumes a directive and generates a DirectiveStatement
|
|
5
|
+
def consume_directive
|
|
6
|
+
super if @in_body_statements
|
|
7
|
+
|
|
8
|
+
@newline = false
|
|
9
|
+
start = @index
|
|
10
|
+
line = @line
|
|
11
|
+
statement = DirectiveStatement.new(nil, @file, line)
|
|
12
|
+
@statements << statement
|
|
13
|
+
attach_comment(statement)
|
|
14
|
+
|
|
15
|
+
multiline = false
|
|
16
|
+
advance_loop do
|
|
17
|
+
chr = char
|
|
18
|
+
case chr
|
|
19
|
+
when '\\'; multiline=true; advance
|
|
20
|
+
when /\s/; consume_whitespace
|
|
21
|
+
else advance
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
if @newline
|
|
25
|
+
if multiline
|
|
26
|
+
multiline = false
|
|
27
|
+
else
|
|
28
|
+
break
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
decl = @content[start...@index]
|
|
34
|
+
|
|
35
|
+
statement.declaration = decl
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def consume_body_statements
|
|
39
|
+
@in_body_statements = true
|
|
40
|
+
result = super
|
|
41
|
+
@in_body_statements = false
|
|
42
|
+
result
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
#
|
|
47
|
+
# Register all header files (.h) to be processed with the above HeaderParser
|
|
48
|
+
YARD::Parser::SourceParser.register_parser_type :header, HeaderParser, 'h'
|
|
49
|
+
end
|