class RBS::Types::Variable
Attributes
location[R]
name[R]
Public Class Methods
build(v)
click to toggle source
# File rbs-3.6.1/lib/rbs/types.rb, line 166 def self.build(v) case v when Symbol new(name: v, location: nil) when Array v.map {|x| new(name: x, location: nil) } end end
fresh(v = :T)
click to toggle source
# File rbs-3.6.1/lib/rbs/types.rb, line 176 def self.fresh(v = :T) @@count = @@count + 1 new(name: :"#{v}@#{@@count}", location: nil) end
new(name:, location:)
click to toggle source
# File rbs-3.6.1/lib/rbs/types.rb, line 137 def initialize(name:, location:) @name = name @location = location end
Public Instance Methods
==(other)
click to toggle source
# File rbs-3.6.1/lib/rbs/types.rb, line 142 def ==(other) other.is_a?(Variable) && other.name == name end
Also aliased as: eql?
free_variables(set = Set.new)
click to toggle source
# File rbs-3.6.1/lib/rbs/types.rb, line 152 def free_variables(set = Set.new) set.tap do set << name end end
has_classish_type?()
click to toggle source
# File rbs-3.6.1/lib/rbs/types.rb, line 191 def has_classish_type? false end
has_self_type?()
click to toggle source
# File rbs-3.6.1/lib/rbs/types.rb, line 187 def has_self_type? false end
hash()
click to toggle source
# File rbs-3.6.1/lib/rbs/types.rb, line 148 def hash self.class.hash ^ name.hash end
sub(s)
click to toggle source
# File rbs-3.6.1/lib/rbs/types.rb, line 162 def sub(s) s.apply(self) end
to_json(state = _ = nil)
click to toggle source
# File rbs-3.6.1/lib/rbs/types.rb, line 158 def to_json(state = _ = nil) { class: :variable, name: name, location: location }.to_json(state) end
to_s(level = 0)
click to toggle source
# File rbs-3.6.1/lib/rbs/types.rb, line 181 def to_s(level = 0) name.to_s end
with_nonreturn_void?()
click to toggle source
# File rbs-3.6.1/lib/rbs/types.rb, line 195 def with_nonreturn_void? false end