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

JCGO_NOSEP_INLINE java_nio_charset_spi_CharsetProvider CFASTCALL
java_nio_charset_Charset__provider__( void )
{
 {
  return (java_nio_charset_spi_CharsetProvider)(gnu_java_nio_charset_Provider__provider__());
 }
}

JCGO_NOSEP_INLINE jObjectArr CFASTCALL
java_nio_charset_Charset__providers2__( void )
{
 {
  if (java_nio_charset_Charset__providers == jnull)
  {
   {
    JCGO_TRY_BLOCK
    {
     java_nio_charset_Charset__providers= (jObjectArr)jcgo_newArray(JCGO_CLASSREF_OF(java_nio_charset_spi_CharsetProvider__class),
      0, 0);
    }
    JCGO_TRY_LEAVE
    JCGO_TRY_CATCHES(1)
    JCGO_TRY_CATCH(OBJT_java_lang_Exception, MAXT_java_lang_Exception)
    {
     java_lang_Exception e;
     e= (java_lang_Exception)JCGO_TRY_THROWABLE(0);
     JCGO_THROW_EXC((java_lang_RuntimeException__new__Lt(
      (java_lang_Throwable)e)));
    }
    JCGO_TRY_RETHROW(1)
   }
  }
  return java_nio_charset_Charset__providers;
 }
}

JCGO_NOSEP_STATIC java_nio_charset_Charset CFASTCALL
java_nio_charset_Charset__this__LsLsA( java_nio_charset_Charset This,
 java_lang_String canonicalName, jObjectArr aliases )
{
 {
  ;
  (java_nio_charset_Charset__checkName__Ls(
   canonicalName));
  if (aliases != jnull)
  {
   jint n;
   n= JCGO_ARRAY_NZLENGTH(aliases);
   {
    jint i;
    i= 0;
    for (; i < n; ++i)
    {
     (java_nio_charset_Charset__checkName__Ls(
      ((java_lang_String)JCGO_ARRAY_NZLACCESS(aliases, i))));
    }
   }
  }
  (void)jnull;
  (void)jnull;
  JCGO_FIELD_NZACCESS(This, canonicalName)= canonicalName;
  JCGO_FIELD_NZACCESS(This, aliases)= aliases;
 }
 return This;
}

JCGO_NOSEP_STATIC void CFASTCALL
java_nio_charset_Charset__checkName__Ls( java_lang_String name )
{
 {
  jint n;
  jchar ch;
  n= (JCGO_CALL_FINALF(name) java_lang_String__length__(
   name));
  if (n == 0)
  {
   JCGO_THROW_EXC((java_nio_charset_IllegalCharsetNameException__new__Ls(
    name)));
  }
  ch= (java_lang_String__charAt__I(
   name, 0));
  if (!(((jchar)65/*'A'*/ <= ch && ch <= (jchar)90/*'Z'*/) || ((jchar)97/*'a'*/ <=
   ch && ch <= (jchar)122/*'z'*/) || ((jchar)48/*'0'*/ <= ch && ch <=
   (jchar)57/*'9'*/)))
  {
   JCGO_THROW_EXC((java_nio_charset_IllegalCharsetNameException__new__Ls(
    name)));
  }
  {
   jint i;
   i= (jint)1;
   for (; i < n; ++i)
   {
    ch= (java_lang_String__charAt__I(
     name, i));
    if (!(((jchar)65/*'A'*/ <= ch && ch <= (jchar)90/*'Z'*/) || ((jchar)97/*'a'*/ <=
     ch && ch <= (jchar)122/*'z'*/) || ((jchar)48/*'0'*/ <= ch && ch <=
     (jchar)57/*'9'*/) || ch == (jchar)45/*'-'*/ || ch == (jchar)46/*'.'*/ ||
     ch == (jchar)58/*':'*/ || ch == (jchar)95/*'_'*/))
    {
     JCGO_THROW_EXC((java_nio_charset_IllegalCharsetNameException__new__Ls(
      name)));
    }
   }
  }
 }
}

JCGO_NOSEP_STATIC java_nio_charset_Charset CFASTCALL
java_nio_charset_Charset__forName__Ls( java_lang_String charsetName
 )
{
 {
  java_nio_charset_Charset cs;
  if (charsetName == jnull)
  {
   JCGO_THROW_EXC((java_lang_IllegalArgumentException__new__Ls(
    JCGO_STRREF_OF(jcgo_string2_Charset))));
  }
  cs= (java_nio_charset_Charset__charsetForName__Ls(
   charsetName));
  if (cs == jnull)
  {
   if (!(java_lang_String__equals__Lo(
    charsetName, (java_lang_Object)JCGO_STRREF_OF(jcgo_string2_EncdngHl))) &&
    !(java_lang_String__equals__Lo(
    charsetName, (java_lang_Object)JCGO_STRREF_OF(jcgo_string2_VMSystem))) &&
    (gnu_classpath_SystemProperties__getProperty__Ls(
    JCGO_STRREF_OF(jcgo_string4_String6D))) == charsetName)
   {
    charsetName= JCGO_STRREF_OF(jcgo_string2_VMSystem);
    (gnu_classpath_SystemProperties__setProperty__LsLs(
     JCGO_STRREF_OF(jcgo_string4_String6D), charsetName));
    cs= (java_nio_charset_Charset__charsetForName__Ls(
     charsetName));
    if (cs != jnull)
    {
     return cs;
    }
   }
   JCGO_THROW_EXC((java_nio_charset_UnsupportedCharsetException__new__Ls(
    charsetName)));
  }
  return cs;
 }
}

JCGO_NOSEP_STATIC java_nio_charset_Charset CFASTCALL
java_nio_charset_Charset__charsetForName__Ls( java_lang_String charsetName
 )
{
 {
  java_nio_charset_Charset cs;
  jObject jcgo_rcvrL1;
  (java_nio_charset_Charset__checkName__Ls(
   charsetName));
  cs= (jcgo_rcvrL1= (jObject)(java_nio_charset_Charset__provider__()),
   JCGO_CALL_FINALF((gnu_java_nio_charset_Provider)jcgo_rcvrL1) gnu_java_nio_charset_Provider__charsetForName__Ls(
   (gnu_java_nio_charset_Provider)jcgo_rcvrL1, charsetName));
  if (cs == jnull)
  {
   jObjectArr providers;
   providers= (java_nio_charset_Charset__providers2__());
   {
    jint i;
    i= 0;
    for (; i < JCGO_ARRAY_LENGTH(providers); i++)
    {
     jObject jcgo_rcvrL1;
     cs= (jcgo_rcvrL1= (jObject)((java_nio_charset_spi_CharsetProvider)JCGO_ARRAY_NZLACCESS(providers,
      i)), JCGO_CALL_FINALF((gnu_java_nio_charset_Provider)jcgo_rcvrL1)
      gnu_java_nio_charset_Provider__charsetForName__Ls(
      (gnu_java_nio_charset_Provider)jcgo_rcvrL1, charsetName));
     if (cs != jnull)
     {
      break;
     }
    }
   }
  }
  return cs;
 }
}

JCGO_NOSEP_FRWINL java_lang_String CFASTCALL
java_nio_charset_Charset__name__( java_nio_charset_Charset This )
{
 {
  return JCGO_FIELD_NZACCESS(This, canonicalName);
 }
}

JCGO_NOSEP_INLINE java_util_Set CFASTCALL
java_nio_charset_Charset__aliases__( java_nio_charset_Charset This
 )
{
 {
  java_util_HashSet aliasSet;
  jint n;
  if (JCGO_FIELD_NZACCESS(This, aliases) == jnull)
  {
   return JCGO_CLINIT_VARACC(java_util_Collections__class, java_util_Collections__EMPTY_SET);
  }
  n= JCGO_ARRAY_NZLENGTH(JCGO_FIELD_NZACCESS(This, aliases));
  aliasSet= (java_util_HashSet__new__I(
   n));
  {
   jint i;
   i= 0;
   for (; i < n; ++i)
   {
    (java_util_HashSet__add__Lo(
     aliasSet, (java_lang_Object)((java_lang_String)JCGO_ARRAY_NZLACCESS(JCGO_FIELD_NZACCESS(This,
     aliases), i))));
   }
  }
  return (java_util_Collections__unmodifiableSet__L1x914(
   (java_util_Set)aliasSet));
 }
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_nio_charset_Charset__hashCode__( java_nio_charset_Charset This
 )
{
 {
  jObject jcgo_rcvrL1;
  return (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, canonicalName),
   JCGO_CALL_FINALF((java_lang_String)jcgo_rcvrL1) java_lang_String__hashCode__(
   (java_lang_String)jcgo_rcvrL1));
 }
}

JCGO_NOSEP_STATIC jboolean CFASTCALL
java_nio_charset_Charset__equals__Lo( java_nio_charset_Charset This,
 java_lang_Object ob )
{
 {
  if (jcgo_instanceOf0(OBJT_java_nio_charset_Charset, MAXT_java_nio_charset_Charset,
   (jObject)ob))
  {
   jObject jcgo_rcvrL1;
   return (jboolean)(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This,
    canonicalName), JCGO_CALL_FINALF((java_lang_String)jcgo_rcvrL1)
    java_lang_String__equalsIgnoreCase__Ls(
    (java_lang_String)jcgo_rcvrL1, JCGO_FIELD_NZACCESS(((java_nio_charset_Charset)ob),
    canonicalName)));
  }
  else
  {
   return (jboolean)jfalse;
  }
 }
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_nio_charset_Charset__toString__( java_nio_charset_Charset This
 )
{
 {
  return JCGO_FIELD_NZACCESS(This, canonicalName);
 }
}

JCGO_NOSEP_DATA CONST struct jcgo_methods_s java_nio_charset_Charset_methods=
{
 JCGO_CLASSREF_OF(java_nio_charset_Charset__class),
 JCGO_GCJDESCR_ZEROINIT
 OBJT_java_nio_charset_Charset,
 0,
 NULL,
 JCGO_CLINIT_INIT(0)
 0
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_nio_charset_Charset_class_s
 java_nio_charset_Charset__class JCGO_THRD_ATTRNONGC=
{
 {
  &java_lang_Class_methods,
  JCGO_MON_INIT
  JCGO_OBJREF_OF(*(java_lang_Object)&java_nio_charset_Charset_methods),
  JCGO_STRREF_OF(jcgo_string1_Charset),
  JCGO_CLASSREF_OF(java_lang_Object__class),
  ((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Object)),
  0x401
 }
};

JCGO_NOSEP_GCDATA jObjectArr java_nio_charset_Charset__providers ATTRIBGCBSS=
 jnull;

JCGO_NOSEP_DATA CONST jcgo_arrtype73_GmCnnctn jcgo_array3_Charset=
{
 (jvtable)&jbyteArr_methods,
 JCGO_MON_INIT
 31,
 {
  (jbyte)(jchar)106/*'j'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)118/*'v'*/,
   (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)110/*'n'*/,
   (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)46/*'.'*/,
   (jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)104/*'h'*/, (jbyte)(jchar)97/*'a'*/,
   (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)115/*'s'*/, (jbyte)(jchar)101/*'e'*/,
   (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)67/*'C'*/,
   (jbyte)(jchar)104/*'h'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)114/*'r'*/,
   (jbyte)(jchar)115/*'s'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)116/*'t'*/,
   (jbyte)(jchar)68/*'D'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)99/*'c'*/,
   (jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)101/*'e'*/,
   (jbyte)(jchar)114/*'r'*/
 }
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string1_Charset
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array3_Charset),
 0, 24, (jint)0x583008e4L
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string2_Charset
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array51_EncdngHl),
 0, 30, (jint)0x4fd03edL
};

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

#endif
