class JSONWriterUTF8JDK9
        extends JSONWriterUTF8 {
    JSONWriterUTF8JDK9(Context ctx) {
        super(ctx);
    }

    @Override
    public void writeString(String str) {<FILL_FUNCTION_BODY>}
}

        if (str == null) {
            writeStringNull();
            return;
        }

        int coder = STRING_CODER.applyAsInt(str);
        byte[] value = STRING_VALUE.apply(str);

        if (coder == 0) {
            writeStringLatin1(value);
        } else {
            writeStringUTF16(value);
        }
    
<methods>public final void close() ,public final void endArray() ,public final void endObject() ,public final int flushTo(java.io.OutputStream) throws java.io.IOException,public final int flushTo(java.io.OutputStream, java.nio.charset.Charset) throws java.io.IOException,public final byte[] getBytes() ,public final byte[] getBytes(java.nio.charset.Charset) ,public final int size() ,public final void startArray() ,public final void startObject() ,public final java.lang.String toString() ,public final void write(com.alibaba.fastjson2.JSONObject) ,public final void write(List#RAW) ,public final void writeBase64(byte[]) ,public final void writeBigInt(java.math.BigInteger, long) ,public void writeBool(boolean) ,public final void writeChar(char) ,public final void writeColon() ,public final void writeComma() ,public final void writeDateTime14(int, int, int, int, int, int) ,public final void writeDateTime19(int, int, int, int, int, int) ,public final void writeDateTimeISO8601(int, int, int, int, int, int, int, int, boolean) ,public final void writeDateYYYMMDD10(int, int, int) ,public final void writeDateYYYMMDD8(int, int, int) ,public final void writeDecimal(java.math.BigDecimal, long, java.text.DecimalFormat) ,public final void writeDouble(double) ,public final void writeDouble(double[]) ,public final void writeFloat(float) ,public final void writeFloat(float[]) ,public final void writeHex(byte[]) ,public final void writeInt16(short) ,public final void writeInt32(int[]) ,public final void writeInt32(java.lang.Integer) ,public final void writeInt32(int) ,public final void writeInt64(long[]) ,public final void writeInt64(long) ,public final void writeInt64(java.lang.Long) ,public final void writeInt8(byte) ,public final void writeInt8(byte[]) ,public final void writeListInt32(List<java.lang.Integer>) ,public final void writeListInt64(List<java.lang.Long>) ,public final void writeLocalDate(java.time.LocalDate) ,public final void writeLocalDateTime(java.time.LocalDateTime) ,public final void writeLocalTime(java.time.LocalTime) ,public final void writeName10Raw(long, long) ,public final void writeName11Raw(long, long) ,public final void writeName12Raw(long, long) ,public final void writeName13Raw(long, long) ,public final void writeName14Raw(long, long) ,public final void writeName15Raw(long, long) ,public final void writeName16Raw(long, long) ,public final void writeName2Raw(long) ,public final void writeName3Raw(long) ,public final void writeName4Raw(long) ,public final void writeName5Raw(long) ,public final void writeName6Raw(long) ,public final void writeName7Raw(long) ,public final void writeName8Raw(long) ,public final void writeName9Raw(long, int) ,public final void writeNameRaw(byte[]) ,public final void writeNameRaw(byte[], int, int) ,public final void writeNameRaw(char[]) ,public final void writeNameRaw(char[], int, int) ,public final void writeNull() ,public final void writeOffsetDateTime(java.time.OffsetDateTime) ,public final void writeOffsetTime(java.time.OffsetTime) ,public final void writeRaw(java.lang.String) ,public final void writeRaw(byte[]) ,public final void writeRaw(char) ,public final void writeRaw(char, char) ,public final void writeReference(java.lang.String) ,public final void writeString(List<java.lang.String>) ,public final void writeString(boolean) ,public final void writeString(byte) ,public final void writeString(short) ,public final void writeString(int) ,public final void writeString(long) ,public void writeString(java.lang.String) ,public final void writeString(char[]) ,public final void writeString(char[], int, int) ,public final void writeString(char[], int, int, boolean) ,public final void writeString(java.lang.String[]) ,public void writeStringLatin1(byte[]) ,public final void writeStringUTF16(byte[]) ,public final void writeTimeHHMMSS8(int, int, int) ,public final void writeUUID(java.util.UUID) ,public final void writeZonedDateTime(java.time.ZonedDateTime) <variables>static final non-sealed short[] HEX256,static final byte[] REF_PREF,protected byte[] bytes,final non-sealed com.alibaba.fastjson2.JSONFactory.CacheItem cacheItem