@@ -19,12 +19,12 @@ def initialize(header_dir)
19
19
20
20
# @return [Array<RubyHeaderParser::FunctionDefinition>]
21
21
def extract_function_definitions
22
- __extract_function_definitions ( c_kinds : "p" , is_parse_multiline_definition : true )
22
+ __extract_function_definitions ( c_kinds : "p" , kind : "p" , is_parse_multiline_definition : true )
23
23
end
24
24
25
25
# @return [Array<RubyHeaderParser::FunctionDefinition>]
26
26
def extract_static_inline_function_definitions
27
- __extract_function_definitions ( c_kinds : "+p-d" , is_parse_multiline_definition : false )
27
+ __extract_function_definitions ( c_kinds : "+p-d" , kind : "f" , is_parse_multiline_definition : false )
28
28
end
29
29
30
30
# @return [Array<RubyHeaderParser::StructDefinition>]
@@ -66,9 +66,10 @@ def extract_type_definitions
66
66
private
67
67
68
68
# @param c_kinds [String]
69
+ # @param kind [String]
69
70
# @param is_parse_multiline_definition [Boolean]
70
71
# @return [Array<RubyHeaderParser::FunctionDefinition>]
71
- def __extract_function_definitions ( c_kinds :, is_parse_multiline_definition :)
72
+ def __extract_function_definitions ( c_kinds :, kind : , is_parse_multiline_definition :)
72
73
stdout = execute_ctags ( "--c-kinds=#{ c_kinds } --fields=+nS --extras=+q" )
73
74
74
75
stdout . each_line . with_object ( [ ] ) do |line , definitions |
@@ -78,6 +79,8 @@ def __extract_function_definitions(c_kinds:, is_parse_multiline_definition:)
78
79
79
80
next unless data . should_generate_function? ( function_name )
80
81
82
+ next unless parts [ 3 ] == kind
83
+
81
84
line_num = Util . find_field ( parts , "line" ) . to_i
82
85
definition =
83
86
parse_function_definition ( filepath : parts [ 1 ] , pattern : parts [ 2 ] , line_num :, is_parse_multiline_definition :)
0 commit comments