Skip to content

Commit ca4b73e

Browse files
committed
nits: Extract to analyze_argument_type
1 parent c600680 commit ca4b73e

File tree

1 file changed

+20
-7
lines changed
  • _tools/ruby_h_to_go/lib/ruby_header_parser

1 file changed

+20
-7
lines changed

_tools/ruby_h_to_go/lib/ruby_header_parser/parser.rb

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,25 @@ def generate_argument_definition(function_name:, arg:, arg_pos:)
272272
parts.delete_at(pointer_index)
273273
end
274274

275+
type, pointer, length = analyze_argument_type(function_name:, arg_pos:, parts:)
276+
277+
ArgumentDefinition.new(
278+
name: parts[-1],
279+
type:,
280+
pointer:,
281+
length:,
282+
)
283+
end
284+
285+
# @param function_name [String]
286+
# @param arg_pos [Integer]
287+
# @param parts [Array<String>]
288+
#
289+
# @return [Array<String, Symbol, Integer>]
290+
# - type [String]
291+
# - pointer [Symbol]
292+
# - length [Integer]
293+
def analyze_argument_type(function_name:, arg_pos:, parts:)
275294
pointer = nil
276295
length = 0
277296

@@ -287,7 +306,6 @@ def generate_argument_definition(function_name:, arg:, arg_pos:)
287306
end
288307

289308
original_type = Util.sanitize_type(parts[0...-1].join(" "))
290-
name = parts[-1]
291309

292310
if original_type.match?(/\*+$/)
293311
type = original_type.gsub(/\*+$/, "").strip
@@ -305,12 +323,7 @@ def generate_argument_definition(function_name:, arg:, arg_pos:)
305323
length = ::Regexp.last_match(1).length
306324
end
307325

308-
ArgumentDefinition.new(
309-
type:,
310-
name:,
311-
pointer:,
312-
length:,
313-
)
326+
[type, pointer, length]
314327
end
315328
end
316329
end

0 commit comments

Comments
 (0)