From 2cc4ff1052add3182a822ca0b46757f36b2302ae Mon Sep 17 00:00:00 2001 From: Evgeniy Timokhov Date: Thu, 19 Mar 2026 14:48:32 +0000 Subject: [PATCH] Added new code sections to support deser overrides Fixes #1053 --- .../generators/DeserializerGenerator.java | 3 ++- .../generators/SerializerMemberGenerator.java | 6 ++++-- .../sections/MemberDeserializerSection.java | 19 +++++++++++++++++++ .../sections/MemberSerializerSection.java | 19 +++++++++++++++++++ 4 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 codegen/codegen-core/src/main/java/software/amazon/smithy/java/codegen/sections/MemberDeserializerSection.java create mode 100644 codegen/codegen-core/src/main/java/software/amazon/smithy/java/codegen/sections/MemberSerializerSection.java diff --git a/codegen/codegen-core/src/main/java/software/amazon/smithy/java/codegen/generators/DeserializerGenerator.java b/codegen/codegen-core/src/main/java/software/amazon/smithy/java/codegen/generators/DeserializerGenerator.java index e1f2d1248..6b6dde169 100644 --- a/codegen/codegen-core/src/main/java/software/amazon/smithy/java/codegen/generators/DeserializerGenerator.java +++ b/codegen/codegen-core/src/main/java/software/amazon/smithy/java/codegen/generators/DeserializerGenerator.java @@ -8,6 +8,7 @@ import software.amazon.smithy.codegen.core.Symbol; import software.amazon.smithy.codegen.core.SymbolProvider; import software.amazon.smithy.java.codegen.CodegenUtils; +import software.amazon.smithy.java.codegen.sections.MemberDeserializerSection; import software.amazon.smithy.java.codegen.writer.JavaWriter; import software.amazon.smithy.java.core.serde.event.EventStream; import software.amazon.smithy.model.Model; @@ -66,7 +67,7 @@ final class DeserializerGenerator extends ShapeVisitor.DataShapeVisitor im @Override public void run() { - writer.pushState(); + writer.pushState(new MemberDeserializerSection(shape, schemaName, deserializer)); writer.putContext("schemaName", schemaName); writer.putContext("deserializer", deserializer); shape.accept(this); diff --git a/codegen/codegen-core/src/main/java/software/amazon/smithy/java/codegen/generators/SerializerMemberGenerator.java b/codegen/codegen-core/src/main/java/software/amazon/smithy/java/codegen/generators/SerializerMemberGenerator.java index f2015811a..33ab55ace 100644 --- a/codegen/codegen-core/src/main/java/software/amazon/smithy/java/codegen/generators/SerializerMemberGenerator.java +++ b/codegen/codegen-core/src/main/java/software/amazon/smithy/java/codegen/generators/SerializerMemberGenerator.java @@ -9,6 +9,7 @@ import software.amazon.smithy.codegen.core.directed.ContextualDirective; import software.amazon.smithy.java.codegen.CodeGenerationContext; import software.amazon.smithy.java.codegen.CodegenUtils; +import software.amazon.smithy.java.codegen.sections.MemberSerializerSection; import software.amazon.smithy.java.codegen.writer.JavaWriter; import software.amazon.smithy.java.core.schema.Unit; import software.amazon.smithy.model.Model; @@ -66,9 +67,10 @@ final class SerializerMemberGenerator extends ShapeVisitor.DataShapeVisitor