ArrayData *SharedMap::lval(Variant *&ret, bool copy) { ArrayData *escalated = escalate(); ArrayData *ee = escalated->lval(ret, false); if (ee) { escalated->release(); return ee; } return escalated; }
ArrayData *SharedMap::lval(StringData* k, Variant *&ret, bool copy, bool checkExist /* = false */) { ArrayData *escalated = escalate(); ArrayData *ee = escalated->lval(k, ret, false); if (ee) { escalated->release(); return ee; } return escalated; }
ArrayData *VectorString::lval(CVarRef k, Variant *&ret, bool copy, int64 prehash /* = -1 */) { ArrayData *escalated; if (k.isInteger()) { escalated = NEW(VectorVariant)(this); } else { escalated = NEW(MapVariant)(this); } escalated->lval(k, ret, false, prehash); return escalated; }
ArrayData *SharedMap::lval(CVarRef k, Variant *&ret, bool copy, int64 prehash /* = -1 */, bool checkExist /* = false */) { ArrayData *escalated = escalate(); ArrayData *ee = escalated->lval(k, ret, false, prehash); if (ee) { escalated->release(); return ee; } return escalated; }
ArrayData *SharedMap::lval(int64_t k, Variant *&ret, bool copy, bool checkExist /* = false */) { ArrayData *escalated = SharedMap::escalate(); return releaseIfCopied(escalated, escalated->lval(k, ret, false)); }
ArrayData *APCLocalArray::LvalStr(ArrayData* ad, StringData* k, Variant *&ret, bool copy) { ArrayData *escalated = Escalate(ad); return releaseIfCopied(escalated, escalated->lval(k, ret, false)); }
ArrayData *SharedMap::LvalInt(ArrayData* ad, int64_t k, Variant *&ret, bool copy) { ArrayData *escalated = Escalate(ad); return releaseIfCopied(escalated, escalated->lval(k, ret, false)); }
ArrayData *SharedMap::lval(StringData* k, Variant *&ret, bool copy) { ArrayData *escalated = SharedMap::escalate(); return releaseIfCopied(escalated, escalated->lval(k, ret, false)); }