class SyntaxTree::YARV::PutSpecialObject


~~~
alias foo bar
~~~ruby
### Usage
object, or the constant base special object.
These are either the VM core special object, the class base special
`putspecialobject` pushes one of three special objects onto the stack.
### Summary

def ==(other)

def ==(other)
  other.is_a?(PutSpecialObject) && other.object == object
end

def call(vm)

def call(vm)
  case object
  when OBJECT_VMCORE
    vm.push(vm.frozen_core)
  when OBJECT_CBASE
    value = vm.frame._self
    value = value.singleton_class unless value.is_a?(Class)
    vm.push(value)
  when OBJECT_CONST_BASE
    vm.push(vm.const_base)
  end
end

def deconstruct_keys(_keys)

def deconstruct_keys(_keys)
  { object: object }
end

def disasm(fmt)

def disasm(fmt)
  fmt.instruction("putspecialobject", [fmt.object(object)])
end

def initialize(object)

def initialize(object)
  @object = object
end

def length

def length
  2
end

def pushes

def pushes
  1
end

def to_a(_iseq)

def to_a(_iseq)
  [:putspecialobject, object]
end