diff --git a/hphp/runtime/base/array/array_data.cpp b/hphp/runtime/base/array/array_data.cpp index d59b3298e..08b20b584 100644 --- a/hphp/runtime/base/array/array_data.cpp +++ b/hphp/runtime/base/array/array_data.cpp @@ -303,13 +303,6 @@ void ArrayData::moveStrongIterators(ArrayData* dest, ArrayData* src) { src->m_strongIterators = 0; } -CVarRef ArrayData::currentRef() { - if (size_t(m_pos) < size_t(size())) { - return getValueRef(m_pos); - } - throw FatalErrorException("invalid ArrayData::m_pos"); -} - CVarRef ArrayData::endRef() { if (size_t(m_pos) < size_t(size())) { return getValueRef(size() - 1); diff --git a/hphp/runtime/base/array/array_data.h b/hphp/runtime/base/array/array_data.h index 737f005db..b5450298c 100644 --- a/hphp/runtime/base/array/array_data.h +++ b/hphp/runtime/base/array/array_data.h @@ -358,7 +358,6 @@ public: */ virtual bool advanceFullPos(FullPos& fp); - virtual CVarRef currentRef(); virtual CVarRef endRef(); virtual ArrayData* escalateForSort(); diff --git a/hphp/runtime/base/array/hphp_array.cpp b/hphp/runtime/base/array/hphp_array.cpp index 264b7288e..44e65e2ac 100644 --- a/hphp/runtime/base/array/hphp_array.cpp +++ b/hphp/runtime/base/array/hphp_array.cpp @@ -1570,13 +1570,6 @@ bool HphpArray::advanceFullPos(FullPos& fp) { return true; } -CVarRef HphpArray::currentRef() { - assert(m_pos != ArrayData::invalid_index); - Elm* e = &m_data[(ElmInd)m_pos]; - assert(e->data.m_type != KindOfTombstone); - return tvAsCVarRef(&e->data); -} - CVarRef HphpArray::endRef() { assert(m_lastE != ElmIndEmpty); ElmInd pos = m_lastE; diff --git a/hphp/runtime/base/array/hphp_array.h b/hphp/runtime/base/array/hphp_array.h index 31254c922..8e6f6ff54 100644 --- a/hphp/runtime/base/array/hphp_array.h +++ b/hphp/runtime/base/array/hphp_array.h @@ -170,7 +170,6 @@ public: // overrides ArrayData bool validFullPos(const FullPos &fp) const; bool advanceFullPos(FullPos& fp); - CVarRef currentRef(); CVarRef endRef(); // END overide/implements section diff --git a/hphp/runtime/base/array/policy_array.cpp b/hphp/runtime/base/array/policy_array.cpp index 4276e388e..5c9fca0ed 100644 --- a/hphp/runtime/base/array/policy_array.cpp +++ b/hphp/runtime/base/array/policy_array.cpp @@ -580,10 +580,6 @@ bool ArrayShell::advanceFullPos(FullPos &fp) { return true; } -CVarRef ArrayShell::currentRef() { - NOT_IMPLEMENTED(); -} - CVarRef ArrayShell::endRef() { NOT_IMPLEMENTED(); } diff --git a/hphp/runtime/base/array/policy_array.h b/hphp/runtime/base/array/policy_array.h index 29acc3c2c..7043ae390 100644 --- a/hphp/runtime/base/array/policy_array.h +++ b/hphp/runtime/base/array/policy_array.h @@ -601,7 +601,6 @@ public: */ virtual bool advanceFullPos(FullPos& fp) FOLLY_OVERRIDE; - virtual CVarRef currentRef() FOLLY_OVERRIDE; virtual CVarRef endRef() FOLLY_OVERRIDE; virtual ArrayData* escalateForSort() FOLLY_OVERRIDE; diff --git a/hphp/runtime/base/type_variant.cpp b/hphp/runtime/base/type_variant.cpp index 8612f6987..008774baf 100644 --- a/hphp/runtime/base/type_variant.cpp +++ b/hphp/runtime/base/type_variant.cpp @@ -550,21 +550,6 @@ Variant Variant::array_iter_current() const { return false; } -Variant Variant::array_iter_current_ref() { - if (is(KindOfArray)) { - escalate(); - ArrayData *arr = getArrayData(); - if (arr->getCount() > 1 && !arr->noCopyOnWrite()) { - arr = arr->copy(); - set(arr); - assert(arr == getArrayData()); - } - return strongBind(arr->currentRef()); - } - throw_bad_type_exception("expecting an array"); - return false; -} - Variant Variant::array_iter_next() { if (is(KindOfArray)) { ArrayData *arr = getArrayData(); diff --git a/hphp/runtime/base/type_variant.h b/hphp/runtime/base/type_variant.h index 1fccc31c7..ee9aedf68 100644 --- a/hphp/runtime/base/type_variant.h +++ b/hphp/runtime/base/type_variant.h @@ -886,7 +886,6 @@ class Variant : private TypedValue { Variant array_iter_reset(); Variant array_iter_prev(); Variant array_iter_current() const; - Variant array_iter_current_ref(); Variant array_iter_next(); Variant array_iter_end(); Variant array_iter_key() const; @@ -1241,9 +1240,6 @@ public: Variant array_iter_reset() const { return m_var.array_iter_reset(); } Variant array_iter_prev() const { return m_var.array_iter_prev(); } Variant array_iter_current() const { return m_var.array_iter_current(); } - Variant array_iter_current_ref() const { - return m_var.array_iter_current_ref(); - } Variant array_iter_next() const { return m_var.array_iter_next(); } Variant array_iter_end() const { return m_var.array_iter_end(); } Variant array_iter_key() const { return m_var.array_iter_key(); } diff --git a/hphp/runtime/vm/name_value_table_wrapper.cpp b/hphp/runtime/vm/name_value_table_wrapper.cpp index 7581b88fa..816c9da1d 100644 --- a/hphp/runtime/vm/name_value_table_wrapper.cpp +++ b/hphp/runtime/vm/name_value_table_wrapper.cpp @@ -213,13 +213,6 @@ Variant NameValueTableWrapper::current() const { : Variant(false); } -CVarRef NameValueTableWrapper::currentRef() { - if (m_pos != ArrayData::invalid_index) { - return getValueRef(m_pos); - } - throw FatalErrorException("invalid ArrayData::m_pos"); -} - Variant NameValueTableWrapper::next() { if (m_pos != ArrayData::invalid_index) { m_pos = iter_advance(m_pos); @@ -235,7 +228,7 @@ Variant NameValueTableWrapper::end() { CVarRef NameValueTableWrapper::endRef() { m_pos = iter_end(); - return currentRef(); + return getValueRef(m_pos); } Variant NameValueTableWrapper::key() const { diff --git a/hphp/runtime/vm/name_value_table_wrapper.h b/hphp/runtime/vm/name_value_table_wrapper.h index 34add7532..9d10df221 100644 --- a/hphp/runtime/vm/name_value_table_wrapper.h +++ b/hphp/runtime/vm/name_value_table_wrapper.h @@ -126,7 +126,6 @@ public: // ArrayData implementation virtual Variant reset(); virtual Variant prev(); virtual Variant current() const; - virtual CVarRef currentRef(); virtual Variant next(); virtual Variant end(); virtual CVarRef endRef();