class SyntaxTree::YARV::DefinedIVar


~~~
defined?(@value)
~~~ruby
### Usage
is defined.
should be pushed onto the stack in the event that the instance variable
the name of the instance variable, an inline cache, and the string that
specialization of the ‘defined` instruction. It accepts three arguments:
`definedivar` checks if an instance variable is defined. It is a
### Summary

def ==(other)

def ==(other)
  other.is_a?(DefinedIVar) && other.name == name &&
    other.cache == cache && other.message == message
end

def call(vm)

def call(vm)
  result = (message if vm.frame._self.instance_variable_defined?(name))
  vm.push(result)
end

def deconstruct_keys(_keys)

def deconstruct_keys(_keys)
  { name: name, cache: cache, message: message }
end

def disasm(fmt)

def disasm(fmt)
  fmt.instruction(
    "definedivar",
    [fmt.object(name), fmt.inline_storage(cache), fmt.object(message)]
  )
end

def initialize(name, cache, message)

def initialize(name, cache, message)
  @name = name
  @cache = cache
  @message = message
end

def length

def length
  4
end

def pushes

def pushes
  1
end

def to_a(_iseq)

def to_a(_iseq)
  [:definedivar, name, cache, message]
end