bool Object::equal(CObjRef v2) const { if (m_px == v2.get()) return true; if (!m_px || !v2.get()) return false; if (isResource() || v2.isResource()) return false; return (v2.get()->o_isClass(m_px->o_getClassName()) && toArray().equal(v2.toArray())); }
bool String::more(CObjRef v2) const { if (m_px == NULL || v2.get() == NULL) { return HPHP::more(toBoolean(), v2.toBoolean()); } if (v2.isResource()) return false; try { return more(v2.toString()); } catch (BadTypeConversionException &e) { return false; } }
bool Object::equal(CObjRef v2) const { if (m_px == v2.get()) { check_collection_compare(m_px); return true; } if (!m_px || !v2.get()) { return false; } check_collection_compare(m_px, v2.get()); if (isResource() || v2.isResource()) { return false; } return (v2.get()->o_isClass(m_px->o_getClassName()) && toArray().equal(v2.toArray())); }
bool Object::equal(CObjRef v2) const { if (m_px == v2.get()) { return true; } if (!m_px || !v2.get()) { return false; } if (isResource() || v2.isResource()) { return false; } if (v2.get()->getVMClass() != m_px->getVMClass()) { return false; } if (m_px->isCollection()) { return collectionEquals(m_px, v2.get()); } return toArray().equal(v2.toArray()); }
String f_get_resource_type(CObjRef handle) { if (handle.isResource()) { return handle->o_getClassName(); } return ""; }