Ejemplo n.º 1
0
ArrayData *SharedMap::lval(Variant *&ret, bool copy) {
  ArrayData *escalated = escalate();
  ArrayData *ee = escalated->lval(ret, false);
  if (ee) {
    escalated->release();
    return ee;
  }
  return escalated;
}
Ejemplo n.º 2
0
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;
}
Ejemplo n.º 3
0
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;
}
Ejemplo n.º 4
0
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;
}
Ejemplo n.º 5
0
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));
}
Ejemplo n.º 6
0
ArrayData *APCLocalArray::LvalStr(ArrayData* ad, StringData* k, Variant *&ret,
                                  bool copy) {
  ArrayData *escalated = Escalate(ad);
  return releaseIfCopied(escalated, escalated->lval(k, ret, false));
}
Ejemplo n.º 7
0
ArrayData *SharedMap::LvalInt(ArrayData* ad, int64_t k, Variant *&ret,
                              bool copy) {
  ArrayData *escalated = Escalate(ad);
  return releaseIfCopied(escalated, escalated->lval(k, ret, false));
}
Ejemplo n.º 8
0
ArrayData *SharedMap::lval(StringData* k, Variant *&ret, bool copy) {
  ArrayData *escalated = SharedMap::escalate();
  return releaseIfCopied(escalated, escalated->lval(k, ret, false));
}