ArrayData* APCLocalArray::SetInt(ArrayData* ad, int64_t k, const Variant& v, bool copy) { ArrayData *escalated = Escalate(ad); return releaseIfCopied(escalated, escalated->set(k, v, false)); }
ArrayData* APCLocalArray::SetRefStr(ArrayData* ad, StringData* k, const Variant& v, bool copy) { ArrayData *escalated = Escalate(ad); return releaseIfCopied(escalated, escalated->setRef(k, v, 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 *APCLocalArray::LvalNew(ArrayData* ad, Variant *&ret, bool copy) { ArrayData *escalated = Escalate(ad); return releaseIfCopied(escalated, escalated->lvalNew(ret, false)); }
ArrayData* SharedArray::Merge(ArrayData* ad, const ArrayData *elems, bool copy) { ArrayData *escalated = Escalate(ad); return releaseIfCopied(escalated, escalated->merge(elems, false)); }
ArrayData *SharedArray::Prepend(ArrayData* ad, CVarRef v, bool copy) { ArrayData *escalated = Escalate(ad); return releaseIfCopied(escalated, escalated->prepend(v, false)); }
ArrayData* SharedArray::Copy(const ArrayData* ad) { return Escalate(ad); }
ArrayData* SharedArray::AppendWithRef(ArrayData* ad, CVarRef v, bool copy) { ArrayData *escalated = Escalate(ad); return releaseIfCopied(escalated, escalated->appendWithRef(v, false)); }
ArrayData* SharedArray::RemoveStr(ArrayData* ad, const StringData* k, bool copy) { ArrayData *escalated = Escalate(ad); return releaseIfCopied(escalated, escalated->remove(k, false)); }
ArrayData *SharedArray::RemoveInt(ArrayData* ad, int64_t k, bool copy) { ArrayData *escalated = Escalate(ad); return releaseIfCopied(escalated, escalated->remove(k, false)); }
ArrayData* SharedArray::SetRefStr(ArrayData* ad, StringData* k, CVarRef v, bool copy) { ArrayData *escalated = Escalate(ad); return releaseIfCopied(escalated, escalated->setRef(k, v, false)); }
ArrayData* SharedArray::SetInt(ArrayData* ad, int64_t k, CVarRef v, bool copy) { ArrayData *escalated = Escalate(ad); return releaseIfCopied(escalated, escalated->set(k, v, false)); }
ArrayData *SharedArray::LvalInt(ArrayData* ad, int64_t k, Variant *&ret, bool copy) { ArrayData *escalated = Escalate(ad); return releaseIfCopied(escalated, escalated->lval(k, ret, false)); }