Module: YTLJit::VM::YARVTranslatorCRubyObjectMixin
Instance Method Summary collapse
- #visit_getinstancevariable(code, ins, context) ⇒ Object
- #visit_setinstancevariable(code, ins, context) ⇒ Object
Methods included from Node
Instance Method Details
#visit_getinstancevariable(code, ins, context) ⇒ Object
134 135 136 137 138 139 140 141 |
# File 'lib/ytljit/vm_cruby_obj.rb', line 134 def visit_getinstancevariable(code, ins, context) context.macro_method = false curnode = context.current_node mnode = context.current_method_node node = CRubyInstanceVarRefNode.new(curnode, ins[1], mnode) node.debug_info = context.debug_info context.expstack.push node end |
#visit_setinstancevariable(code, ins, context) ⇒ Object
143 144 145 146 147 148 149 150 151 152 153 154 155 156 |
# File 'lib/ytljit/vm_cruby_obj.rb', line 143 def visit_setinstancevariable(code, ins, context) context.macro_method = false val = context.expstack.pop curnode = context.current_node mnode = context.current_method_node node = CRubyInstanceVarAssignNode.new(curnode, ins[1], mnode, val) node.debug_info = context.debug_info if context.expstack[-1] == val then ivr = CRubyInstanceVarRefNode.new(curnode, ins[1], mnode) context.expstack[-1] = ivr end curnode.body = node context.current_node = node end |