lib/tapioca/dsl/compiler.rb in tapioca-0.10.3 vs lib/tapioca/dsl/compiler.rb in tapioca-0.10.4
- old
+ new
@@ -99,10 +99,13 @@
signature.kwarg_types.each { |_, kwarg_type| params << kwarg_type.to_s }
# rest parameter type
params << signature.rest_type.to_s if signature.has_rest
+ # keyrest parameter type
+ params << signature.keyrest_type.to_s if signature.has_keyrest
+
# special case `.void` in a proc
unless signature.block_name.nil?
params << signature.block_type.to_s.gsub("returns(<VOID>)", "void")
end
@@ -157,13 +160,10 @@
sig { params(method_def: T.any(Method, UnboundMethod)).returns(String) }
def compile_method_return_type_to_rbi(method_def)
signature = signature_of(method_def)
return_type = signature.nil? ? "T.untyped" : name_of_type(signature.return_type)
- return_type = "void" if return_type == "<VOID>"
- # Map <NOT-TYPED> to `T.untyped`
- return_type = "T.untyped" if return_type == "<NOT-TYPED>"
- return_type
+ sanitize_signature_types(return_type)
end
end
end
end