int64_t f_hphp_object_pointer(CObjRef obj) { return (int64_t)obj.get(); }
void FiberReferenceMap::unmarshal(Object &dest, CObjRef src, char strategy) { if (strategy != FiberAsyncFunc::GlobalStateIgnore) { dest = src.fiberUnmarshal(*this); } }
Variant f_hphp_get_property(CObjRef obj, CStrRef cls, CStrRef prop) { return obj->o_get(prop); }
RecursiveIteratorIterator::RecursiveIteratorIterator(CObjRef iterator, int mode, int flags) : m_iterator(iterator), m_mode(mode), m_flags(flags) { m_iterators.push_back(std::make_pair(iterator.get(), 0)); iterator->incRefCount(); }
bool Array::more(CObjRef v2) const { if (m_px == NULL || v2.get() == NULL) { return HPHP::more(toBoolean(), v2.toBoolean()); } return true; }
bool CatchBlock::match(CObjRef exn) const { return exn.instanceof(m_ename.c_str()); }
bool String::less(CObjRef v2) const { if (m_px == NULL || v2.get() == NULL) { return HPHP::less(toBoolean(), v2.toBoolean()); } return true; }
void VariableEnvironment::setCurrentObject(CObjRef co) { ASSERT(!m_currentClass); m_currentObject = co; m_currentClass = co->o_getClassName(); get("this") = co; }
String String::rvalAt(CObjRef key) const { return rvalAtImpl(key.toInt32()); }
StringOffset String::lvalAt(CObjRef key) { return lvalAtImpl(key.toInt32()); }
bool Array::equal(CObjRef v2) const { if (m_px == nullptr || v2.get() == nullptr) { return HPHP::equal(toBoolean(), v2.toBoolean()); } return false; }
String f_get_resource_type(CObjRef handle) { if (handle.isResource()) { return handle->o_getClassName(); } return ""; }
void FiberReferenceMap::marshal(Object &dest, CObjRef src) { dest = src.fiberMarshal(*this); }
bool Object::more(CObjRef v2) const { return m_px != v2.m_px && toArray().more(v2.toArray()); }
bool String::more(CObjRef v2) const { if (m_px == NULL || v2.get() == NULL) { return HPHP::more(toBoolean(), v2.toBoolean()); } return false; }
void VariableEnvironment::setCurrentObject(CObjRef co) { ASSERT(!m_currentClass); m_currentObject = co; m_currentClass = co->o_getClassName(); getVar(s_this, SgNormal) = co; }
bool Object::less(CObjRef v2) const { return toArray().less(v2.toArray());}
bool Array::less(CObjRef v2) const { if (m_px == NULL || v2.get() == NULL) { return HPHP::less(toBoolean(), v2.toBoolean()); } return false; }
bool Object::more(CObjRef v2) const { return toArray().more(v2.toArray());}
bool Object::more(CObjRef v2) const { check_collection_compare(m_px, v2.get()); return m_px != v2.m_px && toArray().more(v2.toArray()); }
Variant f_get_object_vars(CObjRef object) { return object->o_toIterArray(ctxClassName()); }
bool f_hphp_instanceof(CObjRef obj, CStrRef name) { return obj.instanceof(name.data()); }
Object f_hphp_splfileobject___construct(CObjRef obj, CStrRef filename, CStrRef open_mode, bool use_include_path, CVarRef context) { Variant f = f_fopen(filename, open_mode, use_include_path, context.isNull() ? null_object : context.toObject()); obj->o_set("rsrc", NEWOBJ(SplFileObject)(f), "SplFileInfo"); return obj; }
void f_hphp_set_property(CObjRef obj, CStrRef cls, CStrRef prop, CVarRef value) { obj->o_set(prop, value); }
void f_socket_clear_error(CObjRef socket /* = null_object */) { if (!socket.isNull()) { Socket *sock = socket.getTyped<Socket>(); sock->setError(0); } }
bool f_hphp_directoryiterator___construct(CObjRef obj, CStrRef path) { SmartObject<DirectoryIterator> rsrc = NEWOBJ(DirectoryIterator)(path); obj->o_set("rsrc", rsrc, "SplFileInfo"); return !rsrc->m_dir.isNull(); }
bool Object::less(CObjRef v2) const { return m_px != v2.m_px && toArray().less(v2.toArray()); }
bool f_is_a(CObjRef object, CStrRef class_name) { return object.instanceof(class_name); }
Array f_get_object_vars(CObjRef object) { return object->o_toIterArray(FrameInjection::getClassName(true)); }