Esempio n. 1
0
/* SRC: classes/exception.php line 123 */
String c_Exception::t_gettraceasstring() {
  INSTANCE_METHOD_INJECTION_BUILTIN(Exception, Exception::getTraceAsString);
  int64 v_i = 0;
  String v_s;
  Variant v_frame;

  v_i = 0LL;
  v_s = NAMSTR(s_sys_ss00000000, "");
  {
    LOOP_COUNTER(1);
    Variant map2 = t_gettrace();
    {
      StringBuffer tmp_sbuf_v_s(512);
      for (ArrayIter iter3 = map2.begin(s_class_name); !iter3.end(); iter3.next()) {
        LOOP_COUNTER_CHECK(1);
        iter3.second(v_frame);
        {
          if (!(x_is_array(v_frame))) {
            continue;
          }
          {
            tmp_sbuf_v_s.appendWithTaint("#", 1);
            tmp_sbuf_v_s.appendWithTaint(toString(v_i));
            tmp_sbuf_v_s.appendWithTaint(" ", 1);
            tmp_sbuf_v_s.appendWithTaint(toString((isset(v_frame, NAMSTR(s_sys_ss8ce7db5b, "file"), true) ? ((Variant)(v_frame.rvalAt(NAMSTR(s_sys_ss8ce7db5b, "file"), AccessFlags::Error_Key))) : ((Variant)(NAMSTR(s_sys_ss00000000, ""))))));
            tmp_sbuf_v_s.appendWithTaint("(", 1);
            tmp_sbuf_v_s.appendWithTaint(toString((isset(v_frame, NAMSTR(s_sys_ssddf8728c, "line"), true) ? ((Variant)(v_frame.rvalAt(NAMSTR(s_sys_ssddf8728c, "line"), AccessFlags::Error_Key))) : ((Variant)(NAMSTR(s_sys_ss00000000, ""))))));
            tmp_sbuf_v_s.appendWithTaint("): ", 3);
            Variant tmp0;
            if (isset(v_frame, NAMSTR(s_sys_ssc82dbd12, "class"), true)) {
              const String &tmp1((toString(v_frame.rvalAt(NAMSTR(s_sys_ssc82dbd12, "class"), AccessFlags::Error_Key))));
              const String &tmp2((toString(v_frame.rvalAt(NAMSTR(s_sys_ss724a760a, "type"), AccessFlags::Error_Key))));
              tmp0 = (concat(tmp1, tmp2));
            } else {
              tmp0 = (NAMSTR(s_sys_ss00000000, ""));
            }
            tmp_sbuf_v_s.appendWithTaint(toString(tmp0));
            tmp_sbuf_v_s.appendWithTaint(toString(v_frame.rvalAt(NAMSTR(s_sys_ss52403931, "function"), AccessFlags::Error_Key)));
            tmp_sbuf_v_s.appendWithTaint("()\n", 3);
            ;
          }
          v_i++;
        }
      }
      concat_assign(v_s, tmp_sbuf_v_s.detachWithTaint());
    }
  }
  concat_assign(v_s, concat3(NAMSTR(s_sys_ss8dc355aa, "#"), toString(v_i), NAMSTR(s_sys_ssfab32402, " {main}")));
  return v_s;
}
Esempio n. 2
0
Variant Array::appendOpEqual(int op, CVarRef v) {
  if (!m_px) {
    ArrayBase::operator=(ArrayData::Create());
  }
  Variant *cv = NULL;
  ArrayData *escalated = m_px->lvalNew(cv, m_px->getCount() > 1);
  if (escalated) {
    ArrayBase::operator=(escalated);
  }
  ASSERT(cv);
  switch (op) {
  case T_CONCAT_EQUAL: return concat_assign((*cv), v);
  case T_PLUS_EQUAL:   return ((*cv) += v);
  case T_MINUS_EQUAL:  return ((*cv) -= v);
  case T_MUL_EQUAL:    return ((*cv) *= v);
  case T_DIV_EQUAL:    return ((*cv) /= v);
  case T_MOD_EQUAL:    return ((*cv) %= v);
  case T_AND_EQUAL:    return ((*cv) &= v);
  case T_OR_EQUAL:     return ((*cv) |= v);
  case T_XOR_EQUAL:    return ((*cv) ^= v);
  case T_SL_EQUAL:     return ((*cv) <<= v);
  case T_SR_EQUAL:     return ((*cv) >>= v);
  default:
    throw FatalErrorException(0, "invalid operator %d", op);
  }
}