-
Notifications
You must be signed in to change notification settings - Fork 571
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Support deserialization of proto3 default param when absent
- Loading branch information
Showing
13 changed files
with
1,599 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
119 changes: 119 additions & 0 deletions
119
wire-gson-support/src/test/java/squareup/proto3/BuyOneGetOnePromotion.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
// Code generated by Wire protocol buffer compiler, do not edit. | ||
// Source: squareup.proto3.BuyOneGetOnePromotion in pizza.proto | ||
package squareup.proto3 | ||
|
||
import com.squareup.wire.FieldEncoding | ||
import com.squareup.wire.Message | ||
import com.squareup.wire.ProtoAdapter | ||
import com.squareup.wire.ProtoReader | ||
import com.squareup.wire.ProtoWriter | ||
import com.squareup.wire.ReverseProtoWriter | ||
import com.squareup.wire.Syntax.PROTO_3 | ||
import com.squareup.wire.WireField | ||
import com.squareup.wire.`internal`.sanitize | ||
import kotlin.Any | ||
import kotlin.AssertionError | ||
import kotlin.Boolean | ||
import kotlin.Deprecated | ||
import kotlin.DeprecationLevel | ||
import kotlin.Int | ||
import kotlin.Long | ||
import kotlin.Nothing | ||
import kotlin.String | ||
import kotlin.Unit | ||
import kotlin.jvm.JvmField | ||
import okio.ByteString | ||
|
||
public class BuyOneGetOnePromotion( | ||
@field:WireField( | ||
tag = 1, | ||
adapter = "com.squareup.wire.ProtoAdapter#STRING", | ||
label = WireField.Label.OMIT_IDENTITY, | ||
) | ||
public val coupon: String = "", | ||
unknownFields: ByteString = ByteString.EMPTY, | ||
) : Message<BuyOneGetOnePromotion, Nothing>(ADAPTER, unknownFields) { | ||
@Deprecated( | ||
message = "Shouldn't be used in Kotlin", | ||
level = DeprecationLevel.HIDDEN, | ||
) | ||
public override fun newBuilder(): Nothing = throw | ||
AssertionError("Builders are deprecated and only available in a javaInterop build; see https://square.github.io/wire/wire_compiler/#kotlin") | ||
|
||
public override fun equals(other: Any?): Boolean { | ||
if (other === this) return true | ||
if (other !is BuyOneGetOnePromotion) return false | ||
if (unknownFields != other.unknownFields) return false | ||
if (coupon != other.coupon) return false | ||
return true | ||
} | ||
|
||
public override fun hashCode(): Int { | ||
var result = super.hashCode | ||
if (result == 0) { | ||
result = unknownFields.hashCode() | ||
result = result * 37 + coupon.hashCode() | ||
super.hashCode = result | ||
} | ||
return result | ||
} | ||
|
||
public override fun toString(): String { | ||
val result = mutableListOf<String>() | ||
result += """coupon=${sanitize(coupon)}""" | ||
return result.joinToString(prefix = "BuyOneGetOnePromotion{", separator = ", ", postfix = "}") | ||
} | ||
|
||
public fun copy(coupon: String = this.coupon, unknownFields: ByteString = this.unknownFields): | ||
BuyOneGetOnePromotion = BuyOneGetOnePromotion(coupon, unknownFields) | ||
|
||
public companion object { | ||
@JvmField | ||
public val ADAPTER: ProtoAdapter<BuyOneGetOnePromotion> = object : | ||
ProtoAdapter<BuyOneGetOnePromotion>( | ||
FieldEncoding.LENGTH_DELIMITED, | ||
BuyOneGetOnePromotion::class, | ||
"type.googleapis.com/squareup.proto3.BuyOneGetOnePromotion", | ||
PROTO_3, | ||
null, | ||
"pizza.proto" | ||
) { | ||
public override fun encodedSize(`value`: BuyOneGetOnePromotion): Int { | ||
var size = value.unknownFields.size | ||
if (value.coupon != "") size += ProtoAdapter.STRING.encodedSizeWithTag(1, value.coupon) | ||
return size | ||
} | ||
|
||
public override fun encode(writer: ProtoWriter, `value`: BuyOneGetOnePromotion): Unit { | ||
if (value.coupon != "") ProtoAdapter.STRING.encodeWithTag(writer, 1, value.coupon) | ||
writer.writeBytes(value.unknownFields) | ||
} | ||
|
||
public override fun encode(writer: ReverseProtoWriter, `value`: BuyOneGetOnePromotion): Unit { | ||
writer.writeBytes(value.unknownFields) | ||
if (value.coupon != "") ProtoAdapter.STRING.encodeWithTag(writer, 1, value.coupon) | ||
} | ||
|
||
public override fun decode(reader: ProtoReader): BuyOneGetOnePromotion { | ||
var coupon: String = "" | ||
val unknownFields = reader.forEachTag { tag -> | ||
when (tag) { | ||
1 -> coupon = ProtoAdapter.STRING.decode(reader) | ||
else -> reader.readUnknownField(tag) | ||
} | ||
} | ||
return BuyOneGetOnePromotion( | ||
coupon = coupon, | ||
unknownFields = unknownFields | ||
) | ||
} | ||
|
||
public override fun redact(`value`: BuyOneGetOnePromotion): BuyOneGetOnePromotion = | ||
value.copy( | ||
unknownFields = ByteString.EMPTY | ||
) | ||
} | ||
|
||
private const val serialVersionUID: Long = 0L | ||
} | ||
} |
155 changes: 155 additions & 0 deletions
155
wire-gson-support/src/test/java/squareup/proto3/FreeDrinkPromotion.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,155 @@ | ||
// Code generated by Wire protocol buffer compiler, do not edit. | ||
// Source: squareup.proto3.FreeDrinkPromotion in pizza.proto | ||
package squareup.proto3 | ||
|
||
import com.squareup.wire.EnumAdapter | ||
import com.squareup.wire.FieldEncoding | ||
import com.squareup.wire.Message | ||
import com.squareup.wire.ProtoAdapter | ||
import com.squareup.wire.ProtoReader | ||
import com.squareup.wire.ProtoWriter | ||
import com.squareup.wire.ReverseProtoWriter | ||
import com.squareup.wire.Syntax | ||
import com.squareup.wire.Syntax.PROTO_3 | ||
import com.squareup.wire.WireEnum | ||
import com.squareup.wire.WireField | ||
import kotlin.Any | ||
import kotlin.AssertionError | ||
import kotlin.Boolean | ||
import kotlin.Deprecated | ||
import kotlin.DeprecationLevel | ||
import kotlin.Int | ||
import kotlin.Long | ||
import kotlin.Nothing | ||
import kotlin.String | ||
import kotlin.Unit | ||
import kotlin.jvm.JvmField | ||
import kotlin.jvm.JvmStatic | ||
import okio.ByteString | ||
|
||
public class FreeDrinkPromotion( | ||
@field:WireField( | ||
tag = 1, | ||
adapter = "squareup.proto3.FreeDrinkPromotion${'$'}Drink#ADAPTER", | ||
label = WireField.Label.OMIT_IDENTITY, | ||
) | ||
public val drink: Drink = Drink.UNKNOWN, | ||
unknownFields: ByteString = ByteString.EMPTY, | ||
) : Message<FreeDrinkPromotion, Nothing>(ADAPTER, unknownFields) { | ||
@Deprecated( | ||
message = "Shouldn't be used in Kotlin", | ||
level = DeprecationLevel.HIDDEN, | ||
) | ||
public override fun newBuilder(): Nothing = throw | ||
AssertionError("Builders are deprecated and only available in a javaInterop build; see https://square.github.io/wire/wire_compiler/#kotlin") | ||
|
||
public override fun equals(other: Any?): Boolean { | ||
if (other === this) return true | ||
if (other !is FreeDrinkPromotion) return false | ||
if (unknownFields != other.unknownFields) return false | ||
if (drink != other.drink) return false | ||
return true | ||
} | ||
|
||
public override fun hashCode(): Int { | ||
var result = super.hashCode | ||
if (result == 0) { | ||
result = unknownFields.hashCode() | ||
result = result * 37 + drink.hashCode() | ||
super.hashCode = result | ||
} | ||
return result | ||
} | ||
|
||
public override fun toString(): String { | ||
val result = mutableListOf<String>() | ||
result += """drink=$drink""" | ||
return result.joinToString(prefix = "FreeDrinkPromotion{", separator = ", ", postfix = "}") | ||
} | ||
|
||
public fun copy(drink: Drink = this.drink, unknownFields: ByteString = this.unknownFields): | ||
FreeDrinkPromotion = FreeDrinkPromotion(drink, unknownFields) | ||
|
||
public companion object { | ||
@JvmField | ||
public val ADAPTER: ProtoAdapter<FreeDrinkPromotion> = object : | ||
ProtoAdapter<FreeDrinkPromotion>( | ||
FieldEncoding.LENGTH_DELIMITED, | ||
FreeDrinkPromotion::class, | ||
"type.googleapis.com/squareup.proto3.FreeDrinkPromotion", | ||
PROTO_3, | ||
null, | ||
"pizza.proto" | ||
) { | ||
public override fun encodedSize(`value`: FreeDrinkPromotion): Int { | ||
var size = value.unknownFields.size | ||
if (value.drink != Drink.UNKNOWN) size += Drink.ADAPTER.encodedSizeWithTag(1, value.drink) | ||
return size | ||
} | ||
|
||
public override fun encode(writer: ProtoWriter, `value`: FreeDrinkPromotion): Unit { | ||
if (value.drink != Drink.UNKNOWN) Drink.ADAPTER.encodeWithTag(writer, 1, value.drink) | ||
writer.writeBytes(value.unknownFields) | ||
} | ||
|
||
public override fun encode(writer: ReverseProtoWriter, `value`: FreeDrinkPromotion): Unit { | ||
writer.writeBytes(value.unknownFields) | ||
if (value.drink != Drink.UNKNOWN) Drink.ADAPTER.encodeWithTag(writer, 1, value.drink) | ||
} | ||
|
||
public override fun decode(reader: ProtoReader): FreeDrinkPromotion { | ||
var drink: Drink = Drink.UNKNOWN | ||
val unknownFields = reader.forEachTag { tag -> | ||
when (tag) { | ||
1 -> try { | ||
drink = Drink.ADAPTER.decode(reader) | ||
} catch (e: ProtoAdapter.EnumConstantNotFoundException) { | ||
reader.addUnknownField(tag, FieldEncoding.VARINT, e.value.toLong()) | ||
} | ||
else -> reader.readUnknownField(tag) | ||
} | ||
} | ||
return FreeDrinkPromotion( | ||
drink = drink, | ||
unknownFields = unknownFields | ||
) | ||
} | ||
|
||
public override fun redact(`value`: FreeDrinkPromotion): FreeDrinkPromotion = value.copy( | ||
unknownFields = ByteString.EMPTY | ||
) | ||
} | ||
|
||
private const val serialVersionUID: Long = 0L | ||
} | ||
|
||
public enum class Drink( | ||
public override val `value`: Int, | ||
) : WireEnum { | ||
UNKNOWN(0), | ||
PEPSI(1), | ||
MOUNTAIN_DEW(2), | ||
ROOT_BEER(9), | ||
; | ||
|
||
public companion object { | ||
@JvmField | ||
public val ADAPTER: ProtoAdapter<Drink> = object : EnumAdapter<Drink>( | ||
Drink::class, | ||
PROTO_3, | ||
Drink.UNKNOWN | ||
) { | ||
public override fun fromValue(`value`: Int): Drink? = Drink.fromValue(value) | ||
} | ||
|
||
@JvmStatic | ||
public fun fromValue(`value`: Int): Drink? = when (value) { | ||
0 -> UNKNOWN | ||
1 -> PEPSI | ||
2 -> MOUNTAIN_DEW | ||
9 -> ROOT_BEER | ||
else -> null | ||
} | ||
} | ||
} | ||
} |
Oops, something went wrong.