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

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_String__getValueLength__Lo( java_lang_Object value )
{
 {
  return jcgo_instanceOf0(OBJT_jbyte+OBJT_jarray, MAXT_jbyte+OBJT_jarray,
   (jObject)value)? JCGO_ARRAY_NZLENGTH(((jbyteArr)value)) : JCGO_ARRAY_LENGTH(((jcharArr)JCGO_CAST_OBJECT0(OBJT_jchar+OBJT_jarray,
   MAXT_jchar+OBJT_jarray, value)));
 }
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_String__this__IILo( java_lang_String This, java_lang_Object
 value, jint offset, jint count )
{
 {
  ;
  JCGO_FIELD_NZACCESS(This, value)= value;
  JCGO_FIELD_NZACCESS(This, offset)= offset;
  JCGO_FIELD_NZACCESS(This, count)= count;
 }
 return This;
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_String__new__IILo( java_lang_Object value, jint offset,
 jint count )
{
 return java_lang_String__this__IILo(
  (java_lang_String)jcgo_newObject((jvtable)&java_lang_String_methods),
  value, offset, count);
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_String__compareValuesIgnoreCase__LoILoII( java_lang_Object
 value, java_lang_Object value2, jint offset, jint offset2, jint count
 )
{
 {
  jint cmp;
  cmp= 0;
  if (offset != offset2 || value != value2)
  {
   if (jcgo_instanceOf0(OBJT_jbyte+OBJT_jarray, MAXT_jbyte+OBJT_jarray,
    (jObject)value))
   {
    jbyteArr bytes;
    bytes= (jbyteArr)value;
    if (jcgo_instanceOf0(OBJT_jbyte+OBJT_jarray, MAXT_jbyte+OBJT_jarray,
     (jObject)value2))
    {
     jbyteArr bytes2;
     bytes2= (jbyteArr)value2;
     while (count-- > 0)
     {
      jint jcgo_rcvrI1;
      if ((cmp= (jcgo_rcvrI1= (jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(bytes,
       offset++))), java_lang_String__compareCharsIgnoreCase__II(
       jcgo_rcvrI1, (jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(bytes2,
       offset2++)))))) != 0)
      {
       break;
      }
     }
    }
    else
    {
     jcharArr chars2;
     chars2= (jcharArr)JCGO_CAST_OBJECT0(OBJT_jchar+OBJT_jarray, MAXT_jchar+OBJT_jarray,
      value2);
     while (count-- > 0)
     {
      jint jcgo_rcvrI1;
      if ((cmp= (jcgo_rcvrI1= (jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(bytes,
       offset++))), java_lang_String__compareCharsIgnoreCase__II(
       jcgo_rcvrI1, JCGO_ARRAY_CACCESS(chars2, offset2++)))) != 0)
      {
       break;
      }
     }
    }
   }
   else
   {
    jcharArr chars;
    chars= (jcharArr)JCGO_CAST_OBJECT0(OBJT_jchar+OBJT_jarray, MAXT_jchar+OBJT_jarray,
     value);
    if (jcgo_instanceOf0(OBJT_jbyte+OBJT_jarray, MAXT_jbyte+OBJT_jarray,
     (jObject)value2))
    {
     jbyteArr bytes2;
     bytes2= (jbyteArr)value2;
     while (count-- > 0)
     {
      jchar jcgo_rcvrC1;
      if ((cmp= (jcgo_rcvrC1= JCGO_ARRAY_CACCESS(chars, offset++),
       java_lang_String__compareCharsIgnoreCase__II(
       jcgo_rcvrC1, (jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(bytes2,
       offset2++)))))) != 0)
      {
       break;
      }
     }
    }
    else
    {
     jcharArr chars2;
     chars2= (jcharArr)JCGO_CAST_OBJECT0(OBJT_jchar+OBJT_jarray, MAXT_jchar+OBJT_jarray,
      value2);
     while (count-- > 0)
     {
      jchar jcgo_rcvrC1;
      if ((cmp= (jcgo_rcvrC1= JCGO_ARRAY_CACCESS(chars, offset++),
       java_lang_String__compareCharsIgnoreCase__II(
       jcgo_rcvrC1, JCGO_ARRAY_CACCESS(chars2, offset2++)))) != 0)
      {
       break;
      }
     }
    }
   }
  }
  return cmp;
 }
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_String__lastIndexValueOf__ILoII( java_lang_Object value,
 jint ch, jint pos, jint count )
{
 {
  if (jcgo_instanceOf0(OBJT_jbyte+OBJT_jarray, MAXT_jbyte+OBJT_jarray,
   (jObject)value))
  {
   jbyteArr bytes;
   if (ch > (jint)255)
   {
    return pos - count;
   }
   bytes= (jbyteArr)value;
   while (count-- > 0 && ((jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(bytes,
    pos)))) != ch)
   {
    pos--;
   }
  }
  else
  {
   jcharArr chars;
   chars= (jcharArr)JCGO_CAST_OBJECT0(OBJT_jchar+OBJT_jarray, MAXT_jchar+OBJT_jarray,
    value);
   while (count-- > 0 && (jint)(JCGO_ARRAY_CACCESS(chars, pos)) !=
    ch)
   {
    pos--;
   }
  }
  return pos;
 }
}

JCGO_NOSEP_INLINE jchar CFASTCALL
java_lang_String__getValueAt__LoI( java_lang_Object value, jint index
 )
{
 {
  return (jchar)(jcgo_instanceOf0(OBJT_jbyte+OBJT_jarray, MAXT_jbyte+OBJT_jarray,
   (jObject)value)? (jchar)((jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(((jbyteArr)value),
   index)))) : JCGO_ARRAY_CACCESS(((jcharArr)JCGO_CAST_OBJECT0(OBJT_jchar+OBJT_jarray,
   MAXT_jchar+OBJT_jarray, value)), index));
 }
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_String__searchForNonLower__BAII( jbyteArr bytes, jint offset,
 jint count )
{
 {
  while (count-- > 0)
  {
   jchar ch;
   ch= (jchar)((jint)((unsigned char)(JCGO_ARRAY_BACCESS(bytes, offset))));
   if ((java_lang_Character__toLowerCase__C(
    ch)) != ch)
   {
    break;
   }
   offset++;
  }
  return offset;
 }
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_String__convertToLower__BAIBAII( jbyteArr bytes, jbyteArr
 bytes2, jint offset, jint offset2, jint count )
{
 {
  if (count > 0)
  {
   do
   {
    jchar ch;
    ch= (java_lang_Character__toLowerCase__C(
     (jchar)((jint)((unsigned char)(JCGO_ARRAY_BACCESS(bytes, offset++))))));
    if ((jint)ch > (jint)255)
    {
     break;
    }
    JCGO_ARRAY_BACCESS(bytes2, offset2++)= ((jbyte)ch);
   }
    while (--count > 0);
  }
  return count;
 }
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_String__searchForNonLower__CAII( jcharArr chars, jint offset,
 jint count )
{
 {
  while (count-- > 0)
  {
   jchar ch;
   ch= JCGO_ARRAY_CACCESS(chars, offset);
   if ((java_lang_Character__toLowerCase__C(
    ch)) != ch)
   {
    break;
   }
   offset++;
  }
  return offset;
 }
}

JCGO_NOSEP_INLINE void CFASTCALL
java_lang_String__convertToLower__CAICAIIZ( jcharArr chars, jcharArr
 chars2, jint offset, jint offset2, jint count, jboolean isTurkish
 )
{
 {
  if (isTurkish)
  {
   while (count-- > 0)
   {
    jchar ch;
    ch= JCGO_ARRAY_CACCESS(chars, offset++);
    if (ch == (jchar)73/*'I'*/)
    {
     ch= (jchar)0x131;
    }
    else
    {
     if (ch == (jchar)0x130)
     {
      ch= (jchar)105/*'i'*/;
     }
     else
     {
      ch= (java_lang_Character__toLowerCase__C(
       ch));
     }
    }
    JCGO_ARRAY_CACCESS(chars2, offset2++)= ch;
   }
  }
  else
  {
   while (count-- > 0)
   {
    jObject jcgo_rcvrL1;
    jint jcgo_rcvrI1;
    jchar jcgo_rcvrC1;
    (jcgo_rcvrL1= (jObject)chars2, jcgo_rcvrI1= offset2++, jcgo_rcvrC1=
     (java_lang_Character__toLowerCase__C(
     JCGO_ARRAY_CACCESS(chars, offset++))), JCGO_ARRAY_CACCESS((jcharArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrC1);
   }
  }
 }
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_String__hashCodeOfValue__LoII( java_lang_Object value, jint
 offset, jint count )
{
 {
  jint hashCode;
  hashCode= 0;
  if (jcgo_instanceOf0(OBJT_jbyte+OBJT_jarray, MAXT_jbyte+OBJT_jarray,
   (jObject)value))
  {
   jbyteArr bytes;
   bytes= (jbyteArr)value;
   while (count-- > 0)
   {
    hashCode= ((jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(bytes, offset)))) +
     JCGO_SHL_F(hashCode, (jint)5) - hashCode;
    offset++;
   }
  }
  else
  {
   jcharArr chars;
   chars= (jcharArr)JCGO_CAST_OBJECT0(OBJT_jchar+OBJT_jarray, MAXT_jchar+OBJT_jarray,
    value);
   while (count-- > 0)
   {
    hashCode= JCGO_ARRAY_CACCESS(chars, offset++) + JCGO_SHL_F(hashCode,
     (jint)5) - hashCode;
   }
  }
  return hashCode;
 }
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_String__searchForNonUpper__BAII( jbyteArr bytes, jint offset,
 jint count )
{
 {
  while (count-- > 0)
  {
   jchar ch;
   ch= (jchar)((jint)((unsigned char)(JCGO_ARRAY_BACCESS(bytes, offset))));
   if ((java_lang_Character__toUpperCase__C(
    ch)) != ch || (java_lang_String__upperCaseExpansion__C(
    ch)) > 0)
   {
    break;
   }
   offset++;
  }
  return offset;
 }
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_String__convertToUpper__BAIBAII( jbyteArr bytes, jbyteArr
 bytes2, jint offset, jint offset2, jint count )
{
 {
  if (count > 0)
  {
   do
   {
    jchar ch;
    ch= (jchar)((jint)((unsigned char)(JCGO_ARRAY_BACCESS(bytes, offset++))));
    if ((java_lang_String__upperCaseExpansion__C(
     ch)) > 0)
    {
     break;
    }
    ch= (java_lang_Character__toUpperCase__C(
     ch));
    if ((jint)ch > (jint)255)
    {
     break;
    }
    JCGO_ARRAY_BACCESS(bytes2, offset2++)= ((jbyte)ch);
   }
    while (--count > 0);
  }
  return count;
 }
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_String__searchForNonUpper__CAII( jcharArr chars, jint offset,
 jint count )
{
 {
  while (count-- > 0)
  {
   jchar ch;
   ch= JCGO_ARRAY_CACCESS(chars, offset);
   if ((java_lang_Character__toUpperCase__C(
    ch)) != ch || (java_lang_String__upperCaseExpansion__C(
    ch)) > 0)
   {
    break;
   }
   offset++;
  }
  return offset;
 }
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_String__getUpperExpansion__CAII( jcharArr chars, jint offset,
 jint count )
{
 {
  jint expand;
  expand= 0;
  while (count-- > 0)
  {
   expand+= (java_lang_String__upperCaseExpansion__C(
    JCGO_ARRAY_CACCESS(chars, offset++)));
  }
  return expand;
 }
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_String__upperCaseIndex__C( jchar ch )
{
 {
  jcharArr upperSpecialArr;
  jint low;
  jint hi;
  jint mid;
  jchar c;
  low= 0;
  upperSpecialArr= java_lang_String__upperSpecial;
  hi= JCGO_ARRAY_NZLENGTH(upperSpecialArr) - (jint)2;
  while ((c= JCGO_ARRAY_NZCACCESS(upperSpecialArr, mid= JCGO_SHL_F(JCGO_SHR_F((low +
   hi), (jint)2), (jint)1))) != ch)
  {
   if (ch < c)
   {
    hi= mid - (jint)2;
   }
   else
   {
    low= mid + (jint)2;
   }
  }
  return (jint)(JCGO_ARRAY_NZCACCESS(upperSpecialArr, mid + (jint)1));
 }
}

JCGO_NOSEP_INLINE void CFASTCALL
java_lang_String__convertToUpper__CAICAIIZ( jcharArr chars, jcharArr
 chars2, jint offset, jint offset2, jint count, jboolean isTurkish
 )
{
 {
  while (count-- > 0)
  {
   jchar ch;
   ch= JCGO_ARRAY_CACCESS(chars, offset++);
   if (ch == (jchar)0x131 && isTurkish)
   {
    ch= (jchar)73/*'I'*/;
   }
   else
   {
    if (ch == (jchar)105/*'i'*/ && isTurkish)
    {
     ch= (jchar)0x130;
    }
    else
    {
     jint expand;
     expand= (java_lang_String__upperCaseExpansion__C(
      ch));
     if (expand > 0)
     {
      jcharArr upperExpandArr;
      jint index;
      upperExpandArr= java_lang_String__upperExpand;
      index= (java_lang_String__upperCaseIndex__C(
       ch));
      do
      {
       jObject jcgo_rcvrL1;
       jint jcgo_rcvrI1;
       jchar jcgo_rcvrC1;
       (jcgo_rcvrL1= (jObject)chars2, jcgo_rcvrI1= offset2++, jcgo_rcvrC1=
        JCGO_ARRAY_NZCACCESS(upperExpandArr, index++), JCGO_ARRAY_CACCESS((jcharArr)jcgo_rcvrL1,
        jcgo_rcvrI1)= jcgo_rcvrC1);
      }
       while (--expand > 0);
      ch= JCGO_ARRAY_NZCACCESS(upperExpandArr, index);
     }
     else
     {
      ch= (java_lang_Character__toUpperCase__C(
       ch));
     }
    }
   }
   JCGO_ARRAY_CACCESS(chars2, offset2++)= ch;
  }
 }
}

JCGO_NOSEP_INLINE void CFASTCALL
java_lang_String__convertToUpper__CAICAII( jcharArr chars, jcharArr
 chars2, jint offset, jint offset2, jint count )
{
 {
  while (count-- > 0)
  {
   jObject jcgo_rcvrL1;
   jint jcgo_rcvrI1;
   jchar jcgo_rcvrC1;
   (jcgo_rcvrL1= (jObject)chars2, jcgo_rcvrI1= offset2++, jcgo_rcvrC1=
    (java_lang_Character__toUpperCase__C(
    JCGO_ARRAY_CACCESS(chars, offset++))), JCGO_ARRAY_CACCESS((jcharArr)jcgo_rcvrL1,
    jcgo_rcvrI1)= jcgo_rcvrC1);
  }
 }
}

JCGO_NOSEP_INLINE java_nio_CharBuffer CFASTCALL
java_lang_String__decodeBytes__BAIILs( jbyteArr bytes, java_lang_String
 encoding, jint offset, jint count )
{
 {
  java_nio_charset_CharsetDecoder csd;
  jObject jcgo_rcvrL1;
  struct java_nio_ByteBufferImpl_s jcgo_stackobj1;
  if ((offset | count) < 0 || JCGO_ARRAY_LENGTH(bytes) - offset < count)
  {
   JCGO_THROW_EXC(java_lang_StringIndexOutOfBoundsException__new__());
  }
  csd= (jcgo_rcvrL1= (jObject)(java_nio_charset_Charset__forName__Ls(
   encoding)), JCGO_CALL_NZVFUNC((java_nio_charset_Charset)jcgo_rcvrL1)->newDecoder__(
   (java_nio_charset_Charset)jcgo_rcvrL1));
  (JCGO_CALL_FINALF(csd) java_nio_charset_CharsetDecoder__onMalformedInput__L6zetg(
   csd, JCGO_CLINIT_VARACC(java_nio_charset_CodingErrorAction__class,
   java_nio_charset_CodingErrorAction__REPLACE)));
  (java_nio_charset_CharsetDecoder__onUnmappableCharacter__L6zetg(
   csd, java_nio_charset_CodingErrorAction__REPLACE));
  return (java_nio_charset_CharsetDecoder__decode__L9oaia(
   csd, (java_nio_ByteBuffer__wrap__BAIIX(
   bytes, offset, count, JCGO_STACKOBJVLT_NEW(jcgo_stackobj1, java_nio_ByteBufferImpl_methods)))));
 }
}

JCGO_NOSEP_INLINE jbyteArr CFASTCALL
java_lang_String__encodeValue__LoIILs( java_lang_Object value, java_lang_String
 encoding, jint offset, jint count )
{
 {
  java_nio_charset_CharsetEncoder cse;
  jcharArr chars;
  java_nio_ByteBuffer bbuf;
  jbyteArr newBytes;
  jint bytesLen;
  jObject jcgo_rcvrL1;
  struct java_nio_CharBufferImpl_s jcgo_stackobj1;
  cse= (jcgo_rcvrL1= (jObject)(java_nio_charset_Charset__forName__Ls(
   encoding)), JCGO_CALL_NZVFUNC((java_nio_charset_Charset)jcgo_rcvrL1)->newEncoder__(
   (java_nio_charset_Charset)jcgo_rcvrL1));
  (JCGO_CALL_FINALF(cse) java_nio_charset_CharsetEncoder__onMalformedInput__L6zetg(
   cse, JCGO_CLINIT_VARACC(java_nio_charset_CodingErrorAction__class,
   java_nio_charset_CodingErrorAction__REPLACE)));
  (java_nio_charset_CharsetEncoder__onUnmappableCharacter__L6zetg(
   cse, java_nio_charset_CodingErrorAction__REPLACE));
  if (jcgo_instanceOf0(OBJT_jbyte+OBJT_jarray, MAXT_jbyte+OBJT_jarray,
   (jObject)value))
  {
   chars= (jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar), 0,
    count);
   (java_lang_String__copyToChars__LoICAII(
    value, chars, offset, 0, count));
   offset= 0;
  }
  else
  {
   chars= (jcharArr)JCGO_CAST_OBJECT0(OBJT_jchar+OBJT_jarray, MAXT_jchar+OBJT_jarray,
    value);
  }
  bbuf= (java_nio_charset_CharsetEncoder__encode__L3367b(
   cse, (java_nio_CharBuffer__wrap__CAIIX(
   chars, offset, count, JCGO_STACKOBJVLT_NEW(jcgo_stackobj1, java_nio_CharBufferImpl_methods)))));
  bytesLen= (java_nio_Buffer__remaining__(
   (java_nio_Buffer)bbuf));
  if ((java_nio_ByteBuffer__hasArray__(
   bbuf)) && (java_nio_Buffer__capacity__(
   (java_nio_Buffer)bbuf)) == bytesLen)
  {
   return (java_nio_ByteBuffer__array__(
    bbuf));
  }
  newBytes= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
   0, bytesLen);
  (java_nio_ByteBuffer__get__BA(
   bbuf, newBytes));
  return newBytes;
 }
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_String__this__( java_lang_String This )
{
 {
  ;
  JCGO_FIELD_NZACCESS(This, value)= JCGO_FIELD_NZACCESS(JCGO_STRREF_OF(jcgo_string3_String6D),
   value);
  (void)0;
  (void)0;
 }
 return This;
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_String__this__CA( java_lang_String This, jcharArr data )
{
 {
  jint count;
  count= JCGO_ARRAY_LENGTH(data);
  (void)0;
  if ((java_lang_String__hasHighByte__CAII(
   data, 0, count)))
  {
   (java_lang_VMSystem__arraycopy__LoILoII(
    (java_lang_Object)data, JCGO_FIELD_NZACCESS(This, value)= (java_lang_Object)((jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar),
    0, count)), 0, 0, count));
  }
  else
  {
   jbyteArr newBytes;
   newBytes= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
    0, count);
   (java_lang_String__copyCharsToBytes__CAIBAII(
    data, newBytes, 0, 0, count));
   JCGO_FIELD_NZACCESS(This, value)= (java_lang_Object)newBytes;
  }
  JCGO_FIELD_NZACCESS(This, count)= count;
 }
 return This;
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_String__new__CA( jcharArr data )
{
 return java_lang_String__this__CA(
  (java_lang_String)jcgo_newObject((jvtable)&java_lang_String_methods),
  data);
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_String__this__CAII( java_lang_String This, jcharArr data,
 jint offset, jint count )
{
 {
  ;
  if ((offset | count) < 0 || JCGO_ARRAY_LENGTH(data) - offset < count)
  {
   JCGO_THROW_EXC(java_lang_StringIndexOutOfBoundsException__new__());
  }
  (void)0;
  if ((java_lang_String__hasHighByte__CAII(
   data, offset, count)))
  {
   (java_lang_VMSystem__arraycopy__LoILoII(
    (java_lang_Object)data, JCGO_FIELD_NZACCESS(This, value)= (java_lang_Object)((jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar),
    0, count)), offset, 0, count));
  }
  else
  {
   jbyteArr newBytes;
   newBytes= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
    0, count);
   (java_lang_String__copyCharsToBytes__CAIBAII(
    data, newBytes, offset, 0, count));
   JCGO_FIELD_NZACCESS(This, value)= (java_lang_Object)newBytes;
  }
  JCGO_FIELD_NZACCESS(This, count)= count;
 }
 return This;
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_String__new__CAII( jcharArr data, jint offset, jint count
 )
{
 return java_lang_String__this__CAII(
  (java_lang_String)jcgo_newObject((jvtable)&java_lang_String_methods),
  data, offset, count);
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_String__this__BAII( java_lang_String This, jbyteArr data,
 jint offset, jint count )
{
 {
  java_nio_CharBuffer JCGO_TRY_VOLATILE cbuf;
  cbuf= (java_nio_CharBuffer)jnull;
  {
   JCGO_TRY_BLOCK
   {
    cbuf= (java_lang_String__decodeBytes__BAIILs(
     data, (gnu_classpath_SystemProperties__getProperty__Ls(
     JCGO_STRREF_OF(jcgo_string4_String6D))), offset, count));
   }
   JCGO_TRY_LEAVE
   JCGO_TRY_CATCHES(1)
   JCGO_TRY_CATCH(OBJT_java_nio_charset_CharacterCodingException, MAXT_java_nio_charset_CharacterCodingException)
   {
    java_nio_charset_CharacterCodingException e;
    e= (java_nio_charset_CharacterCodingException)JCGO_TRY_THROWABLE(0);
    JCGO_THROW_EXC((java_lang_Error)JCGO_CAST_OBJECT0(OBJT_java_lang_Error,
     MAXT_java_lang_Error, (java_lang_Throwable__initCause__Lt(
     (java_lang_Throwable)java_lang_InternalError__new__(), (java_lang_Throwable)e))));
   }
   JCGO_TRY_CATCH(OBJT_java_nio_charset_IllegalCharsetNameException,
    MAXT_java_nio_charset_IllegalCharsetNameException)
   {
    java_nio_charset_IllegalCharsetNameException e;
    e= (java_nio_charset_IllegalCharsetNameException)JCGO_TRY_THROWABLE(0);
    JCGO_THROW_EXC((java_lang_Error)JCGO_CAST_OBJECT0(OBJT_java_lang_Error,
     MAXT_java_lang_Error, (java_lang_Throwable__initCause__Lt(
     (java_lang_Throwable)java_lang_InternalError__new__(), (java_lang_Throwable)e))));
   }
   JCGO_TRY_CATCH(OBJT_java_nio_charset_UnsupportedCharsetException,
    MAXT_java_nio_charset_UnsupportedCharsetException)
   {
    java_nio_charset_UnsupportedCharsetException e;
    e= (java_nio_charset_UnsupportedCharsetException)JCGO_TRY_THROWABLE(0);
    JCGO_THROW_EXC((java_lang_Error)JCGO_CAST_OBJECT0(OBJT_java_lang_Error,
     MAXT_java_lang_Error, (java_lang_Throwable__initCause__Lt(
     (java_lang_Throwable)java_lang_InternalError__new__(), (java_lang_Throwable)e))));
   }
   JCGO_TRY_RETHROW(1)
  }
  if ((JCGO_CALL_FINALF(cbuf) java_nio_CharBuffer__hasArray__(
   cbuf)))
  {
   JCGO_FIELD_NZACCESS(This, value)= (java_lang_Object)(java_nio_CharBuffer__array__(
    cbuf));
   JCGO_FIELD_NZACCESS(This, offset)= (java_nio_Buffer__position__(
    (java_nio_Buffer)cbuf));
   JCGO_FIELD_NZACCESS(This, count)= (java_nio_Buffer__remaining__(
    (java_nio_Buffer)cbuf));
  }
  else
  {
   jcharArr newChars;
   newChars= (jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar),
    0, (java_nio_Buffer__remaining__(
    (java_nio_Buffer)cbuf)));
   (java_nio_CharBuffer__get__CA(
    cbuf, newChars));
   JCGO_FIELD_NZACCESS(This, value)= (java_lang_Object)newChars;
   (void)0;
   JCGO_FIELD_NZACCESS(This, count)= JCGO_ARRAY_NZLENGTH(newChars);
  }
 }
 return This;
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_String__new__BAII( jbyteArr data, jint offset, jint count
 )
{
 return java_lang_String__this__BAII(
  (java_lang_String)jcgo_newObject((jvtable)&java_lang_String_methods),
  data, offset, count);
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_String__this__L8whtv( java_lang_String This, java_lang_StringBuffer
 buffer )
{
 {
  ;
  (void)0;
  {
   JCGO_SYNC_BLOCK(buffer)
   {
    (java_lang_StringBuffer__setShared__(
     buffer));
    JCGO_FIELD_NZACCESS(This, value)= (java_lang_StringBuffer__value__(
     buffer));
    JCGO_FIELD_NZACCESS(This, count)= (java_lang_StringBuffer__length__(
     buffer));
   }
   JCGO_SYNC_END
  }
 }
 return This;
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_String__new__L8whtv( java_lang_StringBuffer buffer )
{
 return java_lang_String__this__L8whtv(
  (java_lang_String)jcgo_newObject((jvtable)&java_lang_String_methods),
  buffer);
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_String__this__L5dy9e( java_lang_String This, java_lang_StringBuilder
 buffer )
{
 {
  ;
  (void)0;
  (JCGO_CALL_FINALF(buffer) java_lang_StringBuilder__setShared__(
   buffer));
  JCGO_FIELD_NZACCESS(This, value)= (java_lang_StringBuilder__value__(
   buffer));
  JCGO_FIELD_NZACCESS(This, count)= (java_lang_StringBuilder__length__(
   buffer));
 }
 return This;
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_String__new__L5dy9e( java_lang_StringBuilder buffer )
{
 return java_lang_String__this__L5dy9e(
  (java_lang_String)jcgo_newObject((jvtable)&java_lang_String_methods),
  buffer);
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_String__this__CAIIZ( java_lang_String This, jcharArr data,
 jint offset, jint count, jboolean dontCopy )
{
 {
  ;
  if (offset <= 0)
  {
   offset= 0;
  }
  if (count <= 0)
  {
   count= 0;
  }
  if (JCGO_ARRAY_LENGTH(data) - offset < count)
  {
   offset= 0;
   count= JCGO_ARRAY_NZLENGTH(data);
  }
  if (dontCopy)
  {
   JCGO_FIELD_NZACCESS(This, value)= (java_lang_Object)data;
   JCGO_FIELD_NZACCESS(This, offset)= offset;
  }
  else
  {
   (void)0;
   if ((java_lang_String__hasHighByte__CAII(
    data, offset, count)))
   {
    (java_lang_VMSystem__arraycopy__LoILoII(
     (java_lang_Object)data, JCGO_FIELD_NZACCESS(This, value)= (java_lang_Object)((jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar),
     0, count)), offset, 0, count));
   }
   else
   {
    jbyteArr newBytes;
    newBytes= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
     0, count);
    (java_lang_String__copyCharsToBytes__CAIBAII(
     data, newBytes, offset, 0, count));
    JCGO_FIELD_NZACCESS(This, value)= (java_lang_Object)newBytes;
   }
  }
  JCGO_FIELD_NZACCESS(This, count)= count;
 }
 return This;
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_String__new__CAIIZ( jcharArr data, jint offset, jint count,
 jboolean dontCopy )
{
 return java_lang_String__this__CAIIZ(
  (java_lang_String)jcgo_newObject((jvtable)&java_lang_String_methods),
  data, offset, count, dontCopy);
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_String__length__( java_lang_String This )
{
 {
  return JCGO_FIELD_NZACCESS(This, count);
 }
}

JCGO_NOSEP_STATIC jchar CFASTCALL
java_lang_String__charAt__I( java_lang_String This, jint index )
{
 {
  java_lang_Object value;
  if (index < 0 || index >= JCGO_FIELD_NZACCESS(This, count))
  {
   JCGO_THROW_EXC((java_lang_StringIndexOutOfBoundsException__new__I(
    index)));
  }
  value= JCGO_FIELD_NZACCESS(This, value);
  return (jchar)((JCGO_METHODS_OF(value)->jcgo_typeid== OBJT_jbyte+OBJT_jarray)?
   (jchar)((jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(((jbyteArr)value),
   JCGO_FIELD_NZACCESS(This, offset) + index)))) : JCGO_ARRAY_NZCACCESS(((jcharArr)JCGO_CAST_OBJECT0(OBJT_jchar+OBJT_jarray,
   MAXT_jchar+OBJT_jarray, value)), JCGO_FIELD_NZACCESS(This, offset) +
   index));
 }
}

JCGO_NOSEP_INLINE jbyteArr CFASTCALL
java_lang_String__getBytes__( java_lang_String This )
{
 {
  {
   JCGO_TRY_BLOCK
   {
    jObject jcgo_rcvrL1;
    jint jcgo_rcvrI1;
    jint jcgo_rcvrI2;
    {
     jbyteArr jcgo_retval= (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This,
      value), jcgo_rcvrI1= JCGO_FIELD_NZACCESS(This, offset), jcgo_rcvrI2=
      JCGO_FIELD_NZACCESS(This, count), java_lang_String__encodeValue__LoIILs(
      (java_lang_Object)jcgo_rcvrL1, (gnu_classpath_SystemProperties__getProperty__Ls(
      JCGO_STRREF_OF(jcgo_string4_String6D))), jcgo_rcvrI1, jcgo_rcvrI2));
#ifndef JCGO_SEHTRY
     jcgo_tryLeave();
#endif
     return jcgo_retval;
    }
   }
   JCGO_TRY_LEAVE
   JCGO_TRY_CATCHES(1)
   JCGO_TRY_CATCH(OBJT_java_nio_charset_CharacterCodingException, MAXT_java_nio_charset_CharacterCodingException)
   {
    java_nio_charset_CharacterCodingException e;
    e= (java_nio_charset_CharacterCodingException)JCGO_TRY_THROWABLE(0);
    JCGO_THROW_EXC((java_lang_Error)JCGO_CAST_OBJECT0(OBJT_java_lang_Error,
     MAXT_java_lang_Error, (java_lang_Throwable__initCause__Lt(
     (java_lang_Throwable)java_lang_InternalError__new__(), (java_lang_Throwable)e))));
   }
   JCGO_TRY_CATCH(OBJT_java_nio_charset_IllegalCharsetNameException,
    MAXT_java_nio_charset_IllegalCharsetNameException)
   {
    java_nio_charset_IllegalCharsetNameException e;
    e= (java_nio_charset_IllegalCharsetNameException)JCGO_TRY_THROWABLE(0);
    JCGO_THROW_EXC((java_lang_Error)JCGO_CAST_OBJECT0(OBJT_java_lang_Error,
     MAXT_java_lang_Error, (java_lang_Throwable__initCause__Lt(
     (java_lang_Throwable)java_lang_InternalError__new__(), (java_lang_Throwable)e))));
   }
   JCGO_TRY_CATCH(OBJT_java_nio_charset_UnsupportedCharsetException,
    MAXT_java_nio_charset_UnsupportedCharsetException)
   {
    java_nio_charset_UnsupportedCharsetException e;
    e= (java_nio_charset_UnsupportedCharsetException)JCGO_TRY_THROWABLE(0);
    JCGO_THROW_EXC((java_lang_Error)JCGO_CAST_OBJECT0(OBJT_java_lang_Error,
     MAXT_java_lang_Error, (java_lang_Throwable__initCause__Lt(
     (java_lang_Throwable)java_lang_InternalError__new__(), (java_lang_Throwable)e))));
   }
   JCGO_TRY_RETHROW(1)
  }
 }
 return jnull;
}

JCGO_NOSEP_STATIC jboolean CFASTCALL
java_lang_String__equals__Lo( java_lang_String This, java_lang_Object
 obj )
{
 {
  java_lang_String anotherString;
  jint count;
  if (obj == (java_lang_Object)This)
  {
   return (jboolean)jtrue;
  }
  if (!jcgo_instanceOf0(OBJT_java_lang_String, MAXT_java_lang_String,
   (jObject)obj))
  {
   return (jboolean)jfalse;
  }
  anotherString= (java_lang_String)obj;
  count= JCGO_FIELD_NZACCESS(This, count);
  return (jboolean)(JCGO_FIELD_NZACCESS(anotherString, count) == count &&
   (java_lang_String__compareValues__LoILoII(
   JCGO_FIELD_NZACCESS(This, value), JCGO_FIELD_NZACCESS(anotherString,
   value), JCGO_FIELD_NZACCESS(This, offset), JCGO_FIELD_NZACCESS(anotherString,
   offset), count)) == 0);
 }
}

JCGO_NOSEP_STATIC jboolean CFASTCALL
java_lang_String__equalsIgnoreCase__Ls( java_lang_String This, java_lang_String
 anotherString )
{
 {
  jint count;
  count= JCGO_FIELD_NZACCESS(This, count);
  return (jboolean)(anotherString != jnull && JCGO_FIELD_NZACCESS(anotherString,
   count) == count && (java_lang_String__compareValuesIgnoreCase__LoILoII(
   JCGO_FIELD_NZACCESS(This, value), JCGO_FIELD_NZACCESS(anotherString,
   value), JCGO_FIELD_NZACCESS(This, offset), JCGO_FIELD_NZACCESS(anotherString,
   offset), count)) == 0);
 }
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_String__compareTo__Ls( java_lang_String This, java_lang_String
 anotherString )
{
 {
  jint count2;
  jint count;
  jint cmp;
  count2= JCGO_FIELD_ACCESS(java_lang_String, anotherString, count);
  count= JCGO_FIELD_NZACCESS(This, count);
  cmp= (java_lang_String__compareValues__LoILoII(
   JCGO_FIELD_NZACCESS(This, value), JCGO_FIELD_NZACCESS(anotherString,
   value), JCGO_FIELD_NZACCESS(This, offset), JCGO_FIELD_NZACCESS(anotherString,
   offset), count < count2? count : count2));
  if (cmp == 0)
  {
   cmp= count - count2;
  }
  return cmp;
 }
}

JCGO_NOSEP_STATIC jboolean CFASTCALL
java_lang_String__regionMatches__ILsII( java_lang_String This, java_lang_String
 other, jint toffset, jint ooffset, jint len )
{
 {
  return (jboolean)(JCGO_FIELD_ACCESS(java_lang_String, other, count) -
   ooffset >= len && JCGO_FIELD_NZACCESS(This, count) - toffset >=
   len && (toffset | ooffset) >= 0 && (java_lang_String__compareValues__LoILoII(
   JCGO_FIELD_NZACCESS(This, value), JCGO_FIELD_NZACCESS(other, value),
   JCGO_FIELD_NZACCESS(This, offset) + toffset, JCGO_FIELD_NZACCESS(other,
   offset) + ooffset, len)) == 0);
 }
}

JCGO_NOSEP_STATIC jboolean CFASTCALL
java_lang_String__startsWith__Ls( java_lang_String This, java_lang_String
 prefix )
{
 {
  jint count2;
  count2= JCGO_FIELD_ACCESS(java_lang_String, prefix, count);
  return (jboolean)(JCGO_FIELD_NZACCESS(This, count) >= count2 && (java_lang_String__compareValues__LoILoII(
   JCGO_FIELD_NZACCESS(This, value), JCGO_FIELD_NZACCESS(prefix, value),
   JCGO_FIELD_NZACCESS(This, offset), JCGO_FIELD_NZACCESS(prefix, offset),
   count2)) == 0);
 }
}

JCGO_NOSEP_STATIC jboolean CFASTCALL
java_lang_String__endsWith__Ls( java_lang_String This, java_lang_String
 suffix )
{
 {
  jint count2;
  jint toffset;
  count2= JCGO_FIELD_ACCESS(java_lang_String, suffix, count);
  toffset= JCGO_FIELD_NZACCESS(This, count) - count2;
  return (jboolean)(toffset >= 0 && (java_lang_String__compareValues__LoILoII(
   JCGO_FIELD_NZACCESS(This, value), JCGO_FIELD_NZACCESS(suffix, value),
   JCGO_FIELD_NZACCESS(This, offset) + toffset, JCGO_FIELD_NZACCESS(suffix,
   offset), count2)) == 0);
 }
}

JCGO_NOSEP_STATIC jint CFASTCALL
java_lang_String__hashCode__( java_lang_String This )
{
 {
  jint hashCode;
  hashCode= JCGO_FIELD_NZACCESS(This, cachedHashCode);
  if (hashCode == 0 && (hashCode= (java_lang_String__hashCodeOfValue__LoII(
   JCGO_FIELD_NZACCESS(This, value), JCGO_FIELD_NZACCESS(This, offset),
   JCGO_FIELD_NZACCESS(This, count)))) != 0)
  {
   JCGO_FIELD_NZACCESS(This, cachedHashCode)= hashCode;
  }
  return hashCode;
 }
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_String__indexOf__I( java_lang_String This, jint ch )
{
 {
  return (java_lang_String__indexOf__II(
   This, ch, 0));
 }
}

JCGO_NOSEP_STATIC jint CFASTCALL
java_lang_String__indexOf__II( java_lang_String This, jint ch, jint
 fromIndex )
{
 {
  if ((jint)((jchar)ch) == ch)
  {
   jint offset;
   jint count;
   if (fromIndex <= 0)
   {
    fromIndex= 0;
   }
   offset= JCGO_FIELD_NZACCESS(This, offset);
   count= JCGO_FIELD_NZACCESS(This, count);
   fromIndex= (java_lang_String__indexValueOf__ILoII(
    JCGO_FIELD_NZACCESS(This, value), ch, offset + fromIndex, count -
    fromIndex)) - offset;
   if (fromIndex < count)
   {
    return fromIndex;
   }
  }
  return (-(jint)1);
 }
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_String__lastIndexOf__I( java_lang_String This, jint ch )
{
 {
  return (java_lang_String__lastIndexOf__II(
   This, ch, JCGO_FIELD_NZACCESS(This, count) - (jint)1));
 }
}

JCGO_NOSEP_STATIC jint CFASTCALL
java_lang_String__lastIndexOf__II( java_lang_String This, jint ch,
 jint fromIndex )
{
 {
  jint offset;
  if ((jint)((jchar)ch) != ch || fromIndex < 0)
  {
   return (-(jint)1);
  }
  if (fromIndex >= JCGO_FIELD_NZACCESS(This, count))
  {
   fromIndex= JCGO_FIELD_NZACCESS(This, count) - (jint)1;
  }
  offset= JCGO_FIELD_NZACCESS(This, offset);
  return (java_lang_String__lastIndexValueOf__ILoII(
   JCGO_FIELD_NZACCESS(This, value), ch, offset + fromIndex, fromIndex +
   (jint)1)) - offset;
 }
}

JCGO_NOSEP_INLINE jint CFASTCALL
java_lang_String__indexOf__Ls( java_lang_String This, java_lang_String
 str )
{
 {
  return (java_lang_String__indexOf__LsI(
   This, str, 0));
 }
}

JCGO_NOSEP_STATIC jint CFASTCALL
java_lang_String__indexOf__LsI( java_lang_String This, java_lang_String
 str, jint fromIndex )
{
 {
  jint lastInd2;
  jint limit;
  lastInd2= JCGO_FIELD_ACCESS(java_lang_String, str, count) - (jint)1;
  if (fromIndex <= 0)
  {
   fromIndex= 0;
  }
  limit= JCGO_FIELD_NZACCESS(This, count) - lastInd2;
  if (fromIndex >= limit)
  {
   return (-(jint)1);
  }
  if (lastInd2 >= 0)
  {
   java_lang_Object value2;
   java_lang_Object value;
   jint offset2;
   jint ch;
   jint offset;
   value2= JCGO_FIELD_NZACCESS(str, value);
   offset2= JCGO_FIELD_NZACCESS(str, offset);
   ch= (jint)(java_lang_String__getValueAt__LoI(
    value2, offset2));
   value= JCGO_FIELD_NZACCESS(This, value);
   offset= JCGO_FIELD_NZACCESS(This, offset);
   offset2++;
   do
   {
    fromIndex= (java_lang_String__indexValueOf__ILoII(
     value, ch, offset + fromIndex, limit - fromIndex)) - offset;
    if (fromIndex >= limit)
    {
     return (-(jint)1);
    }
    if ((java_lang_String__compareValues__LoILoII(
     value, value2, offset + fromIndex + (jint)1, offset2, lastInd2)) ==
     0)
    {
     break;
    }
    fromIndex++;
   }
    while (jtrue);
  }
  return fromIndex;
 }
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_String__substring__I( java_lang_String This, jint beginIndex
 )
{
 {
  return (java_lang_String__substring__II(
   This, beginIndex, JCGO_FIELD_NZACCESS(This, count)));
 }
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_String__substring__II( java_lang_String This, jint beginIndex,
 jint endIndex )
{
 {
  jint margins;
  jint len;
  margins= (JCGO_FIELD_NZACCESS(This, count) - endIndex) | beginIndex;
  if (margins == 0)
  {
   return This;
  }
  if (margins < 0 || endIndex < beginIndex)
  {
   JCGO_THROW_EXC(java_lang_StringIndexOutOfBoundsException__new__());
  }
  len= endIndex - beginIndex;
  return len > 0? (java_lang_String__new__IILo(
   JCGO_FIELD_NZACCESS(This, value), JCGO_FIELD_NZACCESS(This, offset) +
   beginIndex, len)) : JCGO_STRREF_OF(jcgo_string3_String6D);
 }
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_String__concat__Ls( java_lang_String This, java_lang_String
 str )
{
 {
  java_lang_Object value;
  java_lang_Object value2;
  jcharArr newChars;
  jint count2;
  jint count;
  jint offset;
  jint offset2;
  count2= JCGO_FIELD_ACCESS(java_lang_String, str, count);
  count= JCGO_FIELD_NZACCESS(This, count);
  if (count2 == 0)
  {
   return This;
  }
  if (count == 0)
  {
   return str;
  }
  value= JCGO_FIELD_NZACCESS(This, value);
  value2= JCGO_FIELD_NZACCESS(str, value);
  offset= JCGO_FIELD_NZACCESS(This, offset);
  offset2= JCGO_FIELD_NZACCESS(str, offset);
  if ((java_lang_String__getValueLength__Lo(
   value)) - offset - count >= count2 && (java_lang_String__compareValues__LoILoII(
   value, value2, offset + count, offset2, count2)) == 0)
  {
   return (java_lang_String__new__IILo(
    value, offset, count + count2));
  }
  if (offset2 >= count && (java_lang_String__compareValues__LoILoII(
   value, value2, offset, offset2 - count, count)) == 0)
  {
   return (java_lang_String__new__IILo(
    value2, offset2 - count, count + count2));
  }
  if ((JCGO_METHODS_OF(value)->jcgo_typeid== OBJT_jbyte+OBJT_jarray) &&
   (JCGO_METHODS_OF(value2)->jcgo_typeid== OBJT_jbyte+OBJT_jarray))
  {
   jbyteArr newBytes;
   newBytes= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
    0, count + count2);
   (java_lang_VMSystem__arraycopy__LoILoII(
    value, (java_lang_Object)newBytes, offset, 0, count));
   (java_lang_VMSystem__arraycopy__LoILoII(
    value2, (java_lang_Object)newBytes, offset2, count, count2));
   return (java_lang_String__new__IILo(
    (java_lang_Object)newBytes, 0, JCGO_ARRAY_NZLENGTH(newBytes)));
  }
  newChars= (jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar),
   0, count + count2);
  (java_lang_String__copyToChars__LoICAII(
   value, newChars, offset, 0, count));
  (java_lang_String__copyToChars__LoICAII(
   value2, newChars, offset2, count, count2));
  return (java_lang_String__new__IILo(
   (java_lang_Object)newChars, 0, JCGO_ARRAY_NZLENGTH(newChars)));
 }
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_String__replace__CC( java_lang_String This, jchar oldChar,
 jchar newChar )
{
 {
  java_lang_Object value;
  jcharArr newChars;
  jint pos;
  jint count;
  if (oldChar == newChar || (pos= (java_lang_String__indexOf__II(
   This, oldChar, 0))) < 0)
  {
   return This;
  }
  count= JCGO_FIELD_NZACCESS(This, count);
  value= JCGO_FIELD_NZACCESS(This, value);
  if ((jint)newChar <= (jint)255 && (JCGO_METHODS_OF(value)->jcgo_typeid==
   OBJT_jbyte+OBJT_jarray))
  {
   jbyteArr newBytes;
   newBytes= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
    0, count);
   (java_lang_VMSystem__arraycopy__LoILoII(
    value, (java_lang_Object)newBytes, JCGO_FIELD_NZACCESS(This, offset),
    0, count));
   JCGO_ARRAY_NZBACCESS(newBytes, pos)= ((jbyte)newChar);
   while (++pos < count)
   {
    if (((jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(newBytes, pos)))) ==
     (jint)oldChar)
    {
     JCGO_ARRAY_NZBACCESS(newBytes, pos)= ((jbyte)newChar);
    }
   }
   return (java_lang_String__new__IILo(
    (java_lang_Object)newBytes, 0, count));
  }
  newChars= (jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar),
   0, count);
  (java_lang_String__copyToChars__LoICAII(
   value, newChars, JCGO_FIELD_NZACCESS(This, offset), 0, count));
  JCGO_ARRAY_NZCACCESS(newChars, pos)= newChar;
  while (++pos < count)
  {
   if (JCGO_ARRAY_NZCACCESS(newChars, pos) == oldChar)
   {
    JCGO_ARRAY_NZCACCESS(newChars, pos)= newChar;
   }
  }
  return (java_lang_String__new__IILo(
   (java_lang_Object)newChars, 0, count));
 }
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_String__toLowerCase__( java_lang_String This )
{
 {
  return (java_lang_String__toLowerCase__Z(
   This, (jboolean)jfalse));
 }
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_String__toUpperCase__( java_lang_String This )
{
 {
  return (java_lang_String__toUpperCase__Z(
   This, (jboolean)jfalse));
 }
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_String__trim__( java_lang_String This )
{
 {
  java_lang_Object value;
  jint limit;
  jint pos;
  limit= JCGO_FIELD_NZACCESS(This, count);
  pos= JCGO_FIELD_NZACCESS(This, offset);
  if (limit == 0)
  {
   return This;
  }
  value= JCGO_FIELD_NZACCESS(This, value);
  limit= pos + limit - (jint)1;
  if ((JCGO_METHODS_OF(value)->jcgo_typeid== OBJT_jbyte+OBJT_jarray))
  {
   jbyteArr bytes;
   bytes= (jbyteArr)value;
   while (((jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(bytes, pos)))) <=
    (jint)(jchar)32/*' '*/)
   {
    if (++pos > limit)
    {
     return JCGO_STRREF_OF(jcgo_string3_String6D);
    }
   }
   while (((jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(bytes, limit)))) <=
    (jint)(jchar)32/*' '*/)
   {
    limit--;
   }
  }
  else
  {
   jcharArr chars;
   chars= (jcharArr)JCGO_CAST_OBJECT0(OBJT_jchar+OBJT_jarray, MAXT_jchar+OBJT_jarray,
    value);
   while (JCGO_ARRAY_NZCACCESS(chars, pos) <= (jchar)32/*' '*/)
   {
    if (++pos > limit)
    {
     return JCGO_STRREF_OF(jcgo_string3_String6D);
    }
   }
   while (JCGO_ARRAY_NZCACCESS(chars, limit) <= (jchar)32/*' '*/)
   {
    limit--;
   }
  }
  limit= limit - pos + (jint)1;
  return ((pos - JCGO_FIELD_NZACCESS(This, offset)) | (JCGO_FIELD_NZACCESS(This,
   count) - limit)) > 0? (java_lang_String__new__IILo(
   value, pos, limit)) : This;
 }
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_String__toString__( java_lang_String This )
{
 {
  return This;
 }
}

JCGO_NOSEP_STATIC jcharArr CFASTCALL
java_lang_String__toCharArray__( java_lang_String This )
{
 {
  jcharArr newChars;
  newChars= (jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar),
   0, JCGO_FIELD_NZACCESS(This, count));
  (java_lang_String__copyToChars__LoICAII(
   JCGO_FIELD_NZACCESS(This, value), newChars, JCGO_FIELD_NZACCESS(This,
   offset), 0, JCGO_ARRAY_NZLENGTH(newChars)));
  return newChars;
 }
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_String__valueOf__Lo( java_lang_Object obj )
{
 {
  return obj != jnull? (JCGO_CALL_NZVFUNC(obj)->toString__(
   obj)) : JCGO_STRREF_OF(jcgo_string5_String6D);
 }
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_String__valueOf__CX( jchar c, java_lang_String jcgo_stackparam
 )
{
 {
  jObject jcgo_rcvrL1;
  return (java_lang_String__this__IILo(
   jcgo_stackparam, (jint)c > (jint)255? (java_lang_Object)(jcgo_rcvrL1=
   jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar), 0, 1),
   JCGO_ARR_INTERNALACC(jchar, (jcharArr)jcgo_rcvrL1, 0)= c,
   (jcharArr)jcgo_rcvrL1) : (java_lang_Object)(jcgo_rcvrL1= jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
   0, 1),
   JCGO_ARR_INTERNALACC(jbyte, (jbyteArr)jcgo_rcvrL1, 0)= (jbyte)c,
   (jbyteArr)jcgo_rcvrL1), 0, (jint)1));
 }
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_String__valueOf__C( jchar c )
{
 return java_lang_String__valueOf__CX(
  c, (java_lang_String)jcgo_newObject((jvtable)&java_lang_String_methods));
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_String__valueOf__IX( jint v, java_lang_String jcgo_stackparam
 )
{
 {
  jbyteArr newBytes;
  jint offset;
  jboolean isNeg;
  isNeg= jtrue;
  if (v >= 0)
  {
   isNeg= (jboolean)jfalse;
   v= (-v);
  }
  offset= (jint)11;
  if (v > (-(jint)10000))
  {
   if (v > (-(jint)100))
   {
    offset= (jint)1;
    if (v <= (-(jint)10))
    {
     offset= (jint)2;
    }
   }
   else
   {
    offset= (jint)3;
    if (v <= (-(jint)1000))
    {
     offset++;
    }
   }
   if (isNeg)
   {
    offset++;
   }
  }
  newBytes= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
   0, offset);
  do
  {
   JCGO_ARRAY_NZBACCESS(newBytes, --offset)= ((jbyte)((jchar)48/*'0'*/ -
    (v % (jint)10)));
   v= jcgo_div(v, (jint)10);
  }
   while (v < 0);
  if (isNeg)
  {
   JCGO_ARRAY_NZBACCESS(newBytes, --offset)= (jbyte)(jchar)45/*'-'*/;
  }
  return (java_lang_String__this__IILo(
   jcgo_stackparam, (java_lang_Object)newBytes, offset, JCGO_ARRAY_NZLENGTH(newBytes) -
   offset));
 }
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_String__valueOf__I( jint v )
{
 return java_lang_String__valueOf__IX(
  v, (java_lang_String)jcgo_newObject((jvtable)&java_lang_String_methods));
}

JCGO_NOSEP_INLINE java_lang_String CFASTCALL
java_lang_String__valueOf__J( jlong l )
{
 {
  return (java_lang_Long__toString__J(
   l));
 }
}

JCGO_NOSEP_STATIC jint CFASTCALL
java_lang_String__upperCaseExpansion__C( jchar ch )
{
 {
  jObject jcgo_rcvrL1;
  return (jcgo_rcvrL1= (jObject)((jcharArr)JCGO_ARRAY_NZLACCESS(JCGO_CLINIT_VARACC(java_lang_Character__class,
   java_lang_Character__direction), 0)), JCGO_ARRAY_CACCESS((jcharArr)jcgo_rcvrL1,
   JCGO_SHR_F((java_lang_Character__readCodePoint__I(
   (jint)ch)), (jint)7))) & (jint)3;
 }
}

JCGO_NOSEP_STATIC jcharArr CFASTCALL
java_lang_String__zeroBasedStringValue__Ls( java_lang_String str )
{
 {
  java_lang_Object value;
  jint offset;
  jint count;
  value= JCGO_FIELD_ACCESS(java_lang_String, str, value);
  offset= JCGO_FIELD_NZACCESS(str, offset);
  count= JCGO_FIELD_NZACCESS(str, count);
  if ((JCGO_METHODS_OF(value)->jcgo_typeid== OBJT_jbyte+OBJT_jarray) ||
   ((JCGO_ARRAY_NZLENGTH(((jcharArr)JCGO_CAST_OBJECT0(OBJT_jchar+OBJT_jarray,
   MAXT_jchar+OBJT_jarray, value))) - count) | offset) > 0)
  {
   jcharArr newChars;
   if (count == 0)
   {
    return java_lang_String__EMPTY_CHARS;
   }
   newChars= (jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar),
    0, count);
   (java_lang_String__copyToChars__LoICAII(
    value, newChars, offset, 0, count));
   return newChars;
  }
  return (jcharArr)JCGO_CAST_OBJECT0(OBJT_jchar+OBJT_jarray, MAXT_jchar+OBJT_jarray,
   value);
 }
}

JCGO_NOSEP_STATIC jboolean CFASTCALL
java_lang_String__hasHighByte__CAII( jcharArr chars, jint offset,
 jint count )
{
 {
  count+= offset;
  while (offset < count)
  {
   if ((jint)(JCGO_ARRAY_CACCESS(chars, offset++)) > (jint)255)
   {
    return (jboolean)jtrue;
   }
  }
  return (jboolean)jfalse;
 }
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_String__toLowerCase__Z( java_lang_String This, jboolean
 isTurkish )
{
 {
  java_lang_Object value;
  jcharArr chars;
  jcharArr newChars;
  jint offset;
  jint count;
  jint index;
  offset= JCGO_FIELD_NZACCESS(This, offset);
  count= JCGO_FIELD_NZACCESS(This, count);
  value= JCGO_FIELD_NZACCESS(This, value);
  if ((JCGO_METHODS_OF(value)->jcgo_typeid== OBJT_jbyte+OBJT_jarray))
  {
   jbyteArr bytes;
   bytes= (jbyteArr)value;
   index= (java_lang_String__searchForNonLower__BAII(
    bytes, offset, count)) - offset;
   if (index >= count)
   {
    return This;
   }
   if (!isTurkish && (jint)(java_lang_Character__toLowerCase__C(
    (jchar)((jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(bytes, offset +
    index)))))) <= (jint)255)
   {
    jbyteArr newBytes;
    newBytes= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
     0, count);
    if (index > 0)
    {
     (java_lang_VMSystem__arraycopy__LoILoII(
      (java_lang_Object)bytes, (java_lang_Object)newBytes, offset,
      0, index));
    }
    index= (java_lang_String__convertToLower__BAIBAII(
     bytes, newBytes, offset + index, index, count - index));
    if (index <= 0)
    {
     return (java_lang_String__new__IILo(
      (java_lang_Object)newBytes, 0, count));
    }
    index= count - index;
    newChars= (jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar),
     0, count);
    (java_lang_String__copyToChars__LoICAII(
     (java_lang_Object)newBytes, newChars, 0, 0, index));
    (java_lang_String__copyToChars__LoICAII(
     (java_lang_Object)bytes, newChars, offset + index, index, count -
     index));
   }
   else
   {
    newChars= (jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar),
     0, count);
    (java_lang_String__copyToChars__LoICAII(
     (java_lang_Object)bytes, newChars, offset, 0, count));
   }
   chars= newChars;
   offset= 0;
  }
  else
  {
   chars= (jcharArr)JCGO_CAST_OBJECT0(OBJT_jchar+OBJT_jarray, MAXT_jchar+OBJT_jarray,
    value);
   index= (java_lang_String__searchForNonLower__CAII(
    chars, offset, count)) - offset;
   if (index >= count)
   {
    return This;
   }
   newChars= (jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar),
    0, count);
   if (index > 0)
   {
    (java_lang_VMSystem__arraycopy__LoILoII(
     (java_lang_Object)chars, (java_lang_Object)newChars, offset, 0,
     index));
   }
  }
  (java_lang_String__convertToLower__CAICAIIZ(
   chars, newChars, offset + index, index, count - index, (jboolean)isTurkish));
  return (java_lang_String__new__IILo(
   (java_lang_Object)newChars, 0, count));
 }
}

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
java_lang_String__toUpperCase__Z( java_lang_String This, jboolean
 isTurkish )
{
 {
  java_lang_Object value;
  jcharArr chars;
  jcharArr newChars;
  jint offset;
  jint count;
  jint index;
  jint expand;
  offset= JCGO_FIELD_NZACCESS(This, offset);
  count= JCGO_FIELD_NZACCESS(This, count);
  value= JCGO_FIELD_NZACCESS(This, value);
  newChars= (jcharArr)jnull;
  if ((JCGO_METHODS_OF(value)->jcgo_typeid== OBJT_jbyte+OBJT_jarray))
  {
   jbyteArr bytes;
   bytes= (jbyteArr)value;
   index= (java_lang_String__searchForNonUpper__BAII(
    bytes, offset, count)) - offset;
   if (index >= count)
   {
    return This;
   }
   if (!isTurkish && (jint)(java_lang_Character__toUpperCase__C(
    (jchar)((jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(bytes, offset +
    index)))))) <= (jint)255)
   {
    jbyteArr newBytes;
    newBytes= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
     0, count);
    if (index > 0)
    {
     (java_lang_VMSystem__arraycopy__LoILoII(
      (java_lang_Object)bytes, (java_lang_Object)newBytes, offset,
      0, index));
    }
    index= (java_lang_String__convertToUpper__BAIBAII(
     bytes, newBytes, offset + index, index, count - index));
    if (index <= 0)
    {
     return (java_lang_String__new__IILo(
      (java_lang_Object)newBytes, 0, count));
    }
    index= count - index;
    newChars= (jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar),
     0, count);
    (java_lang_String__copyToChars__LoICAII(
     (java_lang_Object)newBytes, newChars, 0, 0, index));
    (java_lang_String__copyToChars__LoICAII(
     (java_lang_Object)bytes, newChars, offset + index, index, count -
     index));
   }
   else
   {
    newChars= (jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar),
     0, count);
    (java_lang_String__copyToChars__LoICAII(
     (java_lang_Object)bytes, newChars, offset, 0, count));
   }
   chars= newChars;
   offset= 0;
  }
  else
  {
   chars= (jcharArr)JCGO_CAST_OBJECT0(OBJT_jchar+OBJT_jarray, MAXT_jchar+OBJT_jarray,
    value);
   index= (java_lang_String__searchForNonUpper__CAII(
    chars, offset, count)) - offset;
   if (index >= count)
   {
    return This;
   }
  }
  expand= (java_lang_String__getUpperExpansion__CAII(
   chars, offset + index, count - index));
  if (expand > 0 || chars != newChars)
  {
   newChars= (jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar),
    0, count + expand);
   if (index > 0)
   {
    (java_lang_VMSystem__arraycopy__LoILoII(
     (java_lang_Object)chars, (java_lang_Object)newChars, offset, 0,
     index));
   }
  }
  if (isTurkish || expand > 0)
  {
   (java_lang_String__convertToUpper__CAICAIIZ(
    chars, newChars, offset + index, index, count - index, (jboolean)isTurkish));
  }
  else
  {
   (java_lang_String__convertToUpper__CAICAII(
    chars, newChars, offset + index, index, count - index));
  }
  return (java_lang_String__new__IILo(
   (java_lang_Object)newChars, 0, count));
 }
}

JCGO_NOSEP_STATIC void CFASTCALL
java_lang_String__copyCharsToBytes__CAIBAII( jcharArr chars, jbyteArr
 bytes2, jint offset, jint offset2, jint count )
{
 {
  while (count-- > 0)
  {
   jObject jcgo_rcvrL1;
   jint jcgo_rcvrI1;
   jbyte jcgo_rcvrB1;
   (jcgo_rcvrL1= (jObject)bytes2, jcgo_rcvrI1= offset2++, jcgo_rcvrB1=
    (jbyte)JCGO_ARRAY_CACCESS(chars, offset++), JCGO_ARRAY_BACCESS((jbyteArr)jcgo_rcvrL1,
    jcgo_rcvrI1)= jcgo_rcvrB1);
  }
 }
}

JCGO_NOSEP_STATIC void CFASTCALL
java_lang_String__copyToChars__LoICAII( java_lang_Object value, jcharArr
 chars2, jint offset, jint offset2, jint count )
{
 {
  if (count > 0)
  {
   if (jcgo_instanceOf0(OBJT_jbyte+OBJT_jarray, MAXT_jbyte+OBJT_jarray,
    (jObject)value))
   {
    jbyteArr bytes;
    bytes= (jbyteArr)value;
    do
    {
     jObject jcgo_rcvrL1;
     jint jcgo_rcvrI1;
     jchar jcgo_rcvrC1;
     (jcgo_rcvrL1= (jObject)chars2, jcgo_rcvrI1= offset2++, jcgo_rcvrC1=
      (jchar)((jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(bytes, offset++)))),
      JCGO_ARRAY_CACCESS((jcharArr)jcgo_rcvrL1, jcgo_rcvrI1)= jcgo_rcvrC1);
    }
     while (--count > 0);
   }
   else
   {
    (java_lang_VMSystem__arraycopy__LoILoII(
     value, (java_lang_Object)chars2, offset, offset2, count));
   }
  }
 }
}

JCGO_NOSEP_STATIC jint CFASTCALL
java_lang_String__indexValueOf__ILoII( java_lang_Object value, jint
 ch, jint pos, jint count )
{
 {
  if (jcgo_instanceOf0(OBJT_jbyte+OBJT_jarray, MAXT_jbyte+OBJT_jarray,
   (jObject)value))
  {
   jbyteArr bytes;
   if (ch > (jint)255)
   {
    return pos + count;
   }
   bytes= (jbyteArr)value;
   while (count-- > 0 && ((jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(bytes,
    pos)))) != ch)
   {
    pos++;
   }
  }
  else
  {
   jcharArr chars;
   chars= (jcharArr)JCGO_CAST_OBJECT0(OBJT_jchar+OBJT_jarray, MAXT_jchar+OBJT_jarray,
    value);
   while (count-- > 0 && (jint)(JCGO_ARRAY_CACCESS(chars, pos)) !=
    ch)
   {
    pos++;
   }
  }
  return pos;
 }
}

JCGO_NOSEP_STATIC jint CFASTCALL
java_lang_String__compareValues__LoILoII( java_lang_Object value,
 java_lang_Object value2, jint offset, jint offset2, jint count )
{
 {
  jint cmp;
  cmp= 0;
  if (offset != offset2 || value != value2)
  {
   if (jcgo_instanceOf0(OBJT_jbyte+OBJT_jarray, MAXT_jbyte+OBJT_jarray,
    (jObject)value))
   {
    jbyteArr bytes;
    bytes= (jbyteArr)value;
    if (jcgo_instanceOf0(OBJT_jbyte+OBJT_jarray, MAXT_jbyte+OBJT_jarray,
     (jObject)value2))
    {
     jbyteArr bytes2;
     bytes2= (jbyteArr)value2;
     while (count-- > 0)
     {
      jint jcgo_rcvrI1;
      cmp= (jcgo_rcvrI1= ((jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(bytes,
       offset)))), jcgo_rcvrI1 - ((jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(bytes2,
       offset2)))));
      if (cmp != 0)
      {
       break;
      }
      offset++;
      offset2++;
     }
    }
    else
    {
     jcharArr chars2;
     chars2= (jcharArr)JCGO_CAST_OBJECT0(OBJT_jchar+OBJT_jarray, MAXT_jchar+OBJT_jarray,
      value2);
     while (count-- > 0)
     {
      jint jcgo_rcvrI1;
      if ((cmp= (jcgo_rcvrI1= ((jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(bytes,
       offset++)))), jcgo_rcvrI1 - JCGO_ARRAY_CACCESS(chars2, offset2++))) !=
       0)
      {
       break;
      }
     }
    }
   }
   else
   {
    jcharArr chars;
    chars= (jcharArr)JCGO_CAST_OBJECT0(OBJT_jchar+OBJT_jarray, MAXT_jchar+OBJT_jarray,
     value);
    if (jcgo_instanceOf0(OBJT_jbyte+OBJT_jarray, MAXT_jbyte+OBJT_jarray,
     (jObject)value2))
    {
     jbyteArr bytes2;
     bytes2= (jbyteArr)value2;
     while (count-- > 0)
     {
      jchar jcgo_rcvrC1;
      if ((cmp= (jcgo_rcvrC1= JCGO_ARRAY_CACCESS(chars, offset++),
       jcgo_rcvrC1 - ((jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(bytes2,
       offset2++)))))) != 0)
      {
       break;
      }
     }
    }
    else
    {
     jcharArr chars2;
     chars2= (jcharArr)JCGO_CAST_OBJECT0(OBJT_jchar+OBJT_jarray, MAXT_jchar+OBJT_jarray,
      value2);
     while (count-- > 0)
     {
      jchar jcgo_rcvrC1;
      if ((cmp= (jcgo_rcvrC1= JCGO_ARRAY_CACCESS(chars, offset++),
       (jint)jcgo_rcvrC1 - JCGO_ARRAY_CACCESS(chars2, offset2++))) !=
       0)
      {
       break;
      }
     }
    }
   }
  }
  return cmp;
 }
}

JCGO_NOSEP_STATIC jint CFASTCALL
java_lang_String__compareCharsIgnoreCase__II( jint ch, jint ch2 )
{
 {
  jint cmp;
  cmp= 0;
  if (ch != ch2)
  {
   jchar c;
   jchar c2;
   c= (java_lang_Character__toUpperCase__C(
    (jchar)ch));
   c2= (java_lang_Character__toUpperCase__C(
    (jchar)ch2));
   if (c != c2)
   {
    jchar jcgo_rcvrC1;
    cmp= (jcgo_rcvrC1= (java_lang_Character__toLowerCase__C(
     c)), (jint)jcgo_rcvrC1 - (java_lang_Character__toLowerCase__C(
     c2)));
   }
  }
  return cmp;
 }
}

JCGO_NOSEP_STATIC void CFASTCALL
java_lang_String__class__0( void )
{
 JCGO_CLINIT_BEGIN(java_lang_String__class);
 java_lang_String__upperExpand= (java_lang_String__zeroBasedStringValue__Ls(
  gnu_java_lang_CharData__UPPER_EXPAND));
 java_lang_String__upperSpecial= (java_lang_String__zeroBasedStringValue__Ls(
  gnu_java_lang_CharData__UPPER_SPECIAL));
 JCGO_CLINIT_DONE(java_lang_String__class);
}

JCGO_NOSEP_DATA CONST struct java_lang_String_methods_s java_lang_String_methods=
{
 JCGO_CLASSREF_OF(java_lang_String__class),
 JCGO_GCJDESCR_INIT(java_lang_String_s, value)
 OBJT_java_lang_String,
 (JCGO_OBJSIZE_T)sizeof(struct java_lang_String_s),
 NULL,
 JCGO_CLINIT_INIT(java_lang_String__class__0)
 java_lang_String__this__,
 java_lang_String__equals__Lo,
 java_lang_String__hashCode__,
 java_lang_String__toString__,
 java_lang_Object__finalize__
};

JCGO_NOSEP_GCDATA struct java_lang_String_class_s java_lang_String__class
 ATTRIBGCDATA=
{
 {
  &java_lang_Class_methods,
  JCGO_MON_INIT
  JCGO_OBJREF_OF(*(java_lang_Object)&java_lang_String_methods),
  JCGO_STRREF_OF(jcgo_string1_String6D),
  JCGO_CLASSREF_OF(java_lang_Object__class),
  ((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Object)),
  0x1d1
 }
};

JCGO_NOSEP_GCDATA int jcgo_initialized ATTRIBGCBSS= 0;

JCGO_NOSEP_GCDATA jcharArr java_lang_String__upperExpand ATTRIBGCBSS=
 jnull;

JCGO_NOSEP_GCDATA jcharArr java_lang_String__upperSpecial ATTRIBGCBSS=
 jnull;

JCGO_NOSEP_DATA JCGO_NOTHR_CONST jcgo_arrtype2_String6D jcgo_array2_String6D
 JCGO_THRD_ATTRNONGC=
{
 (jvtable)&jcharArr_methods,
 JCGO_MON_INIT
 0,
 {
  (jchar)0
 }
};

JCGO_NOSEP_DATA CONST jcgo_arrtype44_GameShll jcgo_array6_String6D=
{
 (jvtable)&jbyteArr_methods,
 JCGO_MON_INIT
 22,
 {
  (jbyte)(jchar)106/*'j'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)118/*'v'*/,
   (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)108/*'l'*/,
   (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)103/*'g'*/,
   (jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)83/*'S'*/, (jbyte)(jchar)116/*'t'*/,
   (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)110/*'n'*/,
   (jbyte)(jchar)103/*'g'*/, (jbyte)(jchar)66/*'B'*/, (jbyte)(jchar)117/*'u'*/,
   (jbyte)(jchar)102/*'f'*/, (jbyte)(jchar)102/*'f'*/, (jbyte)(jchar)101/*'e'*/,
   (jbyte)(jchar)114/*'r'*/
 }
};

JCGO_NOSEP_DATA CONST jcgo_arrtype7_String6D jcgo_array7_String6D=
{
 (jvtable)&jcharArr_methods,
 JCGO_MON_INIT
 512,
 {
  0, (jchar)0xff80, (jchar)0xff00, (jchar)0xfe80, (jchar)0xfe00, (jchar)0xfd80,
   (jchar)0xfd00, (jchar)0xfc80, (jchar)0xfc00, (jchar)0xfb80, (jchar)0xfb00,
   (jchar)0xfa80, (jchar)0xfa00, (jchar)0xf980, (jchar)0xf900, (jchar)0xf880,
   (jchar)0xf800, (jchar)0xf780, (jchar)0xf700, (jchar)0xf680, (jchar)0xf600,
   (jchar)0xf580, (jchar)0xf500, (jchar)0xf480, (jchar)0xf400, (jchar)0xf380,
   (jchar)0xf300, (jchar)0xf280, (jchar)0xf200, (jchar)0xf180, (jchar)0xf100,
   (jchar)0xf080, (jchar)0xf000, (jchar)0xef80, (jchar)0xef00, (jchar)0xee80,
   (jchar)0xee00, (jchar)0xed80, (jchar)0xed00, (jchar)0xec80, (jchar)0xec00,
   (jchar)0xeb80, (jchar)0xeb00, (jchar)0xea80, (jchar)0xea00, (jchar)0xe980,
   (jchar)0xe900, (jchar)0xe880, (jchar)0xe800, (jchar)0xe780, (jchar)0xe700,
   (jchar)0xe680, (jchar)0xe600, (jchar)0xe580, (jchar)0xe500, (jchar)0xe480,
   (jchar)0xe400, (jchar)0xe380, (jchar)0xe300, (jchar)0xe280, (jchar)0xe200,
   (jchar)0xe180, (jchar)0xe100, (jchar)0xe080, (jchar)0xe000, (jchar)0xdf80,
   (jchar)0xdf00, (jchar)0xde80, (jchar)0xde00, (jchar)0xdd80, (jchar)0xdd00,
   (jchar)0xdc80, (jchar)0xdc00, (jchar)0xdb80, (jchar)0xdb00, (jchar)0xda80,
   (jchar)0xda00, (jchar)0xd980, (jchar)0xd900, (jchar)0xd880, (jchar)0xd800,
   (jchar)0xd780, (jchar)0xd700, (jchar)0xd680, (jchar)0xd600, (jchar)0xd580,
   (jchar)0xd500, (jchar)0xd480, (jchar)0xd400, (jchar)0xd380, (jchar)0xd300,
   (jchar)0xd280, (jchar)0xd200, (jchar)0xd180, (jchar)0xd100, (jchar)0xd080,
   (jchar)0xd000, (jchar)0xcf80, (jchar)0xcf00, (jchar)0xce80, (jchar)0xce00,
   (jchar)0xcd80, (jchar)0xcd00, (jchar)0xcc80, (jchar)0xcc00, (jchar)0xcb80,
   (jchar)0xcb00, (jchar)0xca80, (jchar)0xca00, (jchar)0xc980, (jchar)0xc900,
   (jchar)0xc880, (jchar)0xc800, (jchar)0xc780, (jchar)0xc700, (jchar)0xc680,
   (jchar)0xc600, (jchar)0xc580, (jchar)0xc500, (jchar)0xc480, (jchar)0xc400,
   (jchar)0xc380, (jchar)0xc300, (jchar)0xc280, (jchar)0xc200, (jchar)0xc180,
   (jchar)0xc100, (jchar)0xc080, (jchar)0xc000, (jchar)0xbf80, (jchar)0xbf00,
   (jchar)0xbe80, (jchar)0xbe00, (jchar)0xbd80, (jchar)0xbd00, (jchar)0xbc80,
   (jchar)0xbc00, (jchar)0xbb80, (jchar)0xbb00, (jchar)0xba80, (jchar)0xba00,
   (jchar)0xb980, (jchar)0xb900, (jchar)0xb880, (jchar)0xb800, (jchar)0xb780,
   (jchar)0xb700, (jchar)0xb680, (jchar)0xb600, (jchar)0xb580, (jchar)0xb500,
   (jchar)0xb480, (jchar)0xb400, (jchar)0xb380, (jchar)0xb300, (jchar)0xb280,
   (jchar)0xb200, (jchar)0xb180, (jchar)0xb100, (jchar)0xb080, (jchar)0xb000,
   (jchar)0xaf80, (jchar)0xaf00, (jchar)0xae80, (jchar)0xae00, (jchar)0xad80,
   (jchar)0xad00, (jchar)0xac80, (jchar)0xac00, (jchar)0xab80, (jchar)0xab00,
   (jchar)0xaa80, (jchar)0xaa00, (jchar)0xa980, (jchar)0xa900, (jchar)0xa880,
   (jchar)0xa800, (jchar)0xa780, (jchar)0xa700, (jchar)0xa680, (jchar)0xa600,
   (jchar)0xa580, (jchar)0xa500, (jchar)0xa480, (jchar)0xa400, (jchar)0xa380,
   (jchar)0xa300, (jchar)0xa280, (jchar)0xa200, (jchar)0xa180, (jchar)0xa100,
   (jchar)0xa080, (jchar)0xa000, (jchar)0x9f80, (jchar)0x9f00, (jchar)0x9e80,
   (jchar)0x9e00, (jchar)0x9d80, (jchar)0x9d00, (jchar)0x9c80, (jchar)0x9c00,
   (jchar)0x9b80, (jchar)0x9b00, (jchar)0x9a80, (jchar)0x9a00, (jchar)0x9980,
   (jchar)0x9900, (jchar)0x9880, (jchar)0x9800, (jchar)0x9780, (jchar)0x9700,
   (jchar)0x9680, (jchar)0x9600, (jchar)0x9580, (jchar)0x9500, (jchar)0x9480,
   (jchar)0x9400, (jchar)0x9380, (jchar)0x9300, (jchar)0x9280, (jchar)0x9200,
   (jchar)0x9180, (jchar)0x9100, (jchar)0x9080, (jchar)0x9000, (jchar)0x8f80,
   (jchar)0x8f00, (jchar)0x8e80, (jchar)0x8e00, (jchar)0x8d80, (jchar)0x8d00,
   (jchar)0x8c80, (jchar)0x8c00, (jchar)0x8b80, (jchar)0x8b00, (jchar)0x8a80,
   (jchar)0x8a00, (jchar)0x8980, (jchar)0x8900, (jchar)0x8880, (jchar)0x8800,
   (jchar)0x8780, (jchar)0x8700, (jchar)0x8680, (jchar)0x8600, (jchar)0x8580,
   (jchar)0x8500, (jchar)0x8480, (jchar)0x8400, (jchar)0x8380, (jchar)0x8300,
   (jchar)0x8280, (jchar)0x8200, (jchar)0x8180, (jchar)0x8100, (jchar)0x8080,
   (jchar)0x8000, (jchar)0x7f80, (jchar)0x7f00, (jchar)0x7e80, (jchar)0x7e00,
   (jchar)0x7d80, (jchar)0x7d00, (jchar)0x7c80, (jchar)0x7c00, (jchar)0x7b80,
   (jchar)0x7b00, (jchar)0x7a80, (jchar)0x7a00, (jchar)0x7980, (jchar)0x7900,
   (jchar)0x7880, (jchar)0x7800, (jchar)0x7780, (jchar)0x7700, (jchar)0x7680,
   (jchar)0x7600, (jchar)0x7580, (jchar)0x7500, (jchar)0x7480, (jchar)0x7400,
   (jchar)0x7380, (jchar)0x7300, (jchar)0x7280, (jchar)0x7200, (jchar)0x7180,
   (jchar)0x7100, (jchar)0x7080, (jchar)0x7000, (jchar)0x6f80, (jchar)0x6f00,
   (jchar)0x6e80, (jchar)0x6e00, (jchar)0x6d80, (jchar)0x6d00, (jchar)0x6c80,
   (jchar)0x6c00, (jchar)0x6b80, (jchar)0x6b00, (jchar)0x6a80, (jchar)0x6a00,
   (jchar)0x6980, (jchar)0x6900, (jchar)0x6880, (jchar)0x6800, (jchar)0x6780,
   (jchar)0x6700, (jchar)0x6680, (jchar)0x6600, (jchar)0x6580, (jchar)0x6500,
   (jchar)0x6480, (jchar)0x6400, (jchar)0x6380, (jchar)0x6300, (jchar)0x6280,
   (jchar)0x6200, (jchar)0x6180, (jchar)0x6100, (jchar)0x6080, (jchar)0x6000,
   (jchar)0x5f80, (jchar)0x5f00, (jchar)0x5e80, (jchar)0x5e00, (jchar)0x5d80,
   (jchar)0x5d00, (jchar)0x5c80, (jchar)0x5c00, (jchar)0x5b80, (jchar)0x5b00,
   (jchar)0x5a80, (jchar)0x5a00, (jchar)0x59a9, (jchar)0x5980, (jchar)0x5900,
   (jchar)0x5880, (jchar)0x5800, (jchar)0x5780, (jchar)0x5700, (jchar)0x5680,
   (jchar)0x5600, (jchar)0x5580, (jchar)0x5500, (jchar)0x5480, (jchar)0x5400,
   (jchar)0x5380, (jchar)0x5300, (jchar)0x5280, (jchar)0x5200, (jchar)0x5180,
   (jchar)0x5100, (jchar)0x5080, (jchar)0x5000, (jchar)0x4f80, (jchar)0x4f00,
   (jchar)0x4e80, (jchar)0x4e00, (jchar)0x4d80, (jchar)0x4d00, (jchar)0x4c80,
   (jchar)0x4c00, (jchar)0x4b80, (jchar)0x4b00, (jchar)0x4a80, (jchar)0x4a00,
   (jchar)0x4980, (jchar)0x4900, (jchar)0x4880, (jchar)0x4800, (jchar)0x4780,
   (jchar)0x4700, (jchar)0x4680, (jchar)0x4600, (jchar)0x4580, (jchar)0x4500,
   (jchar)0x4480, (jchar)0x4400, (jchar)0x4380, (jchar)0x4300, (jchar)0x4280,
   (jchar)0x4200, (jchar)0x4180, (jchar)0x4100, (jchar)0x4080, (jchar)0x4000,
   (jchar)0x3f80, (jchar)0x3f00, (jchar)0x3e80, (jchar)0x3e00, (jchar)0x3d80,
   (jchar)0x3d00, (jchar)0x3c80, (jchar)0x3c00, (jchar)0x3b80, (jchar)0x3b00,
   (jchar)0x3a80, (jchar)0x3a00, (jchar)0x3980, (jchar)0x3900, (jchar)0x3880,
   (jchar)0x3800, (jchar)0x3780, (jchar)0x3700, (jchar)0x3680, (jchar)0x3600,
   (jchar)0x3580, (jchar)0x3500, (jchar)0x3480, (jchar)0x3400, (jchar)0x3380,
   (jchar)0x3300, (jchar)0x3280, (jchar)0x3200, (jchar)0x3180, (jchar)0x3100,
   (jchar)0x3080, (jchar)0x3000, (jchar)0x2f80, (jchar)0x2f00, (jchar)0x2e80,
   (jchar)0x2e00, (jchar)0x2d80, (jchar)0x2d00, (jchar)0x2c80, (jchar)0x2c00,
   (jchar)0x2b80, (jchar)0x2b00, (jchar)0x2a80, (jchar)0x2a00, (jchar)0x2980,
   (jchar)0x2900, (jchar)0x2880, (jchar)0x2800, (jchar)0x2780, (jchar)0x2700,
   (jchar)0x2680, (jchar)0x2600, (jchar)0x2580, (jchar)0x2500, (jchar)0x2480,
   (jchar)0x2400, (jchar)0x2380, (jchar)0x2300, (jchar)0x2280, (jchar)0x2200,
   (jchar)0x2180, (jchar)0x2100, (jchar)0x2080, (jchar)0x2000, (jchar)0x1f80,
   (jchar)0x1f00, (jchar)0x1e80, (jchar)0x1e00, (jchar)0x1d80, (jchar)0x1d00,
   (jchar)0x1c80, (jchar)0x1c00, (jchar)0x1b80, (jchar)0x1b00, (jchar)0x1a80,
   (jchar)0x1a00, (jchar)0x1980, (jchar)0x1900, (jchar)0x1880, (jchar)0x1800,
   (jchar)0x1780, (jchar)0x1700, (jchar)0x1680, (jchar)0x1600, (jchar)0x1580,
   (jchar)0x1500, (jchar)0x1480, (jchar)0x1400, (jchar)0x1380, (jchar)0x1300,
   (jchar)0x1280, (jchar)0x1200, (jchar)0x1180, (jchar)0x1100, (jchar)0x1080,
   (jchar)0x1000, (jchar)0xf80, (jchar)0xf00, (jchar)0xe80, (jchar)0xe00,
   (jchar)0xd80, (jchar)0xd00, (jchar)0xc80, (jchar)0xc00, (jchar)0xb80,
   (jchar)0xb00, (jchar)0xa80, (jchar)0xa00, (jchar)0x980, (jchar)0x900,
   (jchar)0x800, (jchar)0x780, (jchar)0x700, (jchar)0x680, (jchar)0x662,
   (jchar)0x600, (jchar)0x580, (jchar)0x500, (jchar)0x480, (jchar)0x400,
   (jchar)0x380, (jchar)0x300, (jchar)0x280, (jchar)0x200, (jchar)0x180,
   (jchar)0x100
 }
};

JCGO_NOSEP_DATA CONST jcgo_arrtype30_GameShll jcgo_array8_String6D=
{
 (jvtable)&jbyteArr_methods,
 JCGO_MON_INIT
 13,
 {
  (jbyte)(jchar)102/*'f'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)108/*'l'*/,
   (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)101/*'e'*/,
   (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)111/*'o'*/,
   (jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)110/*'n'*/,
   (jbyte)(jchar)103/*'g'*/
 }
};

JCGO_NOSEP_DATA CONST jcgo_arrtype48_GameShll jcgo_array9_String6D=
{
 (jvtable)&jbyteArr_methods,
 JCGO_MON_INIT
 33,
 {
  (jbyte)(jchar)87/*'W'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)114/*'r'*/,
   (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)110/*'n'*/,
   (jbyte)(jchar)103/*'g'*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)116/*'t'*/,
   (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)101/*'e'*/,
   (jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)116/*'t'*/,
   (jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)97/*'a'*/,
   (jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)32/*' '*/,
   (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)117/*'u'*/, (jbyte)(jchar)108/*'l'*/,
   (jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)111/*'o'*/,
   (jbyte)(jchar)98/*'b'*/, (jbyte)(jchar)106/*'j'*/, (jbyte)(jchar)101/*'e'*/,
   (jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)33/*'!'*/
 }
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string1_String6D
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array6_String6D),
 0, 16, (jint)0x473e3665L
};

JCGO_NOSEP_DATA struct java_lang_String_s jcgo_string3_String6D ATTRIBNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array7_String6D),
 0, 0, (jint)0x0L
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string4_String6D
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array8_String6D),
 0, 13, (jint)0x6bd19585L
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string5_String6D
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array9_String6D),
 21, 4, (jint)0x33c587L
};

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

#endif
