コード例 #1
0
ファイル: proxy-array.cpp プロジェクト: MatmaRex/hhvm
ArrayData*
ProxyArray::PlusEq(ArrayData* ad, const ArrayData* elems) {
  if (!elems->isPHPArray()) throwInvalidAdditionException(elems);
  auto const r = innerArr(ad)->plusEq(elems);
  reseatable(ad, r);
  return ad;
}
コード例 #2
0
ファイル: empty-array.cpp プロジェクト: aloiret/hhvm
ArrayData* EmptyArray::PlusEq(ArrayData*, const ArrayData* elems) {
  if (!elems->isPHPArray()) throwInvalidAdditionException(elems);
  elems->incRefCount();
  return const_cast<ArrayData*>(elems);
}
コード例 #3
0
ファイル: apc-local-array.cpp プロジェクト: SiebelsTim/hhvm
ArrayData* APCLocalArray::PlusEq(ArrayData* ad, const ArrayData *elems) {
  if (!elems->isPHPArray()) throwInvalidAdditionException(elems);
  auto escalated = Array::attach(Escalate(ad));
  return (escalated += const_cast<ArrayData*>(elems)).detach();
}