class RBS::Types::Variable - rbs: Ruby Standard Library Documentation

# class RBS::Types::Variable

### Attributes

location[R]
name[R]

### Public Class Methods

build(v) click to toggle source

    # File rbs-3.8.0/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.8.0/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.8.0/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.8.0/lib/rbs/types.rb, line 142
    def ==(other)
      other.is_a?(Variable) && other.name == name
    end

Also aliased as: eql?
eql?(other)
Alias for: ==
free_variables(set = Set.new) click to toggle source

    # File rbs-3.8.0/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.8.0/lib/rbs/types.rb, line 191
    def has_classish_type?
      false
    end

has_self_type?() click to toggle source

    # File rbs-3.8.0/lib/rbs/types.rb, line 187
    def has_self_type?
      false
    end

hash() click to toggle source

    # File rbs-3.8.0/lib/rbs/types.rb, line 148
    def hash
      self.class.hash ^ name.hash
    end

sub(s) click to toggle source

    # File rbs-3.8.0/lib/rbs/types.rb, line 162
    def sub(s)
      s.apply(self)
    end

to_json(state = _ = nil) click to toggle source

    # File rbs-3.8.0/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.8.0/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.8.0/lib/rbs/types.rb, line 195
    def with_nonreturn_void?
      false
    end