text: /*
     +----------------------------------------------------------------------+
     | HipHop for PHP                                                       |
     +----------------------------------------------------------------------+
     | Copyright (c) 2010- Facebook, Inc. (http://www.facebook.com)         |
     +----------------------------------------------------------------------+
     | This source file is subject to version 3.01 of the PHP license,      |
     | that is bundled with this package in the file LICENSE, and is        |
     | available through the world-wide-web at the following url:           |
     | http://www.php.net/license/3_01.txt                                  |
     | If you did not receive a copy of the PHP license and are unable to   |
     | obtain it through the world-wide-web, please send a note to          |
     | license@php.net so we can mail you a copy immediately.               |
     +----------------------------------------------------------------------+
  */
  // @generated by HipHop Compiler
  
  #include <runtime/base/hphp_system.h>
  #include <system/gen/sys/literal_strings_remap.h>
  #include <system/gen/sys/scalar_arrays_remap.h>
  #include <php/classes/exception.fws.h>
  #include <php/classes/exception.h>
  
  // Dependencies
  #include <runtime/ext/ext.h>
  #include <runtime/eval/eval.h>
  namespace hphp_impl_starter {}
  
  namespace HPHP {
  ///////////////////////////////////////////////////////////////////////////////
  
  /* preface starts */
  extern CallInfo ci_;
  /* preface finishes */
  /* SRC: classes/exception.php line 227 */
  IMPLEMENT_CLASS_NO_DEFAULT_SWEEP(OutOfRangeException)
  const InstanceOfInfo c_OutOfRangeException::s_instanceof_table[] = {
    {0x4860DC2F9B0E6D4BLL,1,"LogicException",&cw_LogicException},
    {0x622D4DF07E2A01FCLL,0,"OutOfRangeException",&cw_OutOfRangeException},
    {0x47D93E6F80B66A94LL,1,"Exception",&cw_Exception},
  };
  const int c_OutOfRangeException::s_instanceof_index[] = {
    7,
    -1,-1,-1,0,1,-1,-1,-1,
  
  };
  const ObjectStaticCallbacks cw_OutOfRangeException = {
    (ObjectData*(*)(ObjectData*))coo_OutOfRangeException,
    c_OutOfRangeException::s_call_info_table,c_OutOfRangeException::s_call_info_index,
    c_OutOfRangeException::s_instanceof_table,c_OutOfRangeException::s_instanceof_index,
    &c_OutOfRangeException::s_class_name,
    &c_Exception::os_prop_table,&c_Exception::ci___construct,0,&cw_LogicException,0x0
  };
  /* SRC: classes/exception.php line 235 */
  IMPLEMENT_CLASS_NO_DEFAULT_SWEEP(RuntimeException)
  const InstanceOfInfo c_RuntimeException::s_instanceof_table[] = {
    {0x1078CB3118A8B3DCLL,0,"RuntimeException",&cw_RuntimeException},
    {0x47D93E6F80B66A94LL,1,"Exception",&cw_Exception},
  };
  const int c_RuntimeException::s_instanceof_index[] = {
    3,
    0,-1,-1,-1,
  };
  const ObjectStaticCallbacks cw_RuntimeException = {
    (ObjectData*(*)(ObjectData*))coo_RuntimeException,
    c_RuntimeException::s_call_info_table,c_RuntimeException::s_call_info_index,
    c_RuntimeException::s_instanceof_table,c_RuntimeException::s_instanceof_index,
    &c_RuntimeException::s_class_name,
    &c_Exception::os_prop_table,&c_Exception::ci___construct,0,&cw_Exception,0x0
  };
  /* SRC: classes/exception.php line 183 */
  IMPLEMENT_CLASS_NO_DEFAULT_SWEEP(BadFunctionCallException)
  const InstanceOfInfo c_BadFunctionCallException::s_instanceof_table[] = {
    {0x4860DC2F9B0E6D4BLL,1,"LogicException",&cw_LogicException},
    {0x47D93E6F80B66A94LL,1,"Exception",&cw_Exception},
    {0x66282FC8E4EF4E46LL,1,"BadFunctionCallException",&cw_BadFunctionCallException},
  };
  const int c_BadFunctionCallException::s_instanceof_index[] = {
    7,
    -1,-1,-1,0,1,-1,2,-1,
  
  };
  const ObjectStaticCallbacks cw_BadFunctionCallException = {
    (ObjectData*(*)(ObjectData*))coo_BadFunctionCallException,
    c_BadFunctionCallException::s_call_info_table,c_BadFunctionCallException::s_call_info_index,
    c_BadFunctionCallException::s_instanceof_table,c_BadFunctionCallException::s_instanceof_index,
    &c_BadFunctionCallException::s_class_name,
    &c_Exception::os_prop_table,&c_Exception::ci___construct,0,&cw_LogicException,0x0
  };
  /* SRC: classes/exception.php line 202 */
  IMPLEMENT_CLASS_NO_DEFAULT_SWEEP(DomainException)
  const InstanceOfInfo c_DomainException::s_instanceof_table[] = {
    {0x4860DC2F9B0E6D4BLL,1,"LogicException",&cw_LogicException},
    {0x70D4A29DE6A7BA84LL,0,"DomainException",&cw_DomainException},
    {0x47D93E6F80B66A94LL,1,"Exception",&cw_Exception},
  };
  const int c_DomainException::s_instanceof_index[] = {
    7,
    -1,-1,-1,0,1,-1,-1,-1,
  
  };
  const ObjectStaticCallbacks cw_DomainException = {
    (ObjectData*(*)(ObjectData*))coo_DomainException,
    c_DomainException::s_call_info_table,c_DomainException::s_call_info_index,
    c_DomainException::s_instanceof_table,c_DomainException::s_instanceof_index,
    &c_DomainException::s_class_name,
    &c_Exception::os_prop_table,&c_Exception::ci___construct,0,&cw_LogicException,0x0
  };
  /* SRC: classes/exception.php line 286 */
  IMPLEMENT_CLASS_NO_DEFAULT_SWEEP(ErrorException)
  const InstanceOfInfo c_ErrorException::s_instanceof_table[] = {
    {0x47D93E6F80B66A94LL,1,"Exception",&cw_Exception},
    {0x69EDCA1CC29CFE0BLL,1,"ErrorException",&cw_ErrorException},
  };
  const int c_ErrorException::s_instanceof_index[] = {
    3,
    0,-1,-1,1,
  };
  CallInfo c_ErrorException::ci_getseverity((void*)&c_ErrorException::i_getseverity, (void*)&c_ErrorException::ifa_getseverity, 0, 4, 0x0000000000000000LL);
  CallInfo c_ErrorException::ci___construct((void*)&c_ErrorException::i___construct, (void*)&c_ErrorException::ifa___construct, 5, 4, 0x0000000000000000LL);
  Variant c_ErrorException::i___construct(MethodCallPackage &mcp, CArrRef params) {
    return invoke_meth_few_handler(mcp, params, &ifa___construct);
  }
  Variant c_ErrorException::i_getseverity(MethodCallPackage &mcp, CArrRef params) {
    return invoke_meth_few_handler(mcp, params, &ifa_getseverity);
  }
  Variant c_ErrorException::ifa___construct(MethodCallPackage &mcp, int count, INVOKE_FEW_ARGS_IMPL_ARGS) {
    if (UNLIKELY(mcp.obj == 0)) {
      return ObjectData::ifa_dummy(mcp, count, INVOKE_FEW_ARGS_PASS_ARGS, ifa___construct, coo_ErrorException);
    }
    c_ErrorException *self ATTRIBUTE_UNUSED (static_cast<c_ErrorException*>(mcp.obj));
    if (UNLIKELY(count > 5)) return throw_toomany_arguments("ErrorException::__construct", 5, 2);
    if (count <= 0) return (self->t___construct(), null);
    CVarRef arg0(a0);
    if (count <= 1) return (self->t___construct(arg0), null);
    CVarRef arg1(a1);
    if (count <= 2) return (self->t___construct(arg0, arg1), null);
    CVarRef arg2(a2);
    if (count <= 3) return (self->t___construct(arg0, arg1, arg2), null);
    CVarRef arg3(a3);
    if (count <= 4) return (self->t___construct(arg0, arg1, arg2, arg3), null);
    CVarRef arg4(a4);
    return (self->t___construct(arg0, arg1, arg2, arg3, arg4), null);
  }
  Variant c_ErrorException::ifa_getseverity(MethodCallPackage &mcp, int count, INVOKE_FEW_ARGS_IMPL_ARGS) {
    if (UNLIKELY(mcp.obj == 0)) {
      return ObjectData::ifa_dummy(mcp, count, INVOKE_FEW_ARGS_PASS_ARGS, ifa_getseverity, coo_ErrorException);
    }
    c_ErrorException *self ATTRIBUTE_UNUSED (static_cast<c_ErrorException*>(mcp.obj));
    if (UNLIKELY(count > 0)) return throw_toomany_arguments("ErrorException::getSeverity", 0, 1);
    return (self->t_getseverity());
  }
  const MethodCallInfoTable c_ErrorException::s_call_info_table[] = {
    { 0x0D31D0AC229C615FLL, 1, 11, "__construct", &c_ErrorException::ci___construct },
    { 0x4B378D0258AF461FLL, 0, 11, "getSeverity", &c_ErrorException::ci_getseverity },
    { 0, 1, 0, 0 }
  };
  const int c_ErrorException::s_call_info_index[] = {
    3,
    -1,-1,-1,0,
  };
  c_ErrorException *c_ErrorException::create(CVarRef v_message //  = NAMVAR(s_sys_svs00000000, "")
  , CVarRef v_code //  = NAMVAR(s_sys_svif01bca90, 0LL)
  , CVarRef v_severity //  = NAMVAR(s_sys_svif01bca90, 0LL)
  , CVarRef v_filename //  = null_variant
  , CVarRef v_lineno //  = null_variant
  ) {
    CountableHelper h(this);
    init();
    t___construct(v_message, v_code, v_severity, v_filename, v_lineno);
    return this;
  }
  const ObjectStaticCallbacks cw_ErrorException = {
    (ObjectData*(*)(ObjectData*))coo_ErrorException,
    c_ErrorException::s_call_info_table,c_ErrorException::s_call_info_index,
    c_ErrorException::s_instanceof_table,c_ErrorException::s_instanceof_index,
    &c_ErrorException::s_class_name,
    &c_ErrorException::os_prop_table,&c_ErrorException::ci___construct,0,&cw_Exception,0x0
  };
  /* SRC: classes/exception.php line 288 */
  void c_ErrorException::t___construct(Variant v_message //  = NAMSTR(s_sys_ss00000000, "")
  , Variant v_code //  = 0LL
  , Variant v_severity //  = 0LL
  , Variant v_filename //  = null
  , Variant v_lineno //  = null
  ) {
    INSTANCE_METHOD_INJECTION_BUILTIN(ErrorException, ErrorException::__construct);
    bool oldInCtor = gasInCtor(true);
    c_Exception::t___construct(v_message, v_code);
    m_severity.assignVal(v_severity);
    if (!(x_is_null(v_filename))) {
      {
        m_file.assignVal(v_filename);
      }
    }
    if (!(x_is_null(v_lineno))) {
      {
        m_line.assignVal(v_lineno);
      }
    }
    gasInCtor(oldInCtor);
  }
  namespace hphp_impl_splitter {}
  /* SRC: classes/exception.php line 308 */
  Variant c_ErrorException::t_getseverity() {
    INSTANCE_METHOD_INJECTION_BUILTIN(ErrorException, ErrorException::getSeverity);
    return m_severity;
  }
  namespace hphp_impl_splitter {}
  /* SRC: classes/exception.php line 193 */
  IMPLEMENT_CLASS_NO_DEFAULT_SWEEP(BadMethodCallException)
  const InstanceOfInfo c_BadMethodCallException::s_instanceof_table[] = {
    {0x06335FF83CDEA590LL,1,"BadMethodCallException",&cw_BadMethodCallException},
    {0x4860DC2F9B0E6D4BLL,1,"LogicException",&cw_LogicException},
    {0x47D93E6F80B66A94LL,1,"Exception",&cw_Exception},
    {0x66282FC8E4EF4E46LL,1,"BadFunctionCallException",&cw_BadFunctionCallException},
  };
  const int c_BadMethodCallException::s_instanceof_index[] = {
    7,
    0,-1,-1,1,2,-1,3,-1,
  
  };
  const ObjectStaticCallbacks cw_BadMethodCallException = {
    (ObjectData*(*)(ObjectData*))coo_BadMethodCallException,
    c_BadMethodCallException::s_call_info_table,c_BadMethodCallException::s_call_info_index,
    c_BadMethodCallException::s_instanceof_table,c_BadMethodCallException::s_instanceof_index,
    &c_BadMethodCallException::s_class_name,
    &c_Exception::os_prop_table,&c_Exception::ci___construct,0,&cw_BadFunctionCallException,0x0
  };
  /* SRC: classes/exception.php line 317 */
  IMPLEMENT_CLASS_NO_DEFAULT_SWEEP(PDOException)
  const InstanceOfInfo c_PDOException::s_instanceof_table[] = {
    {0x47D93E6F80B66A94LL,1,"Exception",&cw_Exception},
    {0x5D8785ACD19F77BDLL,1,"PDOException",&cw_PDOException},
  };
  const int c_PDOException::s_instanceof_index[] = {
    3,
    0,1,-1,-1,
  };
  CallInfo c_PDOException::ci___construct((void*)&c_PDOException::i___construct, (void*)&c_PDOException::ifa___construct, 0, 4, 0x0000000000000000LL);
  Variant c_PDOException::i___construct(MethodCallPackage &mcp, CArrRef params) {
    return invoke_meth_few_handler(mcp, params, &ifa___construct);
  }
  Variant c_PDOException::ifa___construct(MethodCallPackage &mcp, int count, INVOKE_FEW_ARGS_IMPL_ARGS) {
    if (UNLIKELY(mcp.obj == 0)) {
      return ObjectData::ifa_dummy(mcp, count, INVOKE_FEW_ARGS_PASS_ARGS, ifa___construct, coo_PDOException);
    }
    c_PDOException *self ATTRIBUTE_UNUSED (static_cast<c_PDOException*>(mcp.obj));
    if (UNLIKELY(count > 0)) return throw_toomany_arguments("PDOException::__construct", 0, 2);
    return (self->t___construct(), null);
  }
  const MethodCallInfoTable c_PDOException::s_call_info_table[] = {
    { 0x0D31D0AC229C615FLL, 1, 11, "__construct", &c_PDOException::ci___construct },
    { 0, 1, 0, 0 }
  };
  const int c_PDOException::s_call_info_index[] = {
    1,
    -1,0,
  };
  c_PDOException *c_PDOException::create() {
    CountableHelper h(this);
    init();
    t___construct();
    return this;
  }
  const ObjectStaticCallbacks cw_PDOException = {
    (ObjectData*(*)(ObjectData*))coo_PDOException,
    c_PDOException::s_call_info_table,c_PDOException::s_call_info_index,
    c_PDOException::s_instanceof_table,c_PDOException::s_instanceof_index,
    &c_PDOException::s_class_name,
    &c_Exception::os_prop_table,&c_PDOException::ci___construct,0,&cw_Exception,0x0
  };
  /* SRC: classes/exception.php line 318 */
  void c_PDOException::t___construct() {
    bool oldInCtor = gasInCtor(true);
    gasInCtor(oldInCtor);
  }
  namespace hphp_impl_splitter {}
  /* SRC: classes/exception.php line 259 */
  IMPLEMENT_CLASS_NO_DEFAULT_SWEEP(RangeException)
  const InstanceOfInfo c_RangeException::s_instanceof_table[] = {
    {0x6AF83706F76A9D53LL,1,"RangeException",&cw_RangeException},
    {0x47D93E6F80B66A94LL,0,"Exception",&cw_Exception},
    {0x1078CB3118A8B3DCLL,1,"RuntimeException",&cw_RuntimeException},
  };
  const int c_RangeException::s_instanceof_index[] = {
    7,
    -1,-1,-1,0,1,-1,-1,-1,
  
  };
  const ObjectStaticCallbacks cw_RangeException = {
    (ObjectData*(*)(ObjectData*))coo_RangeException,
    c_RangeException::s_call_info_table,c_RangeException::s_call_info_index,
    c_RangeException::s_instanceof_table,c_RangeException::s_instanceof_index,
    &c_RangeException::s_class_name,
    &c_Exception::os_prop_table,&c_Exception::ci___construct,0,&cw_RuntimeException,0x0
  };
  /* SRC: classes/exception.php line 277 */
  IMPLEMENT_CLASS_NO_DEFAULT_SWEEP(UnexpectedValueException)
  const InstanceOfInfo c_UnexpectedValueException::s_instanceof_table[] = {
    {0x5AA2EE582E0D3849LL,1,"UnexpectedValueException",&cw_UnexpectedValueException},
    {0x47D93E6F80B66A94LL,0,"Exception",&cw_Exception},
    {0x1078CB3118A8B3DCLL,1,"RuntimeException",&cw_RuntimeException},
  };
  const int c_UnexpectedValueException::s_instanceof_index[] = {
    7,
    -1,0,-1,-1,1,-1,-1,-1,
  
  };
  const ObjectStaticCallbacks cw_UnexpectedValueException = {
    (ObjectData*(*)(ObjectData*))coo_UnexpectedValueException,
    c_UnexpectedValueException::s_call_info_table,c_UnexpectedValueException::s_call_info_index,
    c_UnexpectedValueException::s_instanceof_table,c_UnexpectedValueException::s_instanceof_index,
    &c_UnexpectedValueException::s_class_name,
    &c_Exception::os_prop_table,&c_Exception::ci___construct,0,&cw_RuntimeException,0x0
  };
  /* SRC: classes/exception.php line 268 */
  IMPLEMENT_CLASS_NO_DEFAULT_SWEEP(UnderflowException)
  const InstanceOfInfo c_UnderflowException::s_instanceof_table[] = {
    {0x5E623FEAF7B068D4LL,0,"UnderflowException",&cw_UnderflowException},
    {0x47D93E6F80B66A94LL,0,"Exception",&cw_Exception},
    {0x1078CB3118A8B3DCLL,1,"RuntimeException",&cw_RuntimeException},
  };
  const int c_UnderflowException::s_instanceof_index[] = {
    7,
    -1,-1,-1,-1,0,-1,-1,-1,
  
  };
  const ObjectStaticCallbacks cw_UnderflowException = {
    (ObjectData*(*)(ObjectData*))coo_UnderflowException,
    c_UnderflowException::s_call_info_table,c_UnderflowException::s_call_info_index,
    c_UnderflowException::s_instanceof_table,c_UnderflowException::s_instanceof_index,
    &c_UnderflowException::s_class_name,
    &c_Exception::os_prop_table,&c_Exception::ci___construct,0,&cw_RuntimeException,0x0
  };
  /* SRC: classes/exception.php line 10 */
  IMPLEMENT_CLASS_NO_DEFAULT_SWEEP(Exception)
  const InstanceOfInfo c_Exception::s_instanceof_table[] = {
    {0x47D93E6F80B66A94LL,1,"Exception",&cw_Exception},
  };
  const int c_Exception::s_instanceof_index[] = {
    1,
    0,-1,
  };
  CallInfo c_Exception::ci___init__((void*)&c_Exception::i___init__, (void*)&c_Exception::ifa___init__, 0, 4, 0x0000000000000000LL);
  CallInfo c_Exception::ci_gettraceasstring((void*)&c_Exception::i_gettraceasstring, (void*)&c_Exception::ifa_gettraceasstring, 0, 4, 0x0000000000000000LL);
  CallInfo c_Exception::ci___construct((void*)&c_Exception::i___construct, (void*)&c_Exception::ifa___construct, 3, 4, 0x0000000000000000LL);
  CallInfo c_Exception::ci___tostring((void*)&c_Exception::i___tostring, (void*)&c_Exception::ifa___tostring, 0, 4, 0x0000000000000000LL);
  CallInfo c_Exception::ci_getprevious((void*)&c_Exception::i_getprevious, (void*)&c_Exception::ifa_getprevious, 0, 4, 0x0000000000000000LL);
  CallInfo c_Exception::ci_getcode((void*)&c_Exception::i_getcode, (void*)&c_Exception::ifa_getcode, 0, 4, 0x0000000000000000LL);
  CallInfo c_Exception::ci_getmessage((void*)&c_Exception::i_getmessage, (void*)&c_Exception::ifa_getmessage, 0, 4, 0x0000000000000000LL);
  CallInfo c_Exception::ci_gettrace((void*)&c_Exception::i_gettrace, (void*)&c_Exception::ifa_gettrace, 0, 4, 0x0000000000000000LL);
  CallInfo c_Exception::ci_getline((void*)&c_Exception::i_getline, (void*)&c_Exception::ifa_getline, 0, 4, 0x0000000000000000LL);
  CallInfo c_Exception::ci_getfile((void*)&c_Exception::i_getfile, (void*)&c_Exception::ifa_getfile, 0, 4, 0x0000000000000000LL);
  Variant c_Exception::i___init__(MethodCallPackage &mcp, CArrRef params) {
    return invoke_meth_few_handler(mcp, params, &ifa___init__);
  }
  Variant c_Exception::i___construct(MethodCallPackage &mcp, CArrRef params) {
    return invoke_meth_few_handler(mcp, params, &ifa___construct);
  }
  Variant c_Exception::i_getmessage(MethodCallPackage &mcp, CArrRef params) {
    return invoke_meth_few_handler(mcp, params, &ifa_getmessage);
  }
  Variant c_Exception::i_getprevious(MethodCallPackage &mcp, CArrRef params) {
    return invoke_meth_few_handler(mcp, params, &ifa_getprevious);
  }
  Variant c_Exception::i_getcode(MethodCallPackage &mcp, CArrRef params) {
    return invoke_meth_few_handler(mcp, params, &ifa_getcode);
  }
  Variant c_Exception::i_getfile(MethodCallPackage &mcp, CArrRef params) {
    return invoke_meth_few_handler(mcp, params, &ifa_getfile);
  }
  Variant c_Exception::i_getline(MethodCallPackage &mcp, CArrRef params) {
    return invoke_meth_few_handler(mcp, params, &ifa_getline);
  }
  Variant c_Exception::i_gettrace(MethodCallPackage &mcp, CArrRef params) {
    return invoke_meth_few_handler(mcp, params, &ifa_gettrace);
  }
  Variant c_Exception::i_gettraceasstring(MethodCallPackage &mcp, CArrRef params) {
    return invoke_meth_few_handler(mcp, params, &ifa_gettraceasstring);
  }
  Variant c_Exception::i___tostring(MethodCallPackage &mcp, CArrRef params) {
    return invoke_meth_few_handler(mcp, params, &ifa___tostring);
  }
  Variant c_Exception::ifa___init__(MethodCallPackage &mcp, int count, INVOKE_FEW_ARGS_IMPL_ARGS) {
    if (UNLIKELY(mcp.obj == 0)) {
      return ObjectData::ifa_dummy(mcp, count, INVOKE_FEW_ARGS_PASS_ARGS, ifa___init__, coo_Exception);
    }
    c_Exception *self ATTRIBUTE_UNUSED (static_cast<c_Exception*>(mcp.obj));
    if (UNLIKELY(count > 0)) return throw_toomany_arguments("Exception::__init__", 0, 1);
    return (self->t___init__(), null);
  }
  Variant c_Exception::ifa___construct(MethodCallPackage &mcp, int count, INVOKE_FEW_ARGS_IMPL_ARGS) {
    if (UNLIKELY(mcp.obj == 0)) {
      return ObjectData::ifa_dummy(mcp, count, INVOKE_FEW_ARGS_PASS_ARGS, ifa___construct, coo_Exception);
    }
    c_Exception *self ATTRIBUTE_UNUSED (static_cast<c_Exception*>(mcp.obj));
    if (UNLIKELY(count > 3)) return throw_toomany_arguments("Exception::__construct", 3, 2);
    if (count <= 0) return (self->t___construct(), null);
    CVarRef arg0(a0);
    if (count <= 1) return (self->t___construct(arg0), null);
    CVarRef arg1(a1);
    if (count <= 2) return (self->t___construct(arg0, arg1), null);
    CVarRef arg2(a2);
    return (self->t___construct(arg0, arg1, arg2), null);
  }
  Variant c_Exception::ifa_getmessage(MethodCallPackage &mcp, int count, INVOKE_FEW_ARGS_IMPL_ARGS) {
    if (UNLIKELY(mcp.obj == 0)) {
      return ObjectData::ifa_dummy(mcp, count, INVOKE_FEW_ARGS_PASS_ARGS, ifa_getmessage, coo_Exception);
    }
    c_Exception *self ATTRIBUTE_UNUSED (static_cast<c_Exception*>(mcp.obj));
    if (UNLIKELY(count > 0)) return throw_toomany_arguments("Exception::getMessage", 0, 1);
    return (self->t_getmessage());
  }
  Variant c_Exception::ifa_getprevious(MethodCallPackage &mcp, int count, INVOKE_FEW_ARGS_IMPL_ARGS) {
    if (UNLIKELY(mcp.obj == 0)) {
      return ObjectData::ifa_dummy(mcp, count, INVOKE_FEW_ARGS_PASS_ARGS, ifa_getprevious, coo_Exception);
    }
    c_Exception *self ATTRIBUTE_UNUSED (static_cast<c_Exception*>(mcp.obj));
    if (UNLIKELY(count > 0)) return throw_toomany_arguments("Exception::getPrevious", 0, 1);
    return (self->t_getprevious());
  }
  Variant c_Exception::ifa_getcode(MethodCallPackage &mcp, int count, INVOKE_FEW_ARGS_IMPL_ARGS) {
    if (UNLIKELY(mcp.obj == 0)) {
      return ObjectData::ifa_dummy(mcp, count, INVOKE_FEW_ARGS_PASS_ARGS, ifa_getcode, coo_Exception);
    }
    c_Exception *self ATTRIBUTE_UNUSED (static_cast<c_Exception*>(mcp.obj));
    if (UNLIKELY(count > 0)) return throw_toomany_arguments("Exception::getCode", 0, 1);
    return (self->t_getcode());
  }
  Variant c_Exception::ifa_getfile(MethodCallPackage &mcp, int count, INVOKE_FEW_ARGS_IMPL_ARGS) {
    if (UNLIKELY(mcp.obj == 0)) {
      return ObjectData::ifa_dummy(mcp, count, INVOKE_FEW_ARGS_PASS_ARGS, ifa_getfile, coo_Exception);
    }
    c_Exception *self ATTRIBUTE_UNUSED (static_cast<c_Exception*>(mcp.obj));
    if (UNLIKELY(count > 0)) return throw_toomany_arguments("Exception::getFile", 0, 1);
    return (self->t_getfile());
  }
  Variant c_Exception::ifa_getline(MethodCallPackage &mcp, int count, INVOKE_FEW_ARGS_IMPL_ARGS) {
    if (UNLIKELY(mcp.obj == 0)) {
      return ObjectData::ifa_dummy(mcp, count, INVOKE_FEW_ARGS_PASS_ARGS, ifa_getline, coo_Exception);
    }
    c_Exception *self ATTRIBUTE_UNUSED (static_cast<c_Exception*>(mcp.obj));
    if (UNLIKELY(count > 0)) return throw_toomany_arguments("Exception::getLine", 0, 1);
    return (self->t_getline());
  }
  Variant c_Exception::ifa_gettrace(MethodCallPackage &mcp, int count, INVOKE_FEW_ARGS_IMPL_ARGS) {
    if (UNLIKELY(mcp.obj == 0)) {
      return ObjectData::ifa_dummy(mcp, count, INVOKE_FEW_ARGS_PASS_ARGS, ifa_gettrace, coo_Exception);
    }
    c_Exception *self ATTRIBUTE_UNUSED (static_cast<c_Exception*>(mcp.obj));
    if (UNLIKELY(count > 0)) return throw_toomany_arguments("Exception::getTrace", 0, 1);
    return (self->t_gettrace());
  }
  Variant c_Exception::ifa_gettraceasstring(MethodCallPackage &mcp, int count, INVOKE_FEW_ARGS_IMPL_ARGS) {
    if (UNLIKELY(mcp.obj == 0)) {
      return ObjectData::ifa_dummy(mcp, count, INVOKE_FEW_ARGS_PASS_ARGS, ifa_gettraceasstring, coo_Exception);
    }
    c_Exception *self ATTRIBUTE_UNUSED (static_cast<c_Exception*>(mcp.obj));
    if (UNLIKELY(count > 0)) return throw_toomany_arguments("Exception::getTraceAsString", 0, 1);
    return (self->t_gettraceasstring());
  }
  Variant c_Exception::ifa___tostring(MethodCallPackage &mcp, int count, INVOKE_FEW_ARGS_IMPL_ARGS) {
    if (UNLIKELY(mcp.obj == 0)) {
      return ObjectData::ifa_dummy(mcp, count, INVOKE_FEW_ARGS_PASS_ARGS, ifa___tostring, coo_Exception);
    }
    c_Exception *self ATTRIBUTE_UNUSED (static_cast<c_Exception*>(mcp.obj));
    if (UNLIKELY(count > 0)) return throw_toomany_arguments("Exception::__toString", 0, 1);
    return (self->t___tostring());
  }
  const MethodCallInfoTable c_Exception::s_call_info_table[] = {
    { 0x625661A755F425C0LL, 1, 8, "__init__", &c_Exception::ci___init__ },
    { 0x31D981FD9D2728E3LL, 1, 7, "getLine", &c_Exception::ci_getline },
    { 0x03CA4360169ECC8ALL, 1, 16, "getTraceAsString", &c_Exception::ci_gettraceasstring },
    { 0x5C108B351DC3D04FLL, 1, 7, "getCode", &c_Exception::ci_getcode },
    { 0x71859D7313E682D2LL, 1, 10, "getMessage", &c_Exception::ci_getmessage },
    { 0x642C2D2994B34A13LL, 1, 10, "__toString", &c_Exception::ci___tostring },
    { 0x7DB5D49CF5DC0795LL, 1, 11, "getPrevious", &c_Exception::ci_getprevious },
    { 0x6800B2B4C4EC4CBALL, 1, 8, "getTrace", &c_Exception::ci_gettrace },
    { 0x3CE90CB8F0C9579ELL, 1, 7, "getFile", &c_Exception::ci_getfile },
    { 0x0D31D0AC229C615FLL, 1, 11, "__construct", &c_Exception::ci___construct },
    { 0, 1, 0, 0 }
  };
  const int c_Exception::s_call_info_index[] = {
    31,
    0,-1,-1,1,-1,-1,-1,-1,
    -1,-1,2,-1,-1,-1,-1,3,
    -1,-1,4,5,-1,6,-1,-1,
    -1,-1,7,-1,-1,-1,8,9,
  
  };
  c_Exception *c_Exception::create(CVarRef v_message //  = NAMVAR(s_sys_svs00000000, "")
  , CVarRef v_code //  = NAMVAR(s_sys_svif01bca90, 0LL)
  , CVarRef v_previous //  = null_variant
  ) {
    CountableHelper h(this);
    init();
    t___construct(v_message, v_code, v_previous);
    return this;
  }
  const ObjectStaticCallbacks cw_Exception = {
    (ObjectData*(*)(ObjectData*))coo_Exception,
    c_Exception::s_call_info_table,c_Exception::s_call_info_index,
    c_Exception::s_instanceof_table,c_Exception::s_instanceof_index,
    &c_Exception::s_class_name,
    &c_Exception::os_prop_table,&c_Exception::ci___construct,0,0,0x0
  };
  void c_Exception::init() {
    m_message = NAMSTR(s_sys_ss00000000, "");
    m_code = 0LL;
    {CountableHelper h(this); t___init__();}
  }
  /* SRC: classes/exception.php line 24 */
  void c_Exception::t___init__() {
    INSTANCE_METHOD_INJECTION_BUILTIN(Exception, Exception::__init__);
    Variant v_top;
    Variant v_frame;
  
    {
      const Array &tmp0((x_debug_backtrace()));
      m_trace = tmp0;
    }
    LOOP_COUNTER(1);
    {
      while (!(empty(m_trace))) {
        LOOP_COUNTER_CHECK(1);
        {
          {
            const Variant &tmp0((m_trace.rvalAt(0LL, AccessFlags::Error)));
            v_top.assignVal(tmp0);
          }
          {
            bool tmp0;
            {
              bool tmp1 = (empty(v_top, NAMSTR(s_sys_ssc82dbd12, "class"), true));
              if (!tmp1) {
                const String &tmp2((toString(v_top.rvalAt(NAMSTR(s_sys_ss52403931, "function"), AccessFlags::Error_Key))));
                bool tmp3 = (toBoolean(x_strcasecmp(tmp2, NAMSTR(s_sys_ssa26bedd7, "__init__"))));
                if (tmp3) {
                  const String &tmp4((toString(v_top.rvalAt(NAMSTR(s_sys_ss52403931, "function"), AccessFlags::Error_Key))));
                  tmp3 = (toBoolean(x_strcasecmp(tmp4, NAMSTR(s_sys_ssa1b87da7, "__construct"))));
                }
                bool tmp5 = (tmp3);
                if (tmp5) {
                  const String &tmp6((toString(v_top.rvalAt(NAMSTR(s_sys_ss52403931, "function"), AccessFlags::Error_Key))));
                  const String &tmp7((toString(v_top.rvalAt(NAMSTR(s_sys_ssc82dbd12, "class"), AccessFlags::Error_Key))));
                  tmp5 = (toBoolean(x_strcasecmp(tmp6, tmp7)));
                }
                tmp1 = (tmp5);
              }
              bool tmp8 = (tmp1);
              if (!tmp8) {
                const String &tmp9((toString(v_top.rvalAt(NAMSTR(s_sys_ssc82dbd12, "class"), AccessFlags::Error_Key))));
                bool tmp10 = (toBoolean(x_strcasecmp(tmp9, NAMSTR(s_sys_ssae8717ad, "exception"))));
                if (tmp10) {
                  const Variant &tmp11((v_top.rvalAt(NAMSTR(s_sys_ssc82dbd12, "class"), AccessFlags::Error_Key)));
                  tmp10 = (!(x_is_subclass_of(tmp11, NAMSTR(s_sys_ssae8717ad, "exception"))));
                }
                tmp8 = (tmp10);
              }
              tmp0 = (tmp8);
            }
            if (tmp0) {
              {
                break;
              }
            }
          }
          {
            const Variant &tmp0((x_array_shift(ref(m_trace))));
            v_frame.assignVal(tmp0);
          }
        }
      }
    }
    if (isset(v_frame, NAMSTR(s_sys_ss8ce7db5b, "file"), true)) {
      {
        const Variant &tmp0((v_frame.rvalAt(NAMSTR(s_sys_ss8ce7db5b, "file"), AccessFlags::Error_Key)));
        m_file.assignVal(tmp0);
      }
    }
    if (isset(v_frame, NAMSTR(s_sys_ssddf8728c, "line"), true)) {
      {
        const Variant &tmp0((v_frame.rvalAt(NAMSTR(s_sys_ssddf8728c, "line"), AccessFlags::Error_Key)));
        m_line.assignVal(tmp0);
      }
    }
  }
  namespace hphp_impl_splitter {}
  /* SRC: classes/exception.php line 45 */
  void c_Exception::t___construct(Variant v_message //  = NAMSTR(s_sys_ss00000000, "")
  , Variant v_code //  = 0LL
  , Variant v_previous //  = null
  ) {
    INSTANCE_METHOD_INJECTION_BUILTIN(Exception, Exception::__construct);
    bool oldInCtor = gasInCtor(true);
    if(!f_is_null(v_previous) && !v_previous.instanceof(NAMSTR(s_sys_ssae8717ad, "exception"))) {
      throw_unexpected_argument_type(3,"Exception::__construct()","exception",v_previous);
      return;
    }
    m_message.assignVal(v_message);
    m_code.assignVal(v_code);
    m_previous.assignVal(v_previous);
    gasInCtor(oldInCtor);
  }
  namespace hphp_impl_splitter {}
  /* SRC: classes/exception.php line 60 */
  Variant c_Exception::t_getmessage() {
    INSTANCE_METHOD_INJECTION_BUILTIN(Exception, Exception::getMessage);
    return m_message;
  }
  namespace hphp_impl_splitter {}
  /* SRC: classes/exception.php line 73 */
  Variant c_Exception::t_getprevious() {
    INSTANCE_METHOD_INJECTION_BUILTIN(Exception, Exception::getPrevious);
    return m_previous;
  }
  namespace hphp_impl_splitter {}
  /* SRC: classes/exception.php line 86 */
  Variant c_Exception::t_getcode() {
    INSTANCE_METHOD_INJECTION_BUILTIN(Exception, Exception::getCode);
    return m_code;
  }
  namespace hphp_impl_splitter {}
  /* SRC: classes/exception.php line 100 */
  Variant c_Exception::t_getfile() {
    INSTANCE_METHOD_INJECTION_BUILTIN(Exception, Exception::getFile);
    return m_file;
  }
  namespace hphp_impl_splitter {}
  /* SRC: classes/exception.php line 114 */
  Variant c_Exception::t_getline() {
    INSTANCE_METHOD_INJECTION_BUILTIN(Exception, Exception::getLine);
    return m_line;
  }
  namespace hphp_impl_splitter {}
  /* SRC: classes/exception.php line 127 */
  Variant c_Exception::t_gettrace() {
    INSTANCE_METHOD_INJECTION_BUILTIN(Exception, Exception::getTrace);
    return m_trace;
  }
  namespace hphp_impl_splitter {}
  /* SRC: classes/exception.php line 140 */
  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, true); !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;
  }
  namespace hphp_impl_splitter {}
  /* SRC: classes/exception.php line 159 */
  String c_Exception::t___tostring() {
    INSTANCE_METHOD_INJECTION_BUILTIN(Exception, Exception::__toString);
    {
      StringBuffer tmp0_buf;
      tmp0_buf.appendWithTaint("exception '", 11);
      tmp0_buf.appendWithTaint(toString(x_get_class(VarNR(GET_THIS_TYPED(Exception)))));
      tmp0_buf.appendWithTaint("' with message '", 16);
      tmp0_buf.appendWithTaint(toString(t_getmessage()));
      tmp0_buf.appendWithTaint("' in ", 5);
      tmp0_buf.appendWithTaint(toString(t_getfile()));
      tmp0_buf.appendWithTaint(":", 1);
      tmp0_buf.appendWithTaint(toString(t_getline()));
      tmp0_buf.appendWithTaint("\nStack trace:\n", 14);
      tmp0_buf.appendWithTaint(t_gettraceasstring());
      CStrRef tmp0(tmp0_buf.detachWithTaint());
      return tmp0;
    }
  }
  namespace hphp_impl_splitter {}
  /* SRC: classes/exception.php line 173 */
  IMPLEMENT_CLASS_NO_DEFAULT_SWEEP(LogicException)
  const InstanceOfInfo c_LogicException::s_instanceof_table[] = {
    {0x47D93E6F80B66A94LL,1,"Exception",&cw_Exception},
    {0x4860DC2F9B0E6D4BLL,1,"LogicException",&cw_LogicException},
  };
  const int c_LogicException::s_instanceof_index[] = {
    3,
    0,-1,-1,1,
  };
  const ObjectStaticCallbacks cw_LogicException = {
    (ObjectData*(*)(ObjectData*))coo_LogicException,
    c_LogicException::s_call_info_table,c_LogicException::s_call_info_index,
    c_LogicException::s_instanceof_table,c_LogicException::s_instanceof_index,
    &c_LogicException::s_class_name,
    &c_Exception::os_prop_table,&c_Exception::ci___construct,0,&cw_Exception,0x0
  };
  /* SRC: classes/exception.php line 219 */
  IMPLEMENT_CLASS_NO_DEFAULT_SWEEP(LengthException)
  const InstanceOfInfo c_LengthException::s_instanceof_table[] = {
    {0x3CAE91CFA2AAD16BLL,0,"LengthException",&cw_LengthException},
    {0x4860DC2F9B0E6D4BLL,1,"LogicException",&cw_LogicException},
    {0x47D93E6F80B66A94LL,1,"Exception",&cw_Exception},
  };
  const int c_LengthException::s_instanceof_index[] = {
    7,
    -1,-1,-1,0,2,-1,-1,-1,
  
  };
  const ObjectStaticCallbacks cw_LengthException = {
    (ObjectData*(*)(ObjectData*))coo_LengthException,
    c_LengthException::s_call_info_table,c_LengthException::s_call_info_index,
    c_LengthException::s_instanceof_table,c_LengthException::s_instanceof_index,
    &c_LengthException::s_class_name,
    &c_Exception::os_prop_table,&c_Exception::ci___construct,0,&cw_LogicException,0x0
  };
  /* SRC: classes/exception.php line 211 */
  IMPLEMENT_CLASS_NO_DEFAULT_SWEEP(InvalidArgumentException)
  const InstanceOfInfo c_InvalidArgumentException::s_instanceof_table[] = {
    {0x4860DC2F9B0E6D4BLL,1,"LogicException",&cw_LogicException},
    {0x47D93E6F80B66A94LL,1,"Exception",&cw_Exception},
    {0x085A4F6FD393D475LL,1,"InvalidArgumentException",&cw_InvalidArgumentException},
  };
  const int c_InvalidArgumentException::s_instanceof_index[] = {
    7,
    -1,-1,-1,0,1,2,-1,-1,
  
  };
  const ObjectStaticCallbacks cw_InvalidArgumentException = {
    (ObjectData*(*)(ObjectData*))coo_InvalidArgumentException,
    c_InvalidArgumentException::s_call_info_table,c_InvalidArgumentException::s_call_info_index,
    c_InvalidArgumentException::s_instanceof_table,c_InvalidArgumentException::s_instanceof_index,
    &c_InvalidArgumentException::s_class_name,
    &c_Exception::os_prop_table,&c_Exception::ci___construct,0,&cw_LogicException,0x0
  };
  /* SRC: classes/exception.php line 311 */
  IMPLEMENT_CLASS_NO_DEFAULT_SWEEP(DOMException)
  const InstanceOfInfo c_DOMException::s_instanceof_table[] = {
    {0x47D93E6F80B66A94LL,1,"Exception",&cw_Exception},
    {0x6A5B99D5B1A4566ALL,1,"DOMException",&cw_DOMException},
  };
  const int c_DOMException::s_instanceof_index[] = {
    3,
    0,-1,1,-1,
  };
  CallInfo c_DOMException::ci___construct((void*)&c_DOMException::i___construct, (void*)&c_DOMException::ifa___construct, 2, 4, 0x0000000000000000LL);
  Variant c_DOMException::i___construct(MethodCallPackage &mcp, CArrRef params) {
    return invoke_meth_few_handler(mcp, params, &ifa___construct);
  }
  Variant c_DOMException::ifa___construct(MethodCallPackage &mcp, int count, INVOKE_FEW_ARGS_IMPL_ARGS) {
    if (UNLIKELY(mcp.obj == 0)) {
      return ObjectData::ifa_dummy(mcp, count, INVOKE_FEW_ARGS_PASS_ARGS, ifa___construct, coo_DOMException);
    }
    c_DOMException *self ATTRIBUTE_UNUSED (static_cast<c_DOMException*>(mcp.obj));
    if (UNLIKELY(count != 2)) return throw_wrong_arguments("DOMException::__construct", count, 2, 2, 2);
    CVarRef arg0(a0);
    CVarRef arg1(a1);
    return (self->t___construct(arg0, arg1), null);
  }
  const MethodCallInfoTable c_DOMException::s_call_info_table[] = {
    { 0x0D31D0AC229C615FLL, 1, 11, "__construct", &c_DOMException::ci___construct },
    { 0, 1, 0, 0 }
  };
  const int c_DOMException::s_call_info_index[] = {
    1,
    -1,0,
  };
  c_DOMException *c_DOMException::create(CVarRef v_message, CVarRef v_code) {
    CountableHelper h(this);
    init();
    t___construct(v_message, v_code);
    return this;
  }
  const ObjectStaticCallbacks cw_DOMException = {
    (ObjectData*(*)(ObjectData*))coo_DOMException,
    c_DOMException::s_call_info_table,c_DOMException::s_call_info_index,
    c_DOMException::s_instanceof_table,c_DOMException::s_instanceof_index,
    &c_DOMException::s_class_name,
    &c_Exception::os_prop_table,&c_DOMException::ci___construct,0,&cw_Exception,0x0
  };
  /* SRC: classes/exception.php line 312 */
  void c_DOMException::t___construct(Variant v_message, Variant v_code) {
    INSTANCE_METHOD_INJECTION_BUILTIN(DOMException, DOMException::__construct);
    bool oldInCtor = gasInCtor(true);
    c_Exception::t___construct(v_message, v_code);
    gasInCtor(oldInCtor);
  }
  namespace hphp_impl_splitter {}
  /* SRC: classes/exception.php line 251 */
  IMPLEMENT_CLASS_NO_DEFAULT_SWEEP(OverflowException)
  const InstanceOfInfo c_OverflowException::s_instanceof_table[] = {
    {0x0E4CCE95F6A727D9LL,1,"OverflowException",&cw_OverflowException},
    {0x47D93E6F80B66A94LL,0,"Exception",&cw_Exception},
    {0x1078CB3118A8B3DCLL,1,"RuntimeException",&cw_RuntimeException},
  };
  const int c_OverflowException::s_instanceof_index[] = {
    7,
    -1,0,-1,-1,1,-1,-1,-1,
  
  };
  const ObjectStaticCallbacks cw_OverflowException = {
    (ObjectData*(*)(ObjectData*))coo_OverflowException,
    c_OverflowException::s_call_info_table,c_OverflowException::s_call_info_index,
    c_OverflowException::s_instanceof_table,c_OverflowException::s_instanceof_index,
    &c_OverflowException::s_class_name,
    &c_Exception::os_prop_table,&c_Exception::ci___construct,0,&cw_RuntimeException,0x0
  };
  /* SRC: classes/exception.php line 243 */
  IMPLEMENT_CLASS_NO_DEFAULT_SWEEP(OutOfBoundsException)
  const InstanceOfInfo c_OutOfBoundsException::s_instanceof_table[] = {
    {0x227C70ED5B143841LL,1,"OutOfBoundsException",&cw_OutOfBoundsException},
    {0x47D93E6F80B66A94LL,0,"Exception",&cw_Exception},
    {0x1078CB3118A8B3DCLL,1,"RuntimeException",&cw_RuntimeException},
  };
  const int c_OutOfBoundsException::s_instanceof_index[] = {
    7,
    -1,0,-1,-1,1,-1,-1,-1,
  
  };
  const ObjectStaticCallbacks cw_OutOfBoundsException = {
    (ObjectData*(*)(ObjectData*))coo_OutOfBoundsException,
    c_OutOfBoundsException::s_call_info_table,c_OutOfBoundsException::s_call_info_index,
    c_OutOfBoundsException::s_instanceof_table,c_OutOfBoundsException::s_instanceof_index,
    &c_OutOfBoundsException::s_class_name,
    &c_Exception::os_prop_table,&c_Exception::ci___construct,0,&cw_RuntimeException,0x0
  };
  ObjectData *coo_OutOfRangeException() {
    return NEWOBJ(c_OutOfRangeException)();
  }
  ObjectData *coo_RuntimeException() {
    return NEWOBJ(c_RuntimeException)();
  }
  ObjectData *coo_BadFunctionCallException() {
    return NEWOBJ(c_BadFunctionCallException)();
  }
  ObjectData *coo_DomainException() {
    return NEWOBJ(c_DomainException)();
  }
  ObjectData *coo_ErrorException() {
    return NEWOBJ(c_ErrorException)();
  }
  ObjectData *coo_BadMethodCallException() {
    return NEWOBJ(c_BadMethodCallException)();
  }
  ObjectData *coo_PDOException() {
    return NEWOBJ(c_PDOException)();
  }
  ObjectData *coo_RangeException() {
    return NEWOBJ(c_RangeException)();
  }
  ObjectData *coo_UnexpectedValueException() {
    return NEWOBJ(c_UnexpectedValueException)();
  }
  ObjectData *coo_UnderflowException() {
    return NEWOBJ(c_UnderflowException)();
  }
  ObjectData *coo_Exception() {
    return NEWOBJ(c_Exception)();
  }
  ObjectData *coo_LogicException() {
    return NEWOBJ(c_LogicException)();
  }
  ObjectData *coo_LengthException() {
    return NEWOBJ(c_LengthException)();
  }
  ObjectData *coo_InvalidArgumentException() {
    return NEWOBJ(c_InvalidArgumentException)();
  }
  ObjectData *coo_DOMException() {
    return NEWOBJ(c_DOMException)();
  }
  ObjectData *coo_OverflowException() {
    return NEWOBJ(c_OverflowException)();
  }
  ObjectData *coo_OutOfBoundsException() {
    return NEWOBJ(c_OutOfBoundsException)();
  }
  
  // Class tables
  static const int64 cpt_static_inits[] = {
    (int64)&null_variant,
    (int64)&NAMVAR(s_sys_svif01bca90, 0LL),
    (int64)&NAMVAR(s_sys_svs00000000, ""),
  };
  static const ClassPropTableEntry cpt_table_entries[] = {
    {0x4FDAA620FA5F15F9LL,0,0,0,66,10,GET_PROPERTY_OFFSET(c_ErrorException, m_severity),&NAMSTR(s_sys_ssb84c8cfa, "severity") },
  
    {0x0B197E8F85F4DA21LL,5,0,0,66,10,GET_PROPERTY_OFFSET(c_Exception, m_previous),&NAMSTR(s_sys_ss90291821, "previous") },
    {0x3CCB986B2CF0A747LL,0,0,0,66,10,GET_PROPERTY_OFFSET(c_Exception, m_trace),&NAMSTR(s_sys_ss94c9ce77, "trace") },
    {0x58C72230857ACDB9LL,-2,1,0,66,10,GET_PROPERTY_OFFSET(c_Exception, m_code),&NAMSTR(s_sys_ssab7a1dec, "code") },
    {0x04AB35CACF8C8C9ALL,-2,0,0,66,10,GET_PROPERTY_OFFSET(c_Exception, m_line),&NAMSTR(s_sys_ssddf8728c, "line") },
    {0x0247CDBB94C9D47BLL,-2,2,0,66,10,GET_PROPERTY_OFFSET(c_Exception, m_message),&NAMSTR(s_sys_ss155366df, "message") },
    {0x7863294A8F33D14FLL,-2,0,0,66,10,GET_PROPERTY_OFFSET(c_Exception, m_file),&NAMSTR(s_sys_ss8ce7db5b, "file") },
  
  };
  static const int cpt_hash_entries[] = {
    // ErrorException hash
    -1,0,-1,-1,-1,-1,-1,-1,
    // ErrorException lists
    -1,
    -1,
    -1,
    // Exception hash
    -1,0,-1,-1,-1,-1,-1,1,-1,2,3,4,-1,-1,-1,5,
    // Exception lists
    -1,
    -1,
    -1,
  };
  const ClassPropTable c_ErrorException::os_prop_table = {
    7,0,-1,-1,-1,-1,9,0,
    cpt_hash_entries+0,&c_Exception::os_prop_table,cpt_table_entries+0,cpt_static_inits
  };
  const ClassPropTable c_Exception::os_prop_table = {
    15,4,-1,-1,-1,-1,17,0,
    cpt_hash_entries+11,0,cpt_table_entries+1,cpt_static_inits
  };
  
  ///////////////////////////////////////////////////////////////////////////////
  }
  