lib/rbs/definition.rb in rbs-0.11.0 vs lib/rbs/definition.rb in rbs-0.12.0
- old
+ new
@@ -45,13 +45,13 @@
def update(type: self.type, member: self.member, defined_in: self.defined_in, implemented_in: self.implemented_in)
TypeDef.new(type: type, member: member, defined_in: defined_in, implemented_in: implemented_in)
end
def overload?
- case member
+ case mem = member
when AST::Members::MethodDefinition
- member.overload?
+ mem.overload?
else
false
end
end
end
@@ -67,23 +67,29 @@
@accessibility = accessibility
@extra_annotations = annotations
end
def defined_in
- @defined_in ||= defs.last.defined_in
+ @defined_in ||= begin
+ last_def = defs.last or raise
+ last_def.defined_in
+ end
end
def implemented_in
- @implemented_in ||= defs.last.implemented_in
+ @implemented_in ||= begin
+ last_def = defs.last or raise
+ last_def.implemented_in
+ end
end
def method_types
@method_types ||= defs.map(&:type)
end
def comments
- @comments ||= defs.map(&:comment).compact
+ @comments ||= _ = defs.map(&:comment).compact
end
def annotations
@annotations ||= @extra_annotations + defs.flat_map(&:annotations)
end
@@ -124,12 +130,12 @@
)
end
end
module Ancestor
- Instance = Struct.new(:name, :args, keyword_init: true)
- Singleton = Struct.new(:name, keyword_init: true)
+ Instance = _ = Struct.new(:name, :args, keyword_init: true)
+ Singleton = _ = Struct.new(:name, keyword_init: true)
end
class InstanceAncestors
attr_reader :type_name
attr_reader :params
@@ -217,11 +223,14 @@
def module?
entry.is_a?(Environment::ModuleEntry)
end
def interface?
- entry.is_a?(Environment::SingleEntry) && entry.decl.is_a?(AST::Declarations::Interface)
+ case en = entry
+ when Environment::SingleEntry
+ en.decl.is_a?(AST::Declarations::Interface)
+ end
end
def class_type?
self_type.is_a?(Types::ClassSingleton)
end
@@ -237,20 +246,20 @@
def type_params
type_params_decl.each.map(&:name)
end
def type_params_decl
- case entry
+ case en = entry
when Environment::ClassEntry, Environment::ModuleEntry
- entry.type_params
+ en.type_params
when Environment::SingleEntry
- entry.decl.type_params
+ en.decl.type_params
end
end
def sub(s)
- definition = self.class.new(type_name: type_name, self_type: self_type.sub(s), ancestors: ancestors, entry: entry)
+ definition = self.class.new(type_name: type_name, self_type: _ = self_type.sub(s), ancestors: ancestors, entry: entry)
definition.methods.merge!(methods.transform_values {|method| method.sub(s) })
definition.instance_variables.merge!(instance_variables.transform_values {|v| v.sub(s) })
definition.class_variables.merge!(class_variables.transform_values {|v| v.sub(s) })
@@ -266,10 +275,10 @@
definition
end
def each_type(&block)
- if block_given?
+ if block
methods.each_value do |method|
if method.defined_in == type_name
method.method_types.each do |method_type|
method_type.each_type(&block)
end