From 94a991cd649f4f43c3eb50611e34a9964020282e Mon Sep 17 00:00:00 2001 From: John DiSanti Date: Tue, 11 Oct 2022 11:09:04 -0700 Subject: [PATCH] Remove `handleRustBoxing` config from `SymbolVisitor` (#1824) --- .../smithy/rust/codegen/client/smithy/CodegenVisitor.kt | 1 - .../smithy/rust/codegen/core/smithy/SymbolVisitor.kt | 8 +------- .../codegen/core/smithy/generators/StructureGenerator.kt | 2 +- .../smithy/rust/codegen/core/testutil/TestHelpers.kt | 1 - .../server/python/smithy/PythonServerCodegenVisitor.kt | 1 - .../rust/codegen/server/smithy/ServerCodegenVisitor.kt | 1 - .../codegen/server/smithy/testutil/ServerTestHelpers.kt | 1 - 7 files changed, 2 insertions(+), 13 deletions(-) diff --git a/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/CodegenVisitor.kt b/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/CodegenVisitor.kt index f7c68c658..4a7e6cae1 100644 --- a/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/CodegenVisitor.kt +++ b/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/CodegenVisitor.kt @@ -69,7 +69,6 @@ class CodegenVisitor( SymbolVisitorConfig( runtimeConfig = settings.runtimeConfig, renameExceptions = settings.codegenConfig.renameExceptions, - handleRustBoxing = true, nullabilityCheckMode = NullableIndex.CheckMode.CLIENT_ZERO_VALUE_V1, ) val baseModel = baselineTransform(context.model) diff --git a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/SymbolVisitor.kt b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/SymbolVisitor.kt index 3b2024fae..d72bafb5b 100644 --- a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/SymbolVisitor.kt +++ b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/SymbolVisitor.kt @@ -65,7 +65,6 @@ val SimpleShapes: Map, RustType> = mapOf( data class SymbolVisitorConfig( val runtimeConfig: RuntimeConfig, val renameExceptions: Boolean, - val handleRustBoxing: Boolean, val nullabilityCheckMode: NullableIndex.CheckMode, ) @@ -328,13 +327,8 @@ open class SymbolVisitor( override fun memberShape(shape: MemberShape): Symbol { val target = model.expectShape(shape.target) - val targetSymbol = this.toSymbol(target) // Handle boxing first so we end up with Option>, not Box> - return targetSymbol.letIf(config.handleRustBoxing) { - handleRustBoxing(it, shape) - }.let { - handleOptionality(it, shape) - } + return handleOptionality(handleRustBoxing(toSymbol(target), shape), shape) } override fun timestampShape(shape: TimestampShape?): Symbol { diff --git a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/StructureGenerator.kt b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/StructureGenerator.kt index f216f236d..96f508c5d 100644 --- a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/StructureGenerator.kt +++ b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/StructureGenerator.kt @@ -152,7 +152,7 @@ open class StructureGenerator( writer.renderMemberDoc(member, memberSymbol) writer.deprecatedShape(member) memberSymbol.expectRustMetadata().render(writer) - writer.write("$memberName: #T,", symbolProvider.toSymbol(member)) + writer.write("$memberName: #T,", memberSymbol) } open fun renderStructure() { diff --git a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/testutil/TestHelpers.kt b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/testutil/TestHelpers.kt index 42d37b667..848762ff1 100644 --- a/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/testutil/TestHelpers.kt +++ b/codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/testutil/TestHelpers.kt @@ -39,7 +39,6 @@ val TestRuntimeConfig = val TestSymbolVisitorConfig = SymbolVisitorConfig( runtimeConfig = TestRuntimeConfig, renameExceptions = true, - handleRustBoxing = true, nullabilityCheckMode = NullableIndex.CheckMode.CLIENT_ZERO_VALUE_V1, ) diff --git a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerCodegenVisitor.kt b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerCodegenVisitor.kt index c4e07d60d..0edc5a087 100644 --- a/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerCodegenVisitor.kt +++ b/codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/PythonServerCodegenVisitor.kt @@ -48,7 +48,6 @@ class PythonServerCodegenVisitor( SymbolVisitorConfig( runtimeConfig = settings.runtimeConfig, renameExceptions = false, - handleRustBoxing = true, nullabilityCheckMode = NullableIndex.CheckMode.SERVER, ) val baseModel = baselineTransform(context.model) diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ServerCodegenVisitor.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ServerCodegenVisitor.kt index db93c5cff..712d930b4 100644 --- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ServerCodegenVisitor.kt +++ b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/ServerCodegenVisitor.kt @@ -75,7 +75,6 @@ open class ServerCodegenVisitor( SymbolVisitorConfig( runtimeConfig = settings.runtimeConfig, renameExceptions = false, - handleRustBoxing = true, nullabilityCheckMode = NullableIndex.CheckMode.SERVER, ) val baseModel = baselineTransform(context.model) diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/testutil/ServerTestHelpers.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/testutil/ServerTestHelpers.kt index 5c648e6fe..4159e732c 100644 --- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/testutil/ServerTestHelpers.kt +++ b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/testutil/ServerTestHelpers.kt @@ -24,7 +24,6 @@ import software.amazon.smithy.rust.codegen.server.smithy.ServerRustSettings val ServerTestSymbolVisitorConfig = SymbolVisitorConfig( runtimeConfig = TestRuntimeConfig, renameExceptions = false, - handleRustBoxing = true, nullabilityCheckMode = NullableIndex.CheckMode.SERVER, ) -- GitLab