public VariableAccessorField getObjectIdAccessorField() { return variableTableManager.getObjectIdAccessorField(); }
public VariableAccessorField getObjectIdAccessorField() { return variableTableManager.getObjectIdAccessorField(); }
@Deprecated public VariableAccessorField getObjectIdAccessorField() { return variableTableManager.getObjectIdAccessorField(); }
@Deprecated public VariableAccessorField getObjectIdAccessorField() { return variableTableManager.getObjectIdAccessorField(); }
/** * Get the object_id from a given RubyBasicObject, possibly allocating * space for it. * * @param self the object from which to get object_id * @return the object's object_id (possibly new) */ public long getObjectId(RubyBasicObject self) { VariableAccessor objectIdAccessor = getObjectIdAccessorField().getVariableAccessorForRead(); Long id = (Long)objectIdAccessor.get(self); if (id != null) return id; synchronized (self) { objectIdAccessor = getObjectIdAccessorField().getVariableAccessorForRead(); id = (Long)objectIdAccessor.get(self); if (id != null) return id; return initObjectId(self, getObjectIdAccessorField().getVariableAccessorForWrite(this)); } }
/** * Get the object_id from a given RubyBasicObject, possibly allocating * space for it. * * @param self the object from which to get object_id * @return the object's object_id (possibly new) */ public long getObjectId(RubyBasicObject self) { VariableAccessor objectIdAccessor = getObjectIdAccessorField().getVariableAccessorForRead(); Long id = (Long)objectIdAccessor.get(self); if (id != null) return id; synchronized (self) { objectIdAccessor = getObjectIdAccessorField().getVariableAccessorForRead(); id = (Long)objectIdAccessor.get(self); if (id != null) return id; return initObjectId(self, getObjectIdAccessorField().getVariableAccessorForWrite(this)); } }