@Override public Object interpret(ThreadContext context, DynamicScope currDynScope, IRubyObject self, Object[] temp, Block block) { IRubyObject object = (IRubyObject) getSource().retrieve(context, self, currDynScope, temp); VariableAccessor a = getAccessor(object); IRubyObject value = a == null ? context.nil : (IRubyObject)a.get(object); return value == null ? context.nil : value; }
@Override public Object interpret(ThreadContext context, DynamicScope currDynScope, IRubyObject self, Object[] temp, Block block) { IRubyObject object = (IRubyObject) getSource().retrieve(context, self, currDynScope, temp); VariableAccessor a = getAccessor(object); IRubyObject value = a == null ? context.nil : (IRubyObject)a.get(object); return value == null ? context.nil : value; }
@Override public Instr clone(CloneInfo ii) { return new GetFieldInstr(ii.getRenamedVariable(getResult()), getSource().cloneForInlining(ii), getName()); }
@Override public Instr cloneForInlining(InlinerInfo ii) { return new GetFieldInstr(ii.getRenamedVariable(getResult()), getSource().cloneForInlining(ii), getRef()); }
@Override public Instr clone(CloneInfo ii) { return new GetFieldInstr(ii.getRenamedVariable(getResult()), getSource().cloneForInlining(ii), getName()); }
@Override public Instr cloneForInlining(InlinerInfo ii) { return new GetFieldInstr(ii.getRenamedVariable(getResult()), getSource().cloneForInlining(ii), getRef()); }
@Override public void GetFieldInstr(GetFieldInstr getfieldinstr) { visit(getfieldinstr.getSource()); jvmMethod().getField(getfieldinstr.getId()); jvmStoreLocal(getfieldinstr.getResult()); }
@Override public void GetFieldInstr(GetFieldInstr getfieldinstr) { visit(getfieldinstr.getSource()); jvm.method().getField(getfieldinstr.getRef()); jvmStoreLocal(getfieldinstr.getResult()); }
@Override public void GetFieldInstr(GetFieldInstr getfieldinstr) { visit(getfieldinstr.getSource()); jvm.method().getField(getfieldinstr.getRef()); jvmStoreLocal(getfieldinstr.getResult()); }
@Override public void GetFieldInstr(GetFieldInstr getfieldinstr) { visit(getfieldinstr.getSource()); jvmMethod().getField(getfieldinstr.getId()); jvmStoreLocal(getfieldinstr.getResult()); }
@Override public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) { IRubyObject object = (IRubyObject) getSource().retrieve(context, self, currScope, currDynScope, temp); VariableAccessor a = getAccessor(object); Object result = a == null ? null : (IRubyObject)a.get(object); if (result == null) { Ruby runtime = context.runtime; if (runtime.isVerbose()) { runtime.getWarnings().warning(IVAR_NOT_INITIALIZED, str(runtime, "instance variable ", ids(runtime, getId()), " not initialized")); } result = context.nil; } return result; }
@Override public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) { IRubyObject object = (IRubyObject) getSource().retrieve(context, self, currScope, currDynScope, temp); VariableAccessor a = getAccessor(object); Object result = a == null ? null : (IRubyObject)a.get(object); if (result == null) { Ruby runtime = context.runtime; if (runtime.isVerbose()) { runtime.getWarnings().warning(IVAR_NOT_INITIALIZED, str(runtime, "instance variable ", ids(runtime, getId()), " not initialized")); } result = context.nil; } return result; }
IRubyObject object = (IRubyObject)gfi.getSource().retrieve(context, self, currScope, currDynScope, temp); VariableAccessor a = gfi.getAccessor(object); Object result = a == null ? null : (IRubyObject)a.get(object);
IRubyObject object = (IRubyObject)gfi.getSource().retrieve(context, self, currScope, currDynScope, temp); VariableAccessor a = gfi.getAccessor(object); Object result = a == null ? null : (IRubyObject)a.get(object);
IRubyObject object = (IRubyObject)gfi.getSource().retrieve(context, self, currDynScope, temp); VariableAccessor a = gfi.getAccessor(object); result = a == null ? null : (IRubyObject)a.get(object);
IRubyObject object = (IRubyObject)gfi.getSource().retrieve(context, self, currDynScope, temp); VariableAccessor a = gfi.getAccessor(object); result = a == null ? null : (IRubyObject)a.get(object);