Object
# File rbs-1.4.0/lib/rbs/types.rb, line 598
def ==(other)
other.is_a?(Intersection) && other.types == types
end
# File rbs-1.4.0/lib/rbs/types.rb, line 634
def each_type(&block)
if block
types.each(&block)
else
enum_for :each_type
end
end
# File rbs-1.4.0/lib/rbs/types.rb, line 608
def free_variables(set = Set.new)
set.tap do
types.each do |type|
type.free_variables set
end
end
end
# File rbs-1.4.0/lib/rbs/types.rb, line 604
def hash
self.class.hash ^ types.hash
end
# File rbs-1.4.0/lib/rbs/types.rb, line 642
def map_type(&block)
if block
Intersection.new(types: types.map(&block), location: location)
else
enum_for :map_type
end
end
# File rbs-1.4.0/lib/rbs/types.rb, line 650
def map_type_name(&block)
Intersection.new(
types: types.map {|type| type.map_type_name(&block) },
location: location
)
end
# File rbs-1.4.0/lib/rbs/types.rb, line 620
def sub(s)
self.class.new(types: types.map {|ty| ty.sub(s) },
location: location)
end