/* 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_Integer
#include "jcgobchk.h"
#endif

JCGO_NOSEP_INLINE java_lang_NumberFormatException CFASTCALL
java_lang_Integer__numberFormatExceptionForInputString__Ls( java_lang_String
 str )
{
 {
  struct java_lang_StringBuilder_s jcgo_stackobj1;
  return (java_lang_NumberFormatException__new__Ls(
   java_lang_String__new__L5dy9e(
   java_lang_StringBuilder__append__Ls(
   java_lang_StringBuilder__append__Ls(
   java_lang_StringBuilder__append__Ls(
   java_lang_StringBuilder__this__(
   JCGO_STACKOBJ_NEW(jcgo_stackobj1, java_lang_StringBuilder_methods)),
   JCGO_STRREF_OF(jcgo_string2_Long)), str), JCGO_STRREF_OF(jcgo_string3_Long)))));
 }
}

JCGO_NOSEP_STATIC java_lang_Integer CFASTCALL
java_lang_Integer__this__I( java_lang_Integer This, jint value )
{
 {
  (java_lang_Number__this__((java_lang_Number)This));
  JCGO_FIELD_NZACCESS(This, value)= value;
 }
 return This;
}

JCGO_NOSEP_INLINE java_lang_Integer CFASTCALL
java_lang_Integer__new__I( jint value )
{
 return java_lang_Integer__this__I(
  (java_lang_Integer)jcgo_newObject((jvtable)&java_lang_Integer_methods),
  value);
}

JCGO_NOSEP_INLINE java_lang_Integer CFASTCALL
java_lang_Integer__decode__Ls( java_lang_String str )
{
 {
  if (str == jnull)
  {
   JCGO_THROW_EXC(java_lang_NullPointerException__new__());
  }
  return (java_lang_Integer__new__I(
   (java_lang_Integer__parseInt__LsIZ(
   str, (jint)10, (jboolean)jtrue))));
 }
}

JCGO_NOSEP_INLINE java_lang_Integer CFASTCALL
java_lang_Integer__getInteger__LsL37kke( java_lang_String nm, java_lang_Integer
 def )
{
 {
  if (nm == jnull || (java_lang_String__equals__Lo(
   JCGO_STRREF_OF(jcgo_string3_String6D), (java_lang_Object)nm)))
  {
   return def;
  }
  nm= (java_lang_System__getProperty__Ls(
   nm));
  if (nm == jnull)
  {
   return def;
  }
  {
   JCGO_TRY_BLOCK
   {
    {
     java_lang_Integer jcgo_retval= (java_lang_Integer__decode__Ls(
      nm));
#ifndef JCGO_SEHTRY
     jcgo_tryLeave();
#endif
     return jcgo_retval;
    }
   }
   JCGO_TRY_LEAVE
   JCGO_TRY_CATCHES(1)
   JCGO_TRY_CATCH(OBJT_java_lang_NumberFormatException, MAXT_java_lang_NumberFormatException)
   {
    return def;
   }
   JCGO_TRY_RETHROW(1)
  }
 }
 return jnull;
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_Integer__toString__IIX( jint num, jint radix, java_lang_String
 jcgo_stackparam )
{
 {
  jcharArr buffer;
  jint i;
  jboolean isNeg;
  if (radix < java_lang_Character__MIN_RADIX || radix > java_lang_Character__MAX_RADIX)
  {
   radix= (jint)10;
  }
  buffer= (jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar), 0,
   java_lang_Integer__SIZE + (jint)1);
  i= java_lang_Integer__SIZE + (jint)1;
  isNeg= jfalse;
  if (num < 0)
  {
   isNeg= (jboolean)jtrue;
   num= (-num);
   if (num < 0)
   {
    jObject jcgo_rcvrL1;
    jint jcgo_rcvrI1;
    jchar jcgo_rcvrC1;
    (jcgo_rcvrL1= (jObject)buffer, jcgo_rcvrI1= --i, jcgo_rcvrC1= JCGO_ARRAY_NZCACCESS(java_lang_Number__digits,
     (jint)(jcgo_mod((-(num + radix)), radix))), JCGO_ARRAY_NZCACCESS((jcharArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrC1);
    num= (-(jcgo_div(num, radix)));
   }
  }
  do
  {
   jObject jcgo_rcvrL1;
   jint jcgo_rcvrI1;
   jchar jcgo_rcvrC1;
   (jcgo_rcvrL1= (jObject)buffer, jcgo_rcvrI1= --i, jcgo_rcvrC1= JCGO_ARRAY_NZCACCESS(java_lang_Number__digits,
    jcgo_mod(num, radix)), JCGO_ARRAY_NZCACCESS((jcharArr)jcgo_rcvrL1,
    jcgo_rcvrI1)= jcgo_rcvrC1);
   num= jcgo_div(num, radix);
  }
   while (num > 0);
  if (isNeg)
  {
   JCGO_ARRAY_NZCACCESS(buffer, --i)= (jchar)45/*'-'*/;
  }
  return (java_lang_String__this__CAIIZ(
   jcgo_stackparam, buffer, i, (java_lang_Integer__SIZE + (jint)1) -
   i, (jboolean)jtrue));
 }
}

JCGO_NOSEP_FRWINL java_lang_String CFASTCALL
java_lang_Integer__toString__II( jint num, jint radix )
{
 return java_lang_Integer__toString__IIX(
  num, radix, (java_lang_String)jcgo_newObject((jvtable)&java_lang_String_methods));
}

JCGO_NOSEP_FRWINL java_lang_String CFASTCALL
java_lang_Integer__toHexString__IX( jint i, java_lang_String jcgo_stackparam
 )
{
 {
  return (java_lang_Integer__toUnsignedString__IIX(
   i, (jint)4, jcgo_stackparam));
 }
}

JCGO_NOSEP_FRWINL java_lang_String CFASTCALL
java_lang_Integer__toHexString__I( jint i )
{
 return java_lang_Integer__toHexString__IX(
  i, (java_lang_String)jcgo_newObject((jvtable)&java_lang_String_methods));
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_Integer__toOctalString__IX( jint i, java_lang_String jcgo_stackparam
 )
{
 {
  return (java_lang_Integer__toUnsignedString__IIX(
   i, (jint)3, jcgo_stackparam));
 }
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_Integer__toOctalString__I( jint i )
{
 return java_lang_Integer__toOctalString__IX(
  i, (java_lang_String)jcgo_newObject((jvtable)&java_lang_String_methods));
}

JCGO_NOSEP_FRWINL jint CFASTCALL
java_lang_Integer__parseInt__Ls( java_lang_String s )
{
 {
  return (java_lang_Integer__parseInt__LsIZ(
   s, (jint)10, (jboolean)jfalse));
 }
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_Integer__intValue__( java_lang_Integer This )
{
 {
  return JCGO_FIELD_NZACCESS(This, value);
 }
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_Integer__toString__( java_lang_Integer This )
{
 {
  return (java_lang_String__valueOf__I(
   JCGO_FIELD_NZACCESS(This, value)));
 }
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_Integer__hashCode__( java_lang_Integer This )
{
 {
  return JCGO_FIELD_NZACCESS(This, value);
 }
}

JCGO_NOSEP_INLINE jboolean CFASTCALL
java_lang_Integer__equals__Lo( java_lang_Integer This, java_lang_Object
 obj )
{
 {
  return (jboolean)(jcgo_instanceOf0(OBJT_java_lang_Integer, MAXT_java_lang_Integer,
   (jObject)obj) && JCGO_FIELD_NZACCESS(This, value) == JCGO_FIELD_NZACCESS(((java_lang_Integer)obj),
   value));
 }
}

JCGO_NOSEP_INLINE java_lang_Integer CFASTCALL
java_lang_Integer__getInteger__LsI( java_lang_String nm, jint val
 )
{
 {
  java_lang_Integer result;
  result= (java_lang_Integer__getInteger__LsL37kke(
   nm, (java_lang_Integer)jnull));
  return result == jnull? (java_lang_Integer__new__I(
   val)) : result;
 }
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_Integer__toUnsignedString__IIX( jint num, jint exp, java_lang_String
 jcgo_stackparam )
{
 {
  jcharArr buffer;
  jint mask;
  jint i;
  mask= JCGO_SHL_F((jint)1, exp) - (jint)1;
  buffer= (jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar), 0,
   java_lang_Integer__SIZE);
  i= java_lang_Integer__SIZE;
  do
  {
   jObject jcgo_rcvrL1;
   jint jcgo_rcvrI1;
   jchar jcgo_rcvrC1;
   (jcgo_rcvrL1= (jObject)buffer, jcgo_rcvrI1= --i, jcgo_rcvrC1= JCGO_ARRAY_NZCACCESS(java_lang_Number__digits,
    num & mask), JCGO_ARRAY_NZCACCESS((jcharArr)jcgo_rcvrL1, jcgo_rcvrI1)=
    jcgo_rcvrC1);
   num= JCGO_USHR_F(num, exp);
  }
   while (num != 0);
  return (java_lang_String__this__CAIIZ(
   jcgo_stackparam, buffer, i, java_lang_Integer__SIZE - i, (jboolean)jtrue));
 }
}

JCGO_NOSEP_FRWINL java_lang_String CFASTCALL
java_lang_Integer__toUnsignedString__II( jint num, jint exp )
{
 return java_lang_Integer__toUnsignedString__IIX(
  num, exp, (java_lang_String)jcgo_newObject((jvtable)&java_lang_String_methods));
}

JCGO_NOSEP_STATIC jint CFASTCALL
java_lang_Integer__parseInt__LsIZ( java_lang_String str, jint radix,
 jboolean decode )
{
 {
  jint index;
  jint len;
  jint ch;
  jint max_7e1;
  jint val;
  jboolean isNeg;
  if (!decode && str == jnull)
  {
   JCGO_THROW_EXC((java_lang_NumberFormatException__new__Ls(
    JCGO_STRREF_OF(jcgo_string5_String6D))));
  }
  index= 0;
  len= (JCGO_CALL_FINALF(str) java_lang_String__length__(
   str));
  isNeg= jfalse;
  if (len == 0)
  {
   JCGO_THROW_EXC((java_lang_Integer__numberFormatExceptionForInputString__Ls(
    str)));
  }
  ch= (jint)(java_lang_String__charAt__I(
   str, index));
  if (ch == (jint)(jchar)45/*'-'*/)
  {
   if (len == (jint)1)
   {
    JCGO_THROW_EXC((java_lang_Integer__numberFormatExceptionForInputString__Ls(
     str)));
   }
   isNeg= (jboolean)jtrue;
   ch= (jint)(java_lang_String__charAt__I(
    str, ++index));
  }
  else
  {
   if (ch == (jint)(jchar)43/*'+'*/)
   {
    if (len == (jint)1)
    {
     JCGO_THROW_EXC((java_lang_Integer__numberFormatExceptionForInputString__Ls(
      str)));
    }
    ch= (jint)(java_lang_String__charAt__I(
     str, ++index));
   }
  }
  if (decode)
  {
   if (ch == (jint)(jchar)48/*'0'*/)
   {
    if (++index == len)
    {
     return 0;
    }
    if (((java_lang_String__charAt__I(
     str, index)) & ~((jint)(jchar)120/*'x'*/ ^ (jchar)88/*'X'*/)) ==
     (jint)(jchar)88/*'X'*/)
    {
     radix= (jint)16;
     index++;
    }
    else
    {
     radix= (jint)8;
    }
   }
   else
   {
    if (ch == (jint)(jchar)35/*'#'*/)
    {
     radix= (jint)16;
     index++;
    }
   }
  }
  if (index == len)
  {
   JCGO_THROW_EXC((java_lang_Integer__numberFormatExceptionForInputString__Ls(
    str)));
  }
  max_7e1= jcgo_div(java_lang_Integer__MAX_VALUE, radix);
  if (isNeg && jcgo_mod(java_lang_Integer__MAX_VALUE, radix) == radix -
   (jint)1)
  {
   ++max_7e1;
  }
  val= 0;
  while (index < len)
  {
   jchar jcgo_rcvrC1;
   if (val < 0 || val > max_7e1)
   {
    JCGO_THROW_EXC((java_lang_Integer__numberFormatExceptionForInputString__Ls(
     str)));
   }
   ch= (jcgo_rcvrC1= (java_lang_String__charAt__I(
    str, index++)), java_lang_Character__digit__CI(
    radix, jcgo_rcvrC1));
   val= val * radix + ch;
   if (ch < 0 || (val < 0 && (!isNeg || val != java_lang_Integer__MIN_VALUE)))
   {
    JCGO_THROW_EXC((java_lang_Integer__numberFormatExceptionForInputString__Ls(
     str)));
   }
  }
  return isNeg? (-val) : val;
 }
}

JCGO_NOSEP_DATA CONST struct java_lang_Integer_methods_s java_lang_Integer_methods=
{
 JCGO_CLASSREF_OF(java_lang_Integer__class),
 JCGO_GCJDESCR_ZEROINIT
 OBJT_java_lang_Integer,
 -(JCGO_OBJSIZE_T)sizeof(struct java_lang_Integer_s),
 NULL,
 JCGO_CLINIT_INIT(0)
 0,
 java_lang_Integer__equals__Lo,
 java_lang_Integer__hashCode__,
 java_lang_Integer__toString__,
 java_lang_Object__finalize__
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_Integer_class_s
 java_lang_Integer__class JCGO_THRD_ATTRNONGC=
{
 {
  &java_lang_Class_methods,
  JCGO_MON_INIT
  JCGO_OBJREF_OF(*(java_lang_Object)&java_lang_Integer_methods),
  JCGO_STRREF_OF(jcgo_string1_Integer),
  JCGO_CLASSREF_OF(java_lang_Number__class),
  ((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Object)),
  0x111
 }
};

JCGO_NOSEP_DATA CONST jcgo_arrtype492_Mdclnt jcgo_array2_Integer=
{
 (jvtable)&jbyteArr_methods,
 JCGO_MON_INIT
 17,
 {
  (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)73/*'I'*/, (jbyte)(jchar)110/*'n'*/,
   (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)103/*'g'*/,
   (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)114/*'r'*/
 }
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string1_Integer
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array2_Integer),
 0, 17, (jint)0x8567756aL
};

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

#endif
