Ejemplo n.º 1
0
/* SRC: classes/splobjectstorage.php line 140 */
void c_SplObjectStorage::t_detach(CVarRef v_obj) {
  INSTANCE_METHOD_INJECTION_BUILTIN(SplObjectStorage, SplObjectStorage::detach);
  Primitive v_idx = 0;
  Variant v_object;

  ObjectData *obj_tmp UNUSED;
  if (x_is_object(v_obj)) {
    {
      {
        LOOP_COUNTER(1);
        Variant map2 = m_storage;
        for (ArrayIter iter3 = map2.begin(s_class_name); !iter3.end(); iter3.next()) {
          LOOP_COUNTER_CHECK(1);
          iter3.second(v_object);
          v_idx.assignVal(iter3.first());
          {
            if (same(v_object, v_obj)) {
              {
                m_storage.weakRemove(v_idx);
                {
                  MethodCallPackage mcp0;
                  mcp0.methodCall((GET_THIS_VALID()), NAMSTR(s_sys_ss941ca25f, "rewind"), 0x1670096FDE27AF6ALL);
                  const CallInfo *cit0 ATTRIBUTE_UNUSED = mcp0.ci;
                  (mcp0.bindClass(fi)->getMeth0Args())(mcp0, 0);
                }
                return;
              }
            }
          }
        }
      }
    }
  }
}
Ejemplo n.º 2
0
/* SRC: classes/splobjectstorage.php line 140 */
void c_SplObjectStorage::t_detach(CVarRef v_obj) {
  INSTANCE_METHOD_INJECTION_BUILTIN(SplObjectStorage, SplObjectStorage::detach);
  Primitive v_idx = 0;
  Variant v_object;

  ObjectData *obj_tmp UNUSED;
  if (x_is_object(v_obj)) {
    {
      {
        LOOP_COUNTER(1);
        ArrayIter iter3;
        {
          Variant map2 = m_storage;
          iter3.begin(map2, s_class_name);
          try {
            if (iter3.end()) goto break1;
          } catch (...) {
            iter3.reset();
            throw;
          }
        }
        do {
          LOOP_COUNTER_CHECK(1);
          iter3.second(v_object);
          v_idx.assignVal(iter3.first());
          {
            if (same(v_object, v_obj)) {
              {
                m_storage.weakRemove(v_idx);
                {
                  MethodCallPackage mcp0;
                  mcp0.methodCall((GET_THIS_VALID()), NAMSTR(s_sys_ss745e29f6, "rewind"), 0x4D5C8831);
                  const CallInfo *cit0 ATTRIBUTE_UNUSED = mcp0.ci;
                  (mcp0.bindClass(fi)->getMeth0Args())(mcp0, 0);
                }
                return;
              }
            }
          }
        } while(iter3.next(), !iter3.end());
        break1:;
      }
    }
  }
}