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