lib/steep/services/signature_help_provider.rb in steep-1.7.0.dev.3 vs lib/steep/services/signature_help_provider.rb in steep-1.7.0
- old
+ new
@@ -5,18 +5,20 @@
Item = _ = Struct.new(:method_type, :comment, :active_parameter) do
# @implements Item
def parameters
- arguments = [] #: Array[String]
- arguments.push(*method_type.type.required_positionals.map(&:to_s))
- arguments.push(*method_type.type.optional_positionals.map {|p| "?#{p}"})
- arguments.push("*#{self.method_type.type.rest_positionals}") if method_type.type.rest_positionals
- arguments.push(*method_type.type.trailing_positionals.map(&:to_s))
- arguments.push(*method_type.type.required_keywords.map {|name, param| "#{name}: #{param}" })
- arguments.push(*method_type.type.optional_keywords.map {|name, param| "?#{name}: #{param}" })
- arguments.push("**#{method_type.type.rest_keywords}") if method_type.type.rest_keywords
- arguments
+ if method_type.type.is_a?(RBS::Types::Function)
+ arguments = [] #: Array[String]
+ arguments.push(*method_type.type.required_positionals.map(&:to_s))
+ arguments.push(*method_type.type.optional_positionals.map {|p| "?#{p}"})
+ arguments.push("*#{self.method_type.type.rest_positionals}") if method_type.type.rest_positionals
+ arguments.push(*method_type.type.trailing_positionals.map(&:to_s))
+ arguments.push(*method_type.type.required_keywords.map {|name, param| "#{name}: #{param}" })
+ arguments.push(*method_type.type.optional_keywords.map {|name, param| "?#{name}: #{param}" })
+ arguments.push("**#{method_type.type.rest_keywords}") if method_type.type.rest_keywords
+ arguments
+ end
end
end
include NodeHelper