/* 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