ArrayData *ArrayData::Create(CVarRef value) { if (RuntimeOption::UseZendArray) { ArrayData *ret = NEW(ZendArray)(1); ret->append(value, false); return ret; } return NEW(VectorVariant)(value); }
ArrayData *SharedMap::append(const ArrayData *elems, ArrayOp op, bool copy) { ArrayData *escalated = escalate(); ArrayData *ee = escalated->append(elems, op, false); if (ee) { escalated->release(); return ee; } return escalated; }
ArrayData *SharedMap::append(CVarRef v, bool copy) { ArrayData *escalated = escalate(); ArrayData *ee = escalated->append(v, false); if (ee) { escalated->release(); return ee; } return escalated; }
ArrayData *SharedMap::append(CVarRef v, bool copy) { ArrayData *escalated = SharedMap::escalate(); return releaseIfCopied(escalated, escalated->append(v, false)); }
ArrayData* APCLocalArray::Append(ArrayData* ad, const Variant& v, bool copy) { ArrayData* escalated = Escalate(ad); return releaseIfCopied(escalated, escalated->append(v, false)); }
ArrayData *SharedMap::Append(ArrayData* ad, CVarRef v, bool copy) { ArrayData *escalated = Escalate(ad); return releaseIfCopied(escalated, escalated->append(v, false)); }
ArrayData *SharedMap::Append(ArrayData* ad, CVarRef v, bool copy) { auto a = asSharedMap(ad); ArrayData *escalated = a->SharedMap::escalate(); return releaseIfCopied(escalated, escalated->append(v, false)); }