From dc5edbf8cd7dd532979dd0c33f3839d834a622e9 Mon Sep 17 00:00:00 2001 From: Rico Yao Date: Thu, 14 Nov 2019 14:25:35 -0800 Subject: [PATCH] Missing @SerializedName annotation on integer-based enums --- Examples/Java/Sources/Everything.java | 22 +++++++++++----------- Examples/Java/Sources/Pin.java | 6 +++--- Sources/Core/JavaIR.swift | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Examples/Java/Sources/Everything.java b/Examples/Java/Sources/Everything.java index bef23077..10307a31 100644 --- a/Examples/Java/Sources/Everything.java +++ b/Examples/Java/Sources/Everything.java @@ -29,7 +29,7 @@ public class Everything { public enum EverythingCharEnum { - CHAR_CASE_1(-1); + @SerializedName("-1") CHAR_CASE_1(-1); private final int value; EverythingCharEnum(int value) { this.value = value; @@ -40,8 +40,8 @@ public int getValue() { } public enum EverythingIntEnum { - INT_CASE_1(-1), - INT_CASE_2(65536); + @SerializedName("-1") INT_CASE_1(-1), + @SerializedName("65536") INT_CASE_2(65536); private final int value; EverythingIntEnum(int value) { this.value = value; @@ -52,8 +52,8 @@ public int getValue() { } public enum EverythingNsintegerEnum { - NSINTEGER_CASE_1(-1), - NSINTEGER_CASE_2(4294967295); + @SerializedName("-1") NSINTEGER_CASE_1(-1), + @SerializedName("4294967295") NSINTEGER_CASE_2(4294967295); private final int value; EverythingNsintegerEnum(int value) { this.value = value; @@ -64,7 +64,7 @@ public int getValue() { } public enum EverythingNsuintegerEnum { - NSUINTEGER_CASE_2(4294967296); + @SerializedName("4294967296") NSUINTEGER_CASE_2(4294967296); private final int value; EverythingNsuintegerEnum(int value) { this.value = value; @@ -75,8 +75,8 @@ public int getValue() { } public enum EverythingShortEnum { - SHORT_CASE_1(-1), - SHORT_CASE_2(256); + @SerializedName("-1") SHORT_CASE_1(-1), + @SerializedName("256") SHORT_CASE_2(256); private final int value; EverythingShortEnum(int value) { this.value = value; @@ -91,7 +91,7 @@ public enum EverythingStringEnum { } public enum EverythingUnsignedCharEnum { - UNSIGNED_CHAR_CASE_2(255); + @SerializedName("255") UNSIGNED_CHAR_CASE_2(255); private final int value; EverythingUnsignedCharEnum(int value) { this.value = value; @@ -102,7 +102,7 @@ public int getValue() { } public enum EverythingUnsignedIntEnum { - UNSIGNED_INT_CASE_2(65536); + @SerializedName("65536") UNSIGNED_INT_CASE_2(65536); private final int value; EverythingUnsignedIntEnum(int value) { this.value = value; @@ -113,7 +113,7 @@ public int getValue() { } public enum EverythingUnsignedShortEnum { - CHAR_CASE_2(256); + @SerializedName("256") CHAR_CASE_2(256); private final int value; EverythingUnsignedShortEnum(int value) { this.value = value; diff --git a/Examples/Java/Sources/Pin.java b/Examples/Java/Sources/Pin.java index df5713a7..872e4a86 100644 --- a/Examples/Java/Sources/Pin.java +++ b/Examples/Java/Sources/Pin.java @@ -28,9 +28,9 @@ public class Pin { public enum PinInStock { - UNKNOWN(-1), - OUT_OF_STOCK(0), - IN_STOCK(1); + @SerializedName("-1") UNKNOWN(-1), + @SerializedName("0") OUT_OF_STOCK(0), + @SerializedName("1") IN_STOCK(1); private final int value; PinInStock(int value) { this.value = value; diff --git a/Sources/Core/JavaIR.swift b/Sources/Core/JavaIR.swift index b8f5542f..96b02244 100644 --- a/Sources/Core/JavaIR.swift +++ b/Sources/Core/JavaIR.swift @@ -379,7 +379,7 @@ public struct JavaIR { case let .integer(values): let names = values .map { ($0.description, $0.defaultValue) } - .map { "\($0.0.uppercased())(\($0.1))" }.joined(separator: ", \n") + .map { "@\(JavaAnnotation.serializedName(name: "\($0.1)").rendered) \($0.0.uppercased())(\($0.1))" }.joined(separator: ", \n") let enumInitializer = JavaIR.method([], "\(name)(int value)") { [ "this.value = value;", ] }