/* DO NOT EDIT THIS FILE - it is machine generated (JCGO_116) */

#ifdef JCGO_SEPARATED
#define JCGO_116
#include "jcgortl.h"
#include "Main.h"
#endif

#ifdef JCGO_116

#ifdef CHKALL_java_lang_Throwable
#include "jcgobchk.h"
#endif

JCGO_NOSEP_INLINE void CFASTCALL
java_lang_Throwable__void( java_lang_Throwable This )
{
 JCGO_FIELD_NZACCESS(This, cause)= This;
}

JCGO_NOSEP_INLINE java_lang_Throwable CFASTCALL
java_lang_Throwable__fillInStackTrace__( java_lang_Throwable This
 )
{
 {
  JCGO_FIELD_NZACCESS(This, vmState)= (java_lang_VMThrowable__fillInStackTrace__Lt(
   This));
  JCGO_FIELD_NZACCESS(This, stackTrace)= (jObjectArr)jnull;
  return This;
 }
}

JCGO_NOSEP_STATIC java_lang_Throwable CFASTCALL
java_lang_Throwable__this__Ls( java_lang_Throwable This, java_lang_String
 message )
{
 {
  ;
  java_lang_Throwable__void(This);
  (java_lang_Throwable__fillInStackTrace__(
   This));
  JCGO_FIELD_NZACCESS(This, detailMessage)= message;
 }
 return This;
}

JCGO_NOSEP_STATIC java_lang_Throwable CFASTCALL
java_lang_Throwable__this__LsLt( java_lang_Throwable This, java_lang_String
 message, java_lang_Throwable cause )
{
 {
  (java_lang_Throwable__this__Ls((java_lang_Throwable)This, message));
  JCGO_FIELD_NZACCESS(This, cause)= cause;
 }
 return This;
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_Throwable__getLocalizedMessage__( java_lang_Throwable This
 )
{
 {
  return (JCGO_CALL_NZVFUNC(This)->getMessage__(
   This));
 }
}

JCGO_NOSEP_FRWINL java_lang_String CFASTCALL
java_lang_Throwable__getMessage__( java_lang_Throwable This )
{
 {
  return JCGO_FIELD_NZACCESS(This, detailMessage);
 }
}

JCGO_NOSEP_INLINE java_lang_Throwable CFASTCALL
java_lang_Throwable__getCause__( java_lang_Throwable This )
{
 {
  return JCGO_FIELD_NZACCESS(This, cause) == This? jnull : JCGO_FIELD_NZACCESS(This,
   cause);
 }
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_Throwable__stackTraceString__( java_lang_Throwable This
 )
{
 {
  java_lang_StringBuilder sb;
  jObjectArr stack;
  java_lang_Throwable cause;
  struct java_lang_StringBuilder_s jcgo_stackobj1;
  sb= java_lang_StringBuilder__this__(
   JCGO_STACKOBJ_NEW(jcgo_stackobj1, java_lang_StringBuilder_methods));
  stack= (java_lang_Throwable__getStackTrace__(
   This));
  (java_lang_Throwable__stackTraceStringBuilder__L5dy9eLsL3qagzAI(
   sb, (java_lang_Throwable__toString__(
   This)), stack, 0));
  cause= (JCGO_CALL_NZVFUNC(This)->getCause__(
   This));
  while (cause != jnull)
  {
   jObjectArr parentStack;
   (java_lang_StringBuilder__append__Ls(
    sb, JCGO_STRREF_OF(jcgo_string2_Thrwbl)));
   parentStack= stack;
   stack= (java_lang_Throwable__getStackTrace__(
    cause));
   if (parentStack == jnull || JCGO_ARRAY_NZLENGTH(parentStack) ==
    0)
   {
    (java_lang_Throwable__stackTraceStringBuilder__L5dy9eLsL3qagzAI(
     sb, (java_lang_Throwable__toString__(
     cause)), stack, 0));
   }
   else
   {
    jint equal;
    jint frame;
    jint parentFrame;
    equal= 0;
    frame= JCGO_ARRAY_LENGTH(stack) - (jint)1;
    parentFrame= JCGO_ARRAY_NZLENGTH(parentStack) - (jint)1;
    while (frame > 0 && parentFrame > 0)
    {
     jObject jcgo_rcvrL1;
     if ((jcgo_rcvrL1= (jObject)((java_lang_StackTraceElement)JCGO_ARRAY_NZLACCESS(stack,
      frame)), JCGO_CALL_FINALF((java_lang_StackTraceElement)jcgo_rcvrL1)
      java_lang_StackTraceElement__equals__Lo(
      (java_lang_StackTraceElement)jcgo_rcvrL1, (java_lang_Object)((java_lang_StackTraceElement)JCGO_ARRAY_NZLACCESS(parentStack,
      parentFrame)))))
     {
      equal++;
      frame--;
      parentFrame--;
     }
     else
     {
      break;
     }
    }
    (java_lang_Throwable__stackTraceStringBuilder__L5dy9eLsL3qagzAI(
     sb, (java_lang_Throwable__toString__(
     cause)), stack, equal));
   }
   cause= (JCGO_CALL_NZVFUNC(cause)->getCause__(
    cause));
  }
  return (java_lang_StringBuilder__toString__(
   sb));
 }
}

JCGO_NOSEP_INLINE java_lang_Throwable CFASTCALL
java_lang_Throwable__this__( java_lang_Throwable This )
{
 {
  (java_lang_Throwable__this__Ls((java_lang_Throwable)This, (java_lang_String)jnull));
 }
 return This;
}

JCGO_NOSEP_INLINE java_lang_Throwable CFASTCALL
java_lang_Throwable__new__( void )
{
 return java_lang_Throwable__this__(
  (java_lang_Throwable)jcgo_newObject((jvtable)&java_lang_Throwable_methods));
}

JCGO_NOSEP_INLINE java_lang_Throwable CFASTCALL
java_lang_Throwable__this__Lt( java_lang_Throwable This, java_lang_Throwable
 cause )
{
 {
  (java_lang_Throwable__this__LsLt((java_lang_Throwable)This, cause ==
   jnull? jnull : (java_lang_Throwable__toString__(
   cause)), cause));
 }
 return This;
}

JCGO_NOSEP_STATIC java_lang_Throwable CFASTCALL
java_lang_Throwable__initCause__Lt( java_lang_Throwable This, java_lang_Throwable
 cause )
{
 {
  if (cause == This)
  {
   JCGO_THROW_EXC(java_lang_IllegalArgumentException__new__());
  }
  if (JCGO_FIELD_NZACCESS(This, cause) != This)
  {
   JCGO_THROW_EXC(java_lang_IllegalStateException__new__());
  }
  JCGO_FIELD_NZACCESS(This, cause)= cause;
  return This;
 }
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_Throwable__toString__( java_lang_Throwable This )
{
 {
  java_lang_String msg;
  jObject jcgo_rcvrL1;
  msg= (java_lang_Throwable__getLocalizedMessage__(
   This));
  return java_lang_VMSystem__concat0X__LsLs(
   (jcgo_rcvrL1= (jObject)(java_lang_Object__getClass__(
   (java_lang_Object)This)), JCGO_CALL_FINALF((java_lang_Class)jcgo_rcvrL1)
   java_lang_Class__getName__(
   (java_lang_Class)jcgo_rcvrL1)), (msg == jnull? JCGO_STRREF_OF(jcgo_string3_String6D) :
   java_lang_VMSystem__concat0X__LsLs(
   JCGO_STRREF_OF(jcgo_string312_Mdclnt), msg)));
 }
}

JCGO_NOSEP_FRWINL void CFASTCALL
java_lang_Throwable__printStackTrace__( java_lang_Throwable This )
{
 {
  (java_lang_Throwable__printStackTrace__L18p1o(
   This, JCGO_CLINIT_VARACC(java_lang_System__class, java_lang_System__err)));
 }
}

JCGO_NOSEP_STATIC void CFASTCALL
java_lang_Throwable__printStackTrace__L18p1o( java_lang_Throwable
 This, java_io_PrintStream s )
{
 {
  java_lang_String str;
  jint pos;
  jint next;
  str= (java_lang_Throwable__stackTraceString__(
   This));
  pos= 0;
  {
   JCGO_SYNC_BLOCK(s)
   {
    while ((next= (java_lang_String__indexOf__II(
     str, (jchar)10, pos))) >= 0)
    {
     (java_io_PrintStream__println__Ls(
      s, (java_lang_String__substring__II(
      str, pos, next))));
     pos= next + (jint)1;
    }
   }
   JCGO_SYNC_END
  }
 }
}

JCGO_NOSEP_STATIC void CFASTCALL
java_lang_Throwable__stackTraceStringBuilder__L5dy9eLsL3qagzAI( java_lang_StringBuilder
 sb, java_lang_String name, jObjectArr stack, jint equal )
{
 {
  (JCGO_CALL_FINALF(sb) java_lang_StringBuilder__append__Ls(
   sb, name));
  (java_lang_StringBuilder__append__C(
   sb, (jchar)10));
  if (stack == jnull || JCGO_ARRAY_NZLENGTH(stack) == 0)
  {
   (java_lang_StringBuilder__append__Ls(
    sb, JCGO_STRREF_OF(jcgo_string3_Thrwbl)));
   (java_lang_StringBuilder__append__C(
    sb, (jchar)10));
  }
  else
  {
   {
    jint i;
    i= 0;
    for (; i < JCGO_ARRAY_NZLENGTH(stack) - equal; i++)
    {
     jObject jcgo_rcvrL1;
     struct java_lang_String_s jcgo_stackobj1;
     (java_lang_StringBuilder__append__Ls(
      sb, JCGO_STRREF_OF(jcgo_string4_Thrwbl)));
     (java_lang_StringBuilder__append__Ls(
      sb, ((java_lang_StackTraceElement)JCGO_ARRAY_NZLACCESS(stack,
      i)) == jnull? JCGO_STRREF_OF(jcgo_string5_Thrwbl) : (jcgo_rcvrL1=
      (jObject)((java_lang_StackTraceElement)JCGO_ARRAY_NZLACCESS(stack,
      i)), JCGO_CALL_FINALF((java_lang_StackTraceElement)jcgo_rcvrL1)
      java_lang_StackTraceElement__toString__X(
      (java_lang_StackTraceElement)jcgo_rcvrL1, JCGO_STACKOBJ_NEW(jcgo_stackobj1,
      java_lang_String_methods)))));
     (java_lang_StringBuilder__append__C(
      sb, (jchar)10));
    }
   }
   if (equal > 0)
   {
    (java_lang_StringBuilder__append__Ls(
     sb, JCGO_STRREF_OF(jcgo_string6_Thrwbl)));
    (java_lang_StringBuilder__append__I(
     sb, equal));
    (java_lang_StringBuilder__append__Ls(
     sb, JCGO_STRREF_OF(jcgo_string7_Thrwbl)));
    (java_lang_StringBuilder__append__C(
     sb, (jchar)10));
   }
  }
 }
}

JCGO_NOSEP_STATIC jObjectArr CFASTCALL
java_lang_Throwable__getStackTrace__( java_lang_Throwable This )
{
 {
  if (JCGO_FIELD_NZACCESS(This, stackTrace) == jnull)
  {
   if (JCGO_FIELD_NZACCESS(This, vmState) == jnull)
   {
    JCGO_FIELD_NZACCESS(This, stackTrace)= (jObjectArr)jcgo_newArray(JCGO_CLASSREF_OF(java_lang_StackTraceElement__class),
     0, 0);
   }
   else
   {
    jObject jcgo_rcvrL1;
    JCGO_FIELD_NZACCESS(This, stackTrace)= (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This,
     vmState), JCGO_CALL_FINALF((java_lang_VMThrowable)jcgo_rcvrL1)
     java_lang_VMThrowable__getStackTrace__Lt(
     (java_lang_VMThrowable)jcgo_rcvrL1, This));
    JCGO_FIELD_NZACCESS(This, vmState)= (java_lang_VMThrowable)jnull;
   }
  }
  return JCGO_FIELD_NZACCESS(This, stackTrace);
 }
}

JCGO_NOSEP_DATA CONST struct java_lang_Throwable_methods_s java_lang_Throwable_methods=
{
 JCGO_CLASSREF_OF(java_lang_Throwable__class),
 JCGO_GCJDESCR_ZEROINIT
 OBJT_java_lang_Throwable,
 (JCGO_OBJSIZE_T)sizeof(struct java_lang_Throwable_s),
 NULL,
 JCGO_CLINIT_INIT(0)
 java_lang_Throwable__this__,
 java_lang_Object__equals__Lo,
 java_lang_Object__hashCode__,
 java_lang_Throwable__toString__,
 java_lang_Object__finalize__,
 java_lang_Throwable__getMessage__,
 java_lang_Throwable__getCause__
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_Throwable_class_s
 java_lang_Throwable__class JCGO_THRD_ATTRNONGC=
{
 {
  &java_lang_Class_methods,
  JCGO_MON_INIT
  JCGO_OBJREF_OF(*(java_lang_Object)&java_lang_Throwable_methods),
  JCGO_STRREF_OF(jcgo_string1_Thrwbl),
  JCGO_CLASSREF_OF(java_lang_Object__class),
  ((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Object)),
  0x1
 }
};

JCGO_NOSEP_DATA CONST jcgo_arrtype42_GameShll jcgo_array8_Thrwbl=
{
 (jvtable)&jbyteArr_methods,
 JCGO_MON_INIT
 19,
 {
  (jbyte)(jchar)106/*'j'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)118/*'v'*/,
   (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)108/*'l'*/,
   (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)103/*'g'*/,
   (jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)84/*'T'*/, (jbyte)(jchar)104/*'h'*/,
   (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)119/*'w'*/,
   (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)98/*'b'*/, (jbyte)(jchar)108/*'l'*/,
   (jbyte)(jchar)101/*'e'*/
 }
};

JCGO_NOSEP_DATA CONST jcgo_arrtype28_Object jcgo_array9_Thrwbl=
{
 (jvtable)&jbyteArr_methods,
 JCGO_MON_INIT
 11,
 {
  (jbyte)(jchar)67/*'C'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)117/*'u'*/,
   (jbyte)(jchar)115/*'s'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)100/*'d'*/,
   (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)98/*'b'*/, (jbyte)(jchar)121/*'y'*/,
   (jbyte)(jchar)58/*':'*/, (jbyte)(jchar)32/*' '*/
 }
};

JCGO_NOSEP_DATA CONST jcgo_arrtype77_GmCnnctn jcgo_array10_Thrwbl=
{
 (jvtable)&jbyteArr_methods,
 JCGO_MON_INIT
 30,
 {
  (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)32/*' '*/,
   (jbyte)(jchar)60/*'<'*/, (jbyte)(jchar)60/*'<'*/, (jbyte)(jchar)78/*'N'*/,
   (jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)115/*'s'*/,
   (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)99/*'c'*/,
   (jbyte)(jchar)107/*'k'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)114/*'r'*/,
   (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)101/*'e'*/,
   (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)118/*'v'*/,
   (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)108/*'l'*/,
   (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)98/*'b'*/, (jbyte)(jchar)108/*'l'*/,
   (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)62/*'>'*/, (jbyte)(jchar)62/*'>'*/
 }
};

JCGO_NOSEP_DATA CONST jcgo_arrtype2_BZLib jcgo_array11_Thrwbl=
{
 (jvtable)&jbyteArr_methods,
 JCGO_MON_INIT
 6,
 {
  (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)32/*' '*/,
   (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)32/*' '*/
 }
};

JCGO_NOSEP_DATA CONST jcgo_arrtype28_Object jcgo_array12_Thrwbl=
{
 (jvtable)&jbyteArr_methods,
 JCGO_MON_INIT
 11,
 {
  (jbyte)(jchar)60/*'<'*/, (jbyte)(jchar)60/*'<'*/, (jbyte)(jchar)85/*'U'*/,
   (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)107/*'k'*/, (jbyte)(jchar)110/*'n'*/,
   (jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)119/*'w'*/, (jbyte)(jchar)110/*'n'*/,
   (jbyte)(jchar)62/*'>'*/, (jbyte)(jchar)62/*'>'*/
 }
};

JCGO_NOSEP_DATA CONST jcgo_arrtype2_BZLib jcgo_array13_Thrwbl=
{
 (jvtable)&jbyteArr_methods,
 JCGO_MON_INIT
 6,
 {
  (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)32/*' '*/,
   (jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)46/*'.'*/
 }
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string1_Thrwbl
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array8_Thrwbl),
 0, 19, (jint)0x612cf26cL
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string2_Thrwbl
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array9_Thrwbl),
 0, 11, (jint)0x8087d182L
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string3_Thrwbl
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array10_Thrwbl),
 0, 30, (jint)0xe19169e5L
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string4_Thrwbl
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array11_Thrwbl),
 0, 6, (jint)0x386e0a2dL
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string5_Thrwbl
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array12_Thrwbl),
 0, 11, (jint)0xe28e51eaL
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string6_Thrwbl
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array13_Thrwbl),
 0, 6, (jint)0x386d424eL
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string7_Thrwbl
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array668_Mdclnt),
 28, 5, (jint)0x1f62b75L
};

#ifdef CHKALL_java_lang_Throwable
#include "jcgochke.h"
#endif

#endif
