Skip to content

Commit

Permalink
Generated record fields should be outside the returned lambda
Browse files Browse the repository at this point in the history
  • Loading branch information
sksamuel committed Apr 28, 2024
1 parent 5c9aae2 commit 5da24f4
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,13 @@ class RecordEncoderGenerator {
appendLine()
appendLine(" override fun encode(schema: Schema): (${kclass.java.simpleName}) -> GenericRecord {")
appendLine()
appendLine(" return { value ->")
appendLine()
kclass.declaredMemberProperties.forEach { property ->
appendLine(" val ${property.name}Schema = schema.getField(\"${property.name}\").schema()")
appendLine(" val ${property.name}Pos = schema.getField(\"${property.name}\").pos()")
appendLine(" val ${property.name}Encode = ${encode(property)}")
}
appendLine()
appendLine(" return { value ->")
appendLine(" val record = GenericData.Record(schema)")
kclass.declaredMemberProperties.forEach { property ->
appendLine(" record.put(${property.name}Pos, ${encoderInvocation(property)})")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@ object MyFooEncoder : Encoder<MyFoo> {
override fun encode(schema: Schema): (MyFoo) -> GenericRecord {
return { value ->
val bSchema = schema.getField("b").schema()
val bPos = schema.getField("b").pos()
val bEncode = BooleanEncoder.encode(bSchema)
Expand Down Expand Up @@ -69,6 +67,7 @@ object MyFooEncoder : Encoder<MyFoo> {
val winePos = schema.getField("wine").pos()
val wineEncode = NullEncoder(EnumEncoder()).encode(wineSchema)
return { value ->
val record = GenericData.Record(schema)
record.put(bPos, value.b)
record.put(cPos, value.c)
Expand Down

0 comments on commit 5da24f4

Please sign in to comment.