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

JCGO_NOSEP_FRWINL java_nio_ByteBufferImpl CFASTCALL
java_nio_ByteBufferImpl__this__BAIIIIIZ( java_nio_ByteBufferImpl This,
 jbyteArr buffer, jint offset, jint capacity, jint limit, jint position,
 jint mark, jboolean readOnly )
{
 {
  (java_nio_ByteBuffer__this__IIIIL8d4dvBAI((java_nio_ByteBuffer)This,
   (java_lang_Object)jnull, buffer, capacity, limit, position, mark,
   offset));
  JCGO_FIELD_NZACCESS(This, readOnly)= (jboolean)readOnly;
 }
 return This;
}

JCGO_NOSEP_INLINE java_nio_ByteBufferImpl CFASTCALL
java_nio_ByteBufferImpl__new__BAIIIIIZ( jbyteArr buffer, jint offset,
 jint capacity, jint limit, jint position, jint mark, jboolean readOnly
 )
{
 return java_nio_ByteBufferImpl__this__BAIIIIIZ(
  (java_nio_ByteBufferImpl)jcgo_newObject((jvtable)&java_nio_ByteBufferImpl_methods),
  buffer, offset, capacity, limit, position, mark, readOnly);
}

JCGO_NOSEP_FRWINL jboolean CFASTCALL
java_nio_ByteBufferImpl__isReadOnly__( java_nio_ByteBufferImpl This
 )
{
 {
  return (jboolean)JCGO_FIELD_NZACCESS(This, readOnly);
 }
}

JCGO_NOSEP_STATIC jbyte CFASTCALL
java_nio_ByteBufferImpl__get__( java_nio_ByteBufferImpl This )
{
 {
  if (JCGO_FIELD_NZACCESS(This, pos) >= JCGO_FIELD_NZACCESS(This, limit))
  {
   JCGO_THROW_EXC(java_nio_BufferUnderflowException__new__());
  }
  return JCGO_ARRAY_BACCESS(JCGO_FIELD_NZACCESS(This, backing_buffer),
   (JCGO_FIELD_NZACCESS(This, pos)++) + JCGO_FIELD_NZACCESS(This, array_offset));
 }
}

JCGO_NOSEP_STATIC java_nio_ByteBuffer CFASTCALL
java_nio_ByteBufferImpl__get__BAII( java_nio_ByteBufferImpl This,
 jbyteArr dst, jint offset, jint length )
{
 {
  (java_nio_Buffer__checkArraySize__III(
   JCGO_ARRAY_LENGTH(dst), offset, length));
  if ((JCGO_FIELD_NZACCESS(This, limit) - JCGO_FIELD_NZACCESS(This,
   pos)) < length)
  {
   JCGO_THROW_EXC(java_nio_BufferUnderflowException__new__());
  }
  (java_lang_System__arraycopy__LoILoII(
   (java_lang_Object)JCGO_FIELD_NZACCESS(This, backing_buffer), (java_lang_Object)dst,
   JCGO_FIELD_NZACCESS(This, pos) + JCGO_FIELD_NZACCESS(This, array_offset),
   offset, length));
  JCGO_FIELD_NZACCESS(This, pos)+= length;
  return (java_nio_ByteBuffer)This;
 }
}

JCGO_NOSEP_STATIC java_nio_ByteBuffer CFASTCALL
java_nio_ByteBufferImpl__put__BAII( java_nio_ByteBufferImpl This,
 jbyteArr src, jint offset, jint length )
{
 {
  if ((JCGO_FIELD_NZACCESS(This, limit) - JCGO_FIELD_NZACCESS(This,
   pos)) < length)
  {
   JCGO_THROW_EXC(java_nio_BufferOverflowException__new__());
  }
  (java_nio_Buffer__checkArraySize__III(
   JCGO_ARRAY_LENGTH(src), offset, length));
  (java_lang_System__arraycopy__LoILoII(
   (java_lang_Object)src, (java_lang_Object)JCGO_FIELD_NZACCESS(This,
   backing_buffer), offset, JCGO_FIELD_NZACCESS(This, pos) + JCGO_FIELD_NZACCESS(This,
   array_offset), length));
  JCGO_FIELD_NZACCESS(This, pos)+= length;
  return (java_nio_ByteBuffer)This;
 }
}

JCGO_NOSEP_STATIC java_nio_ByteBuffer CFASTCALL
java_nio_ByteBufferImpl__put__B( java_nio_ByteBufferImpl This, jbyte
 value )
{
 {
  if (JCGO_FIELD_NZACCESS(This, readOnly))
  {
   JCGO_THROW_EXC(java_nio_ReadOnlyBufferException__new__());
  }
  if (JCGO_FIELD_NZACCESS(This, pos) >= JCGO_FIELD_NZACCESS(This, limit))
  {
   JCGO_THROW_EXC(java_nio_BufferOverflowException__new__());
  }
  JCGO_ARRAY_BACCESS(JCGO_FIELD_NZACCESS(This, backing_buffer), (JCGO_FIELD_NZACCESS(This,
   pos)++) + JCGO_FIELD_NZACCESS(This, array_offset))= value;
  return (java_nio_ByteBuffer)This;
 }
}

JCGO_NOSEP_STATIC jbyte CFASTCALL
java_nio_ByteBufferImpl__get__I( java_nio_ByteBufferImpl This, jint
 index )
{
 {
  (java_nio_Buffer__checkIndex__I(
   (java_nio_Buffer)This, index));
  return JCGO_ARRAY_BACCESS(JCGO_FIELD_NZACCESS(This, backing_buffer),
   index + JCGO_FIELD_NZACCESS(This, array_offset));
 }
}

JCGO_NOSEP_STATIC java_nio_ByteBuffer CFASTCALL
java_nio_ByteBufferImpl__putChar__C( java_nio_ByteBufferImpl This,
 jchar value )
{
 {
  if (JCGO_FIELD_NZACCESS(This, readOnly))
  {
   JCGO_THROW_EXC(java_nio_ReadOnlyBufferException__new__());
  }
  if ((JCGO_FIELD_NZACCESS(This, limit) - JCGO_FIELD_NZACCESS(This,
   pos)) < (jint)2)
  {
   JCGO_THROW_EXC(java_nio_BufferOverflowException__new__());
  }
  if (JCGO_FIELD_NZACCESS(This, endian) == JCGO_CLINIT_VARACC(java_nio_ByteOrder__class,
   java_nio_ByteOrder__LITTLE_ENDIAN0))
  {
   JCGO_ARRAY_BACCESS(JCGO_FIELD_NZACCESS(This, backing_buffer), (JCGO_FIELD_NZACCESS(This,
    pos)++) + JCGO_FIELD_NZACCESS(This, array_offset))= ((jbyte)(value &
    (jint)255));
   JCGO_ARRAY_NZBACCESS(JCGO_FIELD_NZACCESS(This, backing_buffer),
    (JCGO_FIELD_NZACCESS(This, pos)++) + JCGO_FIELD_NZACCESS(This,
    array_offset))= ((jbyte)JCGO_SHR_F(value, (jint)8));
  }
  else
  {
   JCGO_ARRAY_BACCESS(JCGO_FIELD_NZACCESS(This, backing_buffer), (JCGO_FIELD_NZACCESS(This,
    pos)++) + JCGO_FIELD_NZACCESS(This, array_offset))= ((jbyte)JCGO_SHR_F(value,
    (jint)8));
   JCGO_ARRAY_NZBACCESS(JCGO_FIELD_NZACCESS(This, backing_buffer),
    (JCGO_FIELD_NZACCESS(This, pos)++) + JCGO_FIELD_NZACCESS(This,
    array_offset))= ((jbyte)(value & (jint)255));
  }
  return (java_nio_ByteBuffer)This;
 }
}

JCGO_NOSEP_DATA CONST struct java_nio_ByteBufferImpl_methods_s java_nio_ByteBufferImpl_methods=
{
 JCGO_CLASSREF_OF(java_nio_ByteBufferImpl__class),
 JCGO_GCJDESCR_INIT(java_nio_ByteBufferImpl_s, backing_buffer)
 OBJT_java_nio_ByteBufferImpl,
 (JCGO_OBJSIZE_T)sizeof(struct java_nio_ByteBufferImpl_s),
 NULL,
 JCGO_CLINIT_INIT(0)
 0,
 java_nio_ByteBuffer__equals__Lo,
 java_nio_ByteBuffer__hashCode__,
 java_nio_ByteBuffer__toString__,
 java_lang_Object__finalize__,
 java_nio_ByteBufferImpl__isReadOnly__
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_nio_ByteBufferImpl_class_s
 java_nio_ByteBufferImpl__class JCGO_THRD_ATTRNONGC=
{
 {
  &java_lang_Class_methods,
  JCGO_MON_INIT
  JCGO_OBJREF_OF(*(java_lang_Object)&java_nio_ByteBufferImpl_methods),
  JCGO_STRREF_OF(jcgo_string1_BtBffrIm),
  JCGO_CLASSREF_OF(java_nio_ByteBuffer__class),
  ((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Object)),
  0x10
 }
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string1_BtBffrIm
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array6_ByteBffr),
 0, 23, (jint)0xd2ef4c2eL
};

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

#endif
