deep-c-rsc/jcgo_Out/Dcdr00.c

455 lines
12 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_18
#include "jcgobchk.h"
#endif
JCGO_NOSEP_INLINE jboolean CFASTCALL
gnu_java_nio_charset_UTF_8_Decoder__isContinuation__B( jbyte b )
{
{
return (jboolean)((b & (jint)192) == (jint)128);
}
}
JCGO_NOSEP_INLINE gnu_java_nio_charset_UTF_8_Decoder CFASTCALL
gnu_java_nio_charset_UTF_8_Decoder__this__L7qsf6( gnu_java_nio_charset_UTF_8_Decoder
This, java_nio_charset_Charset cs )
{
{
(java_nio_charset_CharsetDecoder__this__L7qsf6FF((java_nio_charset_CharsetDecoder)This,
cs, (jfloat)1.0, (jfloat)1.0));
}
return This;
}
JCGO_NOSEP_FRWINL gnu_java_nio_charset_UTF_8_Decoder CFASTCALL
gnu_java_nio_charset_UTF_8_Decoder__new__L7qsf6( java_nio_charset_Charset
cs )
{
return gnu_java_nio_charset_UTF_8_Decoder__this__L7qsf6(
(gnu_java_nio_charset_UTF_8_Decoder)jcgo_newObject((jvtable)&gnu_java_nio_charset_UTF_8_Decoder_methods),
cs);
}
JCGO_NOSEP_STATIC java_nio_charset_CoderResult CFASTCALL
gnu_java_nio_charset_UTF_8_Decoder__decodeLoop__L9oaiaL3367b( gnu_java_nio_charset_UTF_8_Decoder
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__hasRemaining__(
(java_nio_Buffer)in)))
{
jint highNibble;
jchar c;
jbyte b1;
b1= (java_nio_ByteBufferImpl__get__(
(java_nio_ByteBufferImpl)in));
highNibble= JCGO_SHR_F(((jint)((unsigned char)b1)), (jint)4) &
(jint)15;
switch (highNibble)
{
jint n;
jchar c1;
jchar c2;
jbyte b2;
jbyte b3;
jbyte b4;
case 0:
case (jint)1:
case (jint)2:
case (jint)3:
case (jint)4:
case (jint)5:
case (jint)6:
case (jint)7:
if ((JCGO_CALL_FINALF(out) java_nio_Buffer__remaining__(
(java_nio_Buffer)out)) < (jint)1)
{
{
java_nio_charset_CoderResult jcgo_retval= JCGO_CLINIT_VARACC(java_nio_charset_CoderResult__class,
java_nio_charset_CoderResult__OVERFLOW);
#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, (jchar)b1));
inPos++;
break;
case (jint)12:
case (jint)13:;
if ((java_nio_Buffer__remaining__(
(java_nio_Buffer)in)) < (jint)1)
{
{
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;
}
}
if ((JCGO_CALL_FINALF(out) java_nio_Buffer__remaining__(
(java_nio_Buffer)out)) < (jint)1)
{
{
java_nio_charset_CoderResult jcgo_retval= JCGO_CLINIT_VARACC(java_nio_charset_CoderResult__class,
java_nio_charset_CoderResult__OVERFLOW);
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
{
(java_nio_Buffer__position__I(
(java_nio_Buffer)in, inPos));
}
#endif
return jcgo_retval;
}
}
if (!(gnu_java_nio_charset_UTF_8_Decoder__isContinuation__B(
b2= (java_nio_ByteBufferImpl__get__(
(java_nio_ByteBufferImpl)in)))))
{
{
java_nio_charset_CoderResult jcgo_retval= (java_nio_charset_CoderResult__malformedForLength__I(
(jint)1));
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
{
(java_nio_Buffer__position__I(
(java_nio_Buffer)in, inPos));
}
#endif
return jcgo_retval;
}
}
c= (jchar)(JCGO_SHL_F((b1 & (jint)31), (jint)6) | (b2 & (jint)63));
if ((jint)c <= (jint)127)
{
{
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;
}
}
(java_nio_CharBufferImpl__put__C(
(java_nio_CharBufferImpl)out, c));
inPos+= (jint)2;
break;
case (jint)14:;
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;
}
}
if ((JCGO_CALL_FINALF(out) java_nio_Buffer__remaining__(
(java_nio_Buffer)out)) < (jint)1)
{
{
java_nio_charset_CoderResult jcgo_retval= JCGO_CLINIT_VARACC(java_nio_charset_CoderResult__class,
java_nio_charset_CoderResult__OVERFLOW);
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
{
(java_nio_Buffer__position__I(
(java_nio_Buffer)in, inPos));
}
#endif
return jcgo_retval;
}
}
if (!(gnu_java_nio_charset_UTF_8_Decoder__isContinuation__B(
b2= (java_nio_ByteBufferImpl__get__(
(java_nio_ByteBufferImpl)in)))))
{
{
java_nio_charset_CoderResult jcgo_retval= (java_nio_charset_CoderResult__malformedForLength__I(
(jint)1));
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
{
(java_nio_Buffer__position__I(
(java_nio_Buffer)in, inPos));
}
#endif
return jcgo_retval;
}
}
if (!(gnu_java_nio_charset_UTF_8_Decoder__isContinuation__B(
b3= (java_nio_ByteBufferImpl__get__(
(java_nio_ByteBufferImpl)in)))))
{
{
java_nio_charset_CoderResult jcgo_retval= (java_nio_charset_CoderResult__malformedForLength__I(
(jint)1));
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
{
(java_nio_Buffer__position__I(
(java_nio_Buffer)in, inPos));
}
#endif
return jcgo_retval;
}
}
c= (jchar)(JCGO_SHL_F((b1 & (jint)15), (jint)12) | JCGO_SHL_F((b2 &
(jint)63), (jint)6) | (b3 & (jint)63));
if ((jint)c <= (jint)2047)
{
{
java_nio_charset_CoderResult jcgo_retval= (java_nio_charset_CoderResult__malformedForLength__I(
(jint)3));
#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)3;
break;
case (jint)15:;
if ((java_nio_Buffer__remaining__(
(java_nio_Buffer)in)) < (jint)3)
{
{
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;
}
}
if ((b1 & (jint)15) > (jint)4)
{
{
java_nio_charset_CoderResult jcgo_retval= (java_nio_charset_CoderResult__malformedForLength__I(
(jint)4));
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
{
(java_nio_Buffer__position__I(
(java_nio_Buffer)in, inPos));
}
#endif
return jcgo_retval;
}
}
if ((JCGO_CALL_FINALF(out) java_nio_Buffer__remaining__(
(java_nio_Buffer)out)) < (jint)2)
{
{
java_nio_charset_CoderResult jcgo_retval= JCGO_CLINIT_VARACC(java_nio_charset_CoderResult__class,
java_nio_charset_CoderResult__OVERFLOW);
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
{
(java_nio_Buffer__position__I(
(java_nio_Buffer)in, inPos));
}
#endif
return jcgo_retval;
}
}
if (!(gnu_java_nio_charset_UTF_8_Decoder__isContinuation__B(
b2= (java_nio_ByteBufferImpl__get__(
(java_nio_ByteBufferImpl)in)))))
{
{
java_nio_charset_CoderResult jcgo_retval= (java_nio_charset_CoderResult__malformedForLength__I(
(jint)3));
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
{
(java_nio_Buffer__position__I(
(java_nio_Buffer)in, inPos));
}
#endif
return jcgo_retval;
}
}
if (!(gnu_java_nio_charset_UTF_8_Decoder__isContinuation__B(
b3= (java_nio_ByteBufferImpl__get__(
(java_nio_ByteBufferImpl)in)))))
{
{
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 (!(gnu_java_nio_charset_UTF_8_Decoder__isContinuation__B(
b4= (java_nio_ByteBufferImpl__get__(
(java_nio_ByteBufferImpl)in)))))
{
{
java_nio_charset_CoderResult jcgo_retval= (java_nio_charset_CoderResult__malformedForLength__I(
(jint)1));
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
{
(java_nio_Buffer__position__I(
(java_nio_Buffer)in, inPos));
}
#endif
return jcgo_retval;
}
}
n= (JCGO_SHL_F((b1 & (jint)3), (jint)18) | JCGO_SHL_F((b2 & (jint)63),
(jint)12) | JCGO_SHL_F((b3 & (jint)63), (jint)6) | (b4 & (jint)63)) -
(jint)65536L;
c1= (jchar)(JCGO_SHR_F((n & (jint)1047552L), (jint)10) | (jint)55296L);
c2= (jchar)((n & (jint)1023) | (jint)56320L);
(java_nio_CharBufferImpl__put__C(
(java_nio_CharBufferImpl)out, c1));
(java_nio_CharBufferImpl__put__C(
(java_nio_CharBufferImpl)out, c2));
inPos+= (jint)4;
break;
default:
{
java_nio_charset_CoderResult jcgo_retval= (java_nio_charset_CoderResult__malformedForLength__I(
(jint)1));
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
{
(java_nio_Buffer__position__I(
(java_nio_Buffer)in, inPos));
}
#endif
return jcgo_retval;
}
;
}
}
{
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_DATA CONST struct gnu_java_nio_charset_UTF_8_Decoder_methods_s
gnu_java_nio_charset_UTF_8_Decoder_methods=
{
JCGO_CLASSREF_OF(gnu_java_nio_charset_UTF_8_Decoder__class),
JCGO_GCJDESCR_INIT(gnu_java_nio_charset_UTF_8_Decoder_s, unmappableCharacterAction)
OBJT_gnu_java_nio_charset_UTF_8_Decoder,
(JCGO_OBJSIZE_T)sizeof(struct gnu_java_nio_charset_UTF_8_Decoder_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_8_Decoder__decodeLoop__L9oaiaL3367b,
(void (CFASTCALL*)(java_nio_charset_CharsetDecoder))java_lang_Object__finalize__
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct gnu_java_nio_charset_UTF_8_Decoder_class_s
gnu_java_nio_charset_UTF_8_Decoder__class JCGO_THRD_ATTRNONGC=
{
{
&java_lang_Class_methods,
JCGO_MON_INIT
JCGO_OBJREF_OF(*(java_lang_Object)&gnu_java_nio_charset_UTF_8_Decoder_methods),
JCGO_STRREF_OF(jcgo_string1_Dcdr00),
JCGO_CLASSREF_OF(java_nio_charset_CharsetDecoder__class),
((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Object)),
0x1a
}
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string1_Dcdr00
JCGO_THRD_ATTRNONGC=
{
&java_lang_String_methods,
JCGO_MON_INIT
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array9_Utf8),
0, 34, (jint)0xfe196638L
};
#ifdef CHKALL_gnu_java_nio_charset_UTF_18
#include "jcgochke.h"
#endif
#endif