@Override public final void dataWrapStruct(Object object) { objectAccessor.set(this, object); }
@Override public void dataWrapStruct(Object object) { objectAccessor.set(this, object); }
public void deserializeVariables(RubyBasicObject object, ObjectInputStream ois) throws IOException, ClassNotFoundException { int varCount = ois.readInt(); for (int i = 0; i < varCount; i++) { String name = ois.readUTF(); Object value = ois.readObject(); getVariableAccessorForWrite(name).set(object, value); } }
public void deserializeVariables(RubyBasicObject object, ObjectInputStream ois) throws IOException, ClassNotFoundException { int varCount = ois.readInt(); for (int i = 0; i < varCount; i++) { String name = ois.readUTF(); Object value = ois.readObject(); getVariableAccessorForWrite(name).set(object, value); } }
public boolean add(IRubyObject obj) { obj.getMetaClass().getObjectGroupAccessorForWrite().set(obj, this); objects.set(nextIndex, obj); ++nextIndex; return true; }
public Object clearVariable(RubyBasicObject object, String name) { synchronized(object) { Object value = getVariableAccessorForRead(name).get(object); getVariableAccessorForWrite(name).set(object, null); return value; } }
public boolean add(IRubyObject obj) { obj.getMetaClass().getObjectGroupAccessorForWrite().set(obj, this); objects.set(nextIndex, obj); ++nextIndex; return true; }
@Override public IRubyObject assign(Ruby runtime, ThreadContext context, IRubyObject self, IRubyObject value, Block block, boolean checkArity) { RubyClass cls = self.getMetaClass().getRealClass(); verifyAccessor(cls).set(self, value); return runtime.getNil(); }
@Override public IRubyObject assign(Ruby runtime, ThreadContext context, IRubyObject self, IRubyObject value, Block block, boolean checkArity) { RubyClass cls = self.getMetaClass().getRealClass(); verifyAccessor(cls).set(self, value); return runtime.getNil(); }
public final IRubyObject setVariable(int index, String name, IRubyObject object, IRubyObject value) { VariableAccessor variableAccessor = variableWriters[index]; RubyClass cls = object.getMetaClass().getRealClass(); if (variableAccessor.getClassId() != cls.hashCode()) { variableWriters[index] = variableAccessor = cls.getVariableAccessorForWrite(name); } variableAccessor.set(object, value); return value; }
public final IRubyObject setVariable(IRubyObject object, IRubyObject value) { VariableAccessor variableAccessor = accessor; RubyClass cls = object.getMetaClass().getRealClass(); if (variableAccessor.getClassId() != cls.hashCode()) { accessor = variableAccessor = cls.getVariableAccessorForWrite(name); } variableAccessor.set(object, value); return value; }
@Override public IRubyObject interpret(Ruby runtime, ThreadContext context, IRubyObject self, Block aBlock) { RubyClass cls = self.getMetaClass().getRealClass(); IRubyObject value = getValueNode().interpret(runtime, context, self, aBlock); verifyAccessor(cls).set(self, value); return value; }
public void ivarSetFail(IRubyObject self, IRubyObject value) { VariableAccessor variableAccessor = accessor; RubyClass cls = self.getMetaClass().getRealClass(); if (variableAccessor.getClassId() != cls.hashCode()) { accessor = variableAccessor = cls.getVariableAccessorForWrite(name); } variableAccessor.set(self, value); }
@Override public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) { IRubyObject object = (IRubyObject) getTarget().retrieve(context, self, currScope, currDynScope, temp); VariableAccessor a = getAccessor(object); Object value = getValue().retrieve(context, self, currScope, currDynScope, temp); a.set(object, value); return null; }
public final IRubyObject setVariable(int index, String name, IRubyObject object, IRubyObject value) { VariableAccessor variableAccessor = variableWriters[index]; RubyClass cls = object.getMetaClass().getRealClass(); if (variableAccessor.getClassId() != cls.hashCode()) { variableWriters[index] = variableAccessor = cls.getVariableAccessorForWrite(name); } variableAccessor.set(object, value); return value; }
public void ivarSetFail(IRubyObject self, IRubyObject value) { VariableAccessor variableAccessor = accessor; RubyClass cls = self.getMetaClass().getRealClass(); if (variableAccessor.getClassId() != cls.hashCode()) { accessor = variableAccessor = cls.getVariableAccessorForWrite(name); } variableAccessor.set(self, value); }
public final IRubyObject setVariable(int index, String name, IRubyObject object, IRubyObject value) { VariableAccessor variableAccessor = variableWriters[index]; RubyClass cls = object.getMetaClass().getRealClass(); if (variableAccessor.getClassId() != cls.hashCode()) { variableWriters[index] = variableAccessor = cls.getVariableAccessorForWrite(name); } variableAccessor.set(object, value); return value; }
private synchronized Pointer getCallbackPointer(IRubyObject callable, CachingCallSite callSite) { NativeCallbackPointer cbptr = (NativeCallbackPointer) closures.get(callable); if (cbptr != null) { return cbptr; } closures.put(callable, cbptr = newCallback(callable, callSite)); if (callable.getMetaClass().getFFIHandleAccessorForRead().get(callable) == null) { callable.getMetaClass().getFFIHandleAccessorForWrite().set(callable, cbptr); } return cbptr; }
private synchronized Pointer getCallbackPointer(IRubyObject callable, CachingCallSite callSite) { NativeCallbackPointer cbptr = (NativeCallbackPointer) closures.get(callable); if (cbptr != null) { return cbptr; } closures.put(callable, cbptr = newCallback(callable, callSite)); if (callable.getMetaClass().getFFIHandleAccessorForRead().get(callable) == null) { callable.getMetaClass().getFFIHandleAccessorForWrite().set(callable, cbptr); } return cbptr; }
@Override public Object interpret(ThreadContext context, DynamicScope currDynScope, IRubyObject self, Object[] temp, Block block) { IRubyObject object = (IRubyObject) getTarget().retrieve(context, self, currDynScope, temp); // FIXME: Why getRealClass? Document RubyClass clazz = object.getMetaClass().getRealClass(); // FIXME: Should add this as a field for instruction clazz.getVariableAccessorForWrite(getRef()).set(object, getValue().retrieve(context, self, currDynScope, temp)); return null; }