deep-c-rsc/jcgo_Out/UTF16Dcd.c

307 lines
9.7 KiB
C

/* 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_UTF_116Decoder
#include "jcgobchk.h"
#endif
JCGO_NOSEP_STATIC gnu_java_nio_charset_UTF_16Decoder CFASTCALL
gnu_java_nio_charset_UTF_16Decoder__this__L7qsf6I( gnu_java_nio_charset_UTF_16Decoder
This, java_nio_charset_Charset cs, jint byteOrder )
{
{
(java_nio_charset_CharsetDecoder__this__L7qsf6FF((java_nio_charset_CharsetDecoder)This,
cs, (jfloat)0.5, (jfloat)1.0));
JCGO_FIELD_NZACCESS(This, originalByteOrder)= byteOrder;
JCGO_FIELD_NZACCESS(This, byteOrder)= byteOrder;
}
return This;
}
JCGO_NOSEP_FRWINL gnu_java_nio_charset_UTF_16Decoder CFASTCALL
gnu_java_nio_charset_UTF_16Decoder__new__L7qsf6I( java_nio_charset_Charset
cs, jint byteOrder )
{
return gnu_java_nio_charset_UTF_16Decoder__this__L7qsf6I(
(gnu_java_nio_charset_UTF_16Decoder)jcgo_newObject((jvtable)&gnu_java_nio_charset_UTF_16Decoder_methods),
cs, byteOrder);
}
JCGO_NOSEP_STATIC java_nio_charset_CoderResult CFASTCALL
gnu_java_nio_charset_UTF_16Decoder__decodeLoop__L9oaiaL3367b( gnu_java_nio_charset_UTF_16Decoder
This, java_nio_ByteBuffer in, java_nio_CharBuffer out )
{
{
JCGO_TRY_VOLATILE jint inPos;
inPos= (JCGO_CALL_FINALF(in) java_nio_Buffer__position__(
(java_nio_Buffer)in));
{
JCGO_TRY_BLOCK
{
while ((java_nio_Buffer__remaining__(
(java_nio_Buffer)in)) >= (jint)2)
{
jchar c;
jbyte b1;
jbyte b2;
b1= (java_nio_ByteBufferImpl__get__(
(java_nio_ByteBufferImpl)in));
b2= (java_nio_ByteBufferImpl__get__(
(java_nio_ByteBufferImpl)in));
if (JCGO_FIELD_NZACCESS(This, byteOrder) == gnu_java_nio_charset_UTF_16Decoder__UNKNOWN_ENDIAN ||
JCGO_FIELD_NZACCESS(This, byteOrder) == gnu_java_nio_charset_UTF_16Decoder__MAYBE_BIG_ENDIAN ||
JCGO_FIELD_NZACCESS(This, byteOrder) == gnu_java_nio_charset_UTF_16Decoder__MAYBE_LITTLE_ENDIAN)
{
jchar c;
c= (jchar)(JCGO_SHL_F(((jint)((unsigned char)b1)), (jint)8) |
((jint)((unsigned char)b2)));
if (c == gnu_java_nio_charset_UTF_16Decoder__BYTE_ORDER_MARK)
{
if (JCGO_FIELD_NZACCESS(This, byteOrder) == gnu_java_nio_charset_UTF_16Decoder__MAYBE_LITTLE_ENDIAN)
{
{
java_nio_charset_CoderResult jcgo_retval= (java_nio_charset_CoderResult__malformedForLength__I(
(jint)2));
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
{
(java_nio_Buffer__position__I(
(java_nio_Buffer)in, inPos));
}
#endif
return jcgo_retval;
}
}
JCGO_FIELD_NZACCESS(This, byteOrder)= gnu_java_nio_charset_UTF_16Decoder__BIG_ENDIAN0;
inPos+= (jint)2;
continue;
}
else
{
if (c == gnu_java_nio_charset_UTF_16Decoder__REVERSED_BYTE_ORDER_MARK)
{
if (JCGO_FIELD_NZACCESS(This, byteOrder) == gnu_java_nio_charset_UTF_16Decoder__MAYBE_BIG_ENDIAN)
{
{
java_nio_charset_CoderResult jcgo_retval= (java_nio_charset_CoderResult__malformedForLength__I(
(jint)2));
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
{
(java_nio_Buffer__position__I(
(java_nio_Buffer)in, inPos));
}
#endif
return jcgo_retval;
}
}
JCGO_FIELD_NZACCESS(This, byteOrder)= gnu_java_nio_charset_UTF_16Decoder__LITTLE_ENDIAN0;
inPos+= (jint)2;
continue;
}
else
{
JCGO_FIELD_NZACCESS(This, byteOrder)= (JCGO_FIELD_NZACCESS(This,
byteOrder) == gnu_java_nio_charset_UTF_16Decoder__MAYBE_LITTLE_ENDIAN?
gnu_java_nio_charset_UTF_16Decoder__LITTLE_ENDIAN0 : gnu_java_nio_charset_UTF_16Decoder__BIG_ENDIAN0);
}
}
}
c= ((jchar)(JCGO_FIELD_NZACCESS(This, byteOrder) == gnu_java_nio_charset_UTF_16Decoder__BIG_ENDIAN0?
(jchar)(JCGO_SHL_F(((jint)((unsigned char)b1)), (jint)8) | ((jint)((unsigned char)b2))) :
(jchar)(JCGO_SHL_F(((jint)((unsigned char)b2)), (jint)8) | ((jint)((unsigned char)b1)))));
if ((jint)55296L <= (jint)c && (jint)c <= (jint)57343L)
{
jchar d;
jbyte b3;
jbyte b4;
if ((jint)c > (jint)56319L)
{
{
java_nio_charset_CoderResult jcgo_retval= (java_nio_charset_CoderResult__malformedForLength__I(
(jint)2));
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
{
(java_nio_Buffer__position__I(
(java_nio_Buffer)in, inPos));
}
#endif
return jcgo_retval;
}
}
if ((java_nio_Buffer__remaining__(
(java_nio_Buffer)in)) < (jint)2)
{
{
java_nio_charset_CoderResult jcgo_retval= JCGO_CLINIT_VARACC(java_nio_charset_CoderResult__class,
java_nio_charset_CoderResult__UNDERFLOW);
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
{
(java_nio_Buffer__position__I(
(java_nio_Buffer)in, inPos));
}
#endif
return jcgo_retval;
}
}
b3= (java_nio_ByteBufferImpl__get__(
(java_nio_ByteBufferImpl)in));
b4= (java_nio_ByteBufferImpl__get__(
(java_nio_ByteBufferImpl)in));
d= ((jchar)(JCGO_FIELD_NZACCESS(This, byteOrder) == gnu_java_nio_charset_UTF_16Decoder__BIG_ENDIAN0?
(jchar)(JCGO_SHL_F(((jint)((unsigned char)b3)), (jint)8) | ((jint)((unsigned char)b4))) :
(jchar)(JCGO_SHL_F(((jint)((unsigned char)b4)), (jint)8) | ((jint)((unsigned char)b3)))));
if ((jint)d < (jint)56320L || (jint)d > (jint)57343L)
{
{
java_nio_charset_CoderResult jcgo_retval= (java_nio_charset_CoderResult__malformedForLength__I(
(jint)2));
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
{
(java_nio_Buffer__position__I(
(java_nio_Buffer)in, inPos));
}
#endif
return jcgo_retval;
}
}
(JCGO_CALL_FINALF((java_nio_CharBufferImpl)out) java_nio_CharBufferImpl__put__C(
(java_nio_CharBufferImpl)out, c));
(java_nio_CharBufferImpl__put__C(
(java_nio_CharBufferImpl)out, d));
inPos+= (jint)4;
}
else
{
if (!(JCGO_CALL_FINALF(out) java_nio_Buffer__hasRemaining__(
(java_nio_Buffer)out)))
{
{
java_nio_charset_CoderResult jcgo_retval= JCGO_CLINIT_VARACC(java_nio_charset_CoderResult__class,
java_nio_charset_CoderResult__UNDERFLOW);
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
{
(java_nio_Buffer__position__I(
(java_nio_Buffer)in, inPos));
}
#endif
return jcgo_retval;
}
}
(java_nio_CharBufferImpl__put__C(
(java_nio_CharBufferImpl)out, c));
inPos+= (jint)2;
}
}
{
java_nio_charset_CoderResult jcgo_retval= JCGO_CLINIT_VARACC(java_nio_charset_CoderResult__class,
java_nio_charset_CoderResult__UNDERFLOW);
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
{
(java_nio_Buffer__position__I(
(java_nio_Buffer)in, inPos));
}
#endif
return jcgo_retval;
}
}
JCGO_TRY_LEAVE
{
(java_nio_Buffer__position__I(
(java_nio_Buffer)in, inPos));
}
JCGO_TRY_FINALLYEND
}
}
return jnull;
}
JCGO_NOSEP_INLINE void CFASTCALL
gnu_java_nio_charset_UTF_16Decoder__implReset__( gnu_java_nio_charset_UTF_16Decoder
This )
{
{
JCGO_FIELD_NZACCESS(This, byteOrder)= JCGO_FIELD_NZACCESS(This, originalByteOrder);
}
}
JCGO_NOSEP_DATA CONST struct gnu_java_nio_charset_UTF_16Decoder_methods_s
gnu_java_nio_charset_UTF_16Decoder_methods=
{
JCGO_CLASSREF_OF(gnu_java_nio_charset_UTF_16Decoder__class),
JCGO_GCJDESCR_INIT(gnu_java_nio_charset_UTF_16Decoder_s, unmappableCharacterAction)
OBJT_gnu_java_nio_charset_UTF_16Decoder,
(JCGO_OBJSIZE_T)sizeof(struct gnu_java_nio_charset_UTF_16Decoder_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_UTF_16Decoder__decodeLoop__L9oaiaL3367b,
gnu_java_nio_charset_UTF_16Decoder__implReset__
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct gnu_java_nio_charset_UTF_16Decoder_class_s
gnu_java_nio_charset_UTF_16Decoder__class JCGO_THRD_ATTRNONGC=
{
{
&java_lang_Class_methods,
JCGO_MON_INIT
JCGO_OBJREF_OF(*(java_lang_Object)&gnu_java_nio_charset_UTF_16Decoder_methods),
JCGO_STRREF_OF(jcgo_string1_UTF16Dcd),
JCGO_CLASSREF_OF(java_nio_charset_CharsetDecoder__class),
((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Object)),
0x10
}
};
JCGO_NOSEP_DATA CONST jcgo_arrtype87_GmCnnctn jcgo_array2_UTF16Dcd=
{
(jvtable)&jbyteArr_methods,
JCGO_MON_INIT
34,
{
(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)85/*'U'*/, (jbyte)(jchar)84/*'T'*/, (jbyte)(jchar)70/*'F'*/,
(jbyte)(jchar)95/*'_'*/, (jbyte)(jchar)49/*'1'*/, (jbyte)(jchar)54/*'6'*/,
(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_UTF16Dcd
JCGO_THRD_ATTRNONGC=
{
&java_lang_String_methods,
JCGO_MON_INIT
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array2_UTF16Dcd),
0, 34, (jint)0x3e0f84dfL
};
#ifdef CHKALL_gnu_java_nio_charset_UTF_116Decoder
#include "jcgochke.h"
#endif
#endif