Variant f_hphp_recursiveiteratoriterator_key(CObjRef obj) { RecursiveIteratorIterator *rii = get_recursiveiteratoriterator(obj); unsigned int size = rii->m_iterators.size(); ASSERT(size > 0); if (rii->m_iterator.is<RecursiveDirectoryIterator>()) { c_recursivedirectoryiterator *c_rdi = NEW(c_recursivedirectoryiterator)(); c_rdi->m_rsrc = rii->m_iterators[size-1].first; return f_hphp_recursivedirectoryiterator_key(c_rdi); } throw InvalidArgumentException("iterator", "unsupported type"); }
Variant f_hphp_recursiveiteratoriterator_key(CObjRef obj) { RecursiveIteratorIterator *rii = get_recursiveiteratoriterator(obj); unsigned int size = rii->m_iterators.size(); assert(size > 0); if (rii->m_iterator.is<RecursiveDirectoryIterator>()) { ObjectData* rdi = SystemLib::AllocRecursiveDirectoryIteratorObject(); rdi->o_set("rsrc", rii->m_iterators[size-1].first, "SplFileInfo"); return f_hphp_recursivedirectoryiterator_key(rdi); } throw NotImplementedException("this type of iterator"); }
Variant f_hphp_recursiveiteratoriterator_key(CObjRef obj) { RecursiveIteratorIterator *rii = get_recursiveiteratoriterator(obj); unsigned int size = rii->m_iterators.size(); ASSERT(size > 0); if (rii->m_iterator.is<RecursiveDirectoryIterator>()) { c_RecursiveDirectoryIterator *c_rdi = NEWOBJ(c_RecursiveDirectoryIterator)(); c_rdi->m_rsrc = rii->m_iterators[size-1].first; return f_hphp_recursivedirectoryiterator_key(c_rdi); } throw NotImplementedException("this type of iterator"); }