Fix 3186 (#3521)
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, macos-latest) (push) Has been cancelled Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, ubuntu-24.04) (push) Has been cancelled Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, windows-latest) (push) Has been cancelled Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, macos-latest) (push) Has been cancelled Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, ubuntu-24.04) (push) Has been cancelled Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, windows-latest) (push) Has been cancelled Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (21, macos-latest) (push) Has been cancelled Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (21, ubuntu-24.04) (push) Has been cancelled Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (21, windows-latest) (push) Has been cancelled Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, macos-latest) (push) Has been cancelled Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, ubuntu-24.04) (push) Has been cancelled Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, windows-latest) (push) Has been cancelled Details

* fix reuse local variable

* fix all
This commit is contained in:
yanxutao89 2025-04-28 06:22:06 +08:00 committed by GitHub
parent ddf4f50784
commit 80c005c491
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 10 additions and 6 deletions

View File

@ -1622,7 +1622,7 @@ public class ObjectWriterCreatorASM
|| fieldClass == BigDecimal.class
|| fieldClass.isEnum()
) {
gwValue(mwc, fieldWriter, OBJECT, i);
gwValue(mwc, fieldWriter, OBJECT, i, null);
} else if (fieldClass == Date.class) {
gwDate(mwc, fieldWriter, OBJECT, i);
} else if (fieldWriter instanceof FieldWriterList) {
@ -1865,7 +1865,7 @@ public class ObjectWriterCreatorASM
mw.invokevirtual(TYPE_FIELD_WRITER, "writeDate", METHOD_DESC_WRITE_DATE_WITH_FIELD_NAME);
}
private void gwValue(MethodWriterContext mwc, FieldWriter fieldWriter, int OBJECT, int i) {
private void gwValue(MethodWriterContext mwc, FieldWriter fieldWriter, int OBJECT, int i, Integer LOCAL_FIELD_VALUE) {
MethodWriter mw = mwc.mw;
Class fieldClass = fieldWriter.fieldClass;
@ -1880,7 +1880,11 @@ public class ObjectWriterCreatorASM
}
mw.aload(JSON_WRITER);
genGetObject(mwc, fieldWriter, i, OBJECT);
if (LOCAL_FIELD_VALUE != null) {
mw.loadLocal(fieldClass, LOCAL_FIELD_VALUE);
} else {
genGetObject(mwc, fieldWriter, i, OBJECT);
}
if (fieldWriter.decimalFormat != null) {
if (fieldClass == double.class) {
@ -2148,7 +2152,7 @@ public class ObjectWriterCreatorASM
|| fieldClass == BigDecimal.class
|| fieldClass.isEnum()
) {
gwValue(mwc, fieldWriter, OBJECT, i);
gwValue(mwc, fieldWriter, OBJECT, i, null);
} else if (fieldClass == Date.class) {
gwDate(mwc, fieldWriter, OBJECT, i);
} else if (fieldWriter instanceof FieldWriterList) {
@ -3977,7 +3981,7 @@ public class ObjectWriterCreatorASM
}
} else if (fieldClass == double.class) {
gwFieldName(mwc, fieldWriter, i);
gwValue(mwc, fieldWriter, OBJECT, i);
gwValue(mwc, fieldWriter, OBJECT, i, FIELD_VALUE);
} else {
throw new UnsupportedOperationException();
}
@ -4064,7 +4068,7 @@ public class ObjectWriterCreatorASM
gwFieldName(mwc, fieldWriter, i);
gwValue(mwc, fieldWriter, OBJECT, i);
gwValue(mwc, fieldWriter, OBJECT, i, FIELD_VALUE);
mw.visitLabel(endWriteValue_);
}