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

JCGO_NOSEP_STATIC gnu_java_nio_charset_ByteCharset_Encoder CFASTCALL
gnu_java_nio_charset_ByteCharset_Encoder__this__L85ew7( gnu_java_nio_charset_ByteCharset_Encoder
 This, gnu_java_nio_charset_ByteCharset cs )
{
 {
  jcharArr lookup_table;
  jint max_7e1;
  (java_nio_charset_CharsetEncoder__this__L7qsf6FF((java_nio_charset_CharsetEncoder)This,
   (java_nio_charset_Charset)cs, (jfloat)1.0, (jfloat)1.0));
  lookup_table= (JCGO_CALL_FINALF(cs) gnu_java_nio_charset_ByteCharset__getLookupTable__(
   cs));
  max_7e1= 0;
  {
   jint i;
   i= 0;
   for (; i < JCGO_ARRAY_LENGTH(lookup_table); i++)
   {
    jint c;
    c= (jint)JCGO_ARRAY_NZCACCESS(lookup_table, i);
    max_7e1= (c > max_7e1 && c < (jint)gnu_java_nio_charset_ByteCharset__NONE)?
     c : max_7e1;
   }
  }
  JCGO_FIELD_NZACCESS(This, lookup)= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
   0, max_7e1 + (jint)1);
  {
   jint i;
   i= 0;
   for (; i < JCGO_ARRAY_NZLENGTH(lookup_table); i++)
   {
    jint c;
    c= (jint)JCGO_ARRAY_NZCACCESS(lookup_table, i);
    if (c != 0 && c < (jint)gnu_java_nio_charset_ByteCharset__NONE)
    {
     JCGO_ARRAY_BACCESS(JCGO_FIELD_NZACCESS(This, lookup), c)= ((jbyte)i);
    }
   }
  }
 }
 return This;
}

JCGO_NOSEP_FRWINL gnu_java_nio_charset_ByteCharset_Encoder CFASTCALL
gnu_java_nio_charset_ByteCharset_Encoder__new__L85ew7( gnu_java_nio_charset_ByteCharset
 cs )
{
 return gnu_java_nio_charset_ByteCharset_Encoder__this__L85ew7(
  (gnu_java_nio_charset_ByteCharset_Encoder)jcgo_newObject((jvtable)&gnu_java_nio_charset_ByteCharset_Encoder_methods),
  cs);
}

JCGO_NOSEP_STATIC java_nio_charset_CoderResult CFASTCALL
gnu_java_nio_charset_ByteCharset_Encoder__encodeLoop__L3367bL9oaia(
 gnu_java_nio_charset_ByteCharset_Encoder This, java_nio_CharBuffer
 in, java_nio_ByteBuffer out )
{
 {
  while ((JCGO_CALL_FINALF(in) java_nio_Buffer__hasRemaining__(
   (java_nio_Buffer)in)))
  {
   jint c;
   jbyte b;
   c= (jint)(java_nio_CharBufferImpl__get__(
    (java_nio_CharBufferImpl)in));
   if (!(JCGO_CALL_FINALF(out) java_nio_Buffer__hasRemaining__(
    (java_nio_Buffer)out)))
   {
    (java_nio_Buffer__position__I(
     (java_nio_Buffer)in, (java_nio_Buffer__position__(
     (java_nio_Buffer)in)) - (jint)1));
    return JCGO_CLINIT_VARACC(java_nio_charset_CoderResult__class,
     java_nio_charset_CoderResult__OVERFLOW);
   }
   b= (jbyte)((c < JCGO_ARRAY_LENGTH(JCGO_FIELD_NZACCESS(This, lookup)))?
    JCGO_ARRAY_BACCESS(JCGO_FIELD_NZACCESS(This, lookup), c) : (jbyte)0);
   if ((jint)b != 0 || (jint)c == 0)
   {
    (java_nio_ByteBufferImpl__put__B(
     (java_nio_ByteBufferImpl)out, b));
   }
   else
   {
    (java_nio_Buffer__position__I(
     (java_nio_Buffer)in, (java_nio_Buffer__position__(
     (java_nio_Buffer)in)) - (jint)1));
    return (java_nio_charset_CoderResult__unmappableForLength__I(
     (jint)1));
   }
  }
  return JCGO_CLINIT_VARACC(java_nio_charset_CoderResult__class, java_nio_charset_CoderResult__UNDERFLOW);
 }
}

JCGO_NOSEP_DATA CONST struct gnu_java_nio_charset_ByteCharset_Encoder_methods_s
 gnu_java_nio_charset_ByteCharset_Encoder_methods=
{
 JCGO_CLASSREF_OF(gnu_java_nio_charset_ByteCharset_Encoder__class),
 JCGO_GCJDESCR_INIT(gnu_java_nio_charset_ByteCharset_Encoder_s, lookup)
 OBJT_gnu_java_nio_charset_ByteCharset_Encoder,
 (JCGO_OBJSIZE_T)sizeof(struct gnu_java_nio_charset_ByteCharset_Encoder_s),
 NULL,
 JCGO_CLINIT_INIT(0)
 0,
 java_lang_Object__equals__Lo,
 java_lang_Object__hashCode__,
 java_lang_Object__toString__,
 java_lang_Object__finalize__,
 gnu_java_nio_charset_ByteCharset_Encoder__encodeLoop__L3367bL9oaia,
 (void (CFASTCALL*)(java_nio_charset_CharsetEncoder))java_lang_Object__finalize__
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct gnu_java_nio_charset_ByteCharset_Encoder_class_s
 gnu_java_nio_charset_ByteCharset_Encoder__class JCGO_THRD_ATTRNONGC=
{
 {
  &java_lang_Class_methods,
  JCGO_MON_INIT
  JCGO_OBJREF_OF(*(java_lang_Object)&gnu_java_nio_charset_ByteCharset_Encoder_methods),
  JCGO_STRREF_OF(jcgo_string1_EncdrD6),
  JCGO_CLASSREF_OF(java_nio_charset_CharsetEncoder__class),
  ((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Object)),
  0x1a
 }
};

JCGO_NOSEP_DATA CONST jcgo_arrtype120_GmCnnctn jcgo_array2_EncdrD6=
{
 (jvtable)&jbyteArr_methods,
 JCGO_MON_INIT
 40,
 {
  (jbyte)(jchar)103/*'g'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)117/*'u'*/,
   (jbyte)(jchar)46/*'.'*/, (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)66/*'B'*/, (jbyte)(jchar)121/*'y'*/, (jbyte)(jchar)116/*'t'*/,
   (jbyte)(jchar)101/*'e'*/, (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)36/*'$'*/,
   (jbyte)(jchar)69/*'E'*/, (jbyte)(jchar)110/*'n'*/, (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_EncdrD6
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array2_EncdrD6),
 0, 40, (jint)0xe352a894L
};

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

#endif
