Skip to content

Commit 2e87d5d

Browse files
committed
Refactor
1 parent 9f44025 commit 2e87d5d

File tree

1 file changed

+17
-20
lines changed

1 file changed

+17
-20
lines changed

_tools/ruby_h_to_go/lib/ruby_h_to_go/generator_helper.rb

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -111,43 +111,40 @@ def cast_to_cgo_type(typename)
111111
# @param pointer_length [Integer]
112112
# @return [String]
113113
def ruby_pointer_c_type_to_go_type(typename, pos:, pointer:, pointer_length:)
114+
go_type_name =
115+
if typename == "int" && %i[return typeref].include?(pos)
116+
"Int"
117+
else
118+
ruby_c_type_to_go_type(typename, pos:, pointer: nil)
119+
end
120+
114121
case pointer
115122
when :sref
116123
return "*unsafe.Pointer" if typename == "void" && pointer_length == 2
117124

118-
go_type_name = ruby_c_type_to_go_type(typename, pos:, pointer: nil)
119125
return "#{"*" * pointer_length}#{go_type_name}"
126+
120127
when :str_array
121128
return "[]string"
122-
end
123129

124-
case typename
125-
when "char", "const char"
126-
if pointer == :ref
130+
when :array
131+
return "[]#{go_type_name}"
132+
133+
when :ref_array
134+
return "[]*#{go_type_name}"
135+
136+
when :ref
137+
if typename == "char"
127138
case pos
128139
when :arg, :typeref
129140
return "string"
130141
else
131142
return "char2String"
132143
end
133144
end
134-
when "void"
135-
return "unsafe.Pointer"
136145
end
137146

138-
go_type_name =
139-
if typename == "int" && %i[return typeref].include?(pos)
140-
"Int"
141-
else
142-
ruby_c_type_to_go_type(typename, pos:, pointer: nil)
143-
end
144-
145-
case pointer
146-
when :array
147-
return "[]#{go_type_name}"
148-
when :ref_array
149-
return "[]*#{go_type_name}"
150-
end
147+
return "unsafe.Pointer" if typename == "void"
151148

152149
"*#{go_type_name}"
153150
end

0 commit comments

Comments
 (0)