From 164c2ba98180ed4610e6334492b0457b38fefd1d Mon Sep 17 00:00:00 2001 From: Sichan Yoo Date: Mon, 6 Jan 2025 10:38:10 -0800 Subject: [PATCH] Fix service name rendered on API reference docs. --- .../amazon/smithy/swift/codegen/ServiceGenerator.kt | 13 ++++++++++--- .../integration/HttpProtocolClientGenerator.kt | 4 +++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/smithy-swift-codegen/src/main/kotlin/software/amazon/smithy/swift/codegen/ServiceGenerator.kt b/smithy-swift-codegen/src/main/kotlin/software/amazon/smithy/swift/codegen/ServiceGenerator.kt index 4e9257ad8..ffb539bee 100644 --- a/smithy-swift-codegen/src/main/kotlin/software/amazon/smithy/swift/codegen/ServiceGenerator.kt +++ b/smithy-swift-codegen/src/main/kotlin/software/amazon/smithy/swift/codegen/ServiceGenerator.kt @@ -24,6 +24,7 @@ class ServiceGenerator() { * Renders the definition of operation, followed by no CR */ fun renderOperationDefinition( + serviceName: String, model: Model, service: ServiceShape, symbolProvider: SymbolProvider, @@ -42,7 +43,7 @@ class ServiceGenerator() { val outputShape = opIndex.getOutput(op).get() val outputShapeName = symbolProvider.toSymbol(outputShape).name - renderOperationDoc(model, service, op, writer) + renderOperationDoc(serviceName, model, service, op, writer) val accessSpecifier = if (insideProtocol) "" else "public " @@ -58,8 +59,14 @@ class ServiceGenerator() { /** * Helper method for generating in-line documentation for operation */ - private fun renderOperationDoc(model: Model, service: ServiceShape, op: OperationShape, writer: SwiftWriter) { - writer.writeDocs("Performs the \\`${op.id.name}\\` operation on the \\`${service.id.name}\\` service.") + private fun renderOperationDoc( + serviceName: String, + model: Model, + service: ServiceShape, + op: OperationShape, + writer: SwiftWriter + ) { + writer.writeDocs("Performs the \\`${op.id.name}\\` operation on the \\`${serviceName}\\` service.") writer.writeDocs("") writer.writeShapeDocs(op) writer.writeAvailableAttribute(model, op) diff --git a/smithy-swift-codegen/src/main/kotlin/software/amazon/smithy/swift/codegen/integration/HttpProtocolClientGenerator.kt b/smithy-swift-codegen/src/main/kotlin/software/amazon/smithy/swift/codegen/integration/HttpProtocolClientGenerator.kt index 3906da510..f50a33e1a 100644 --- a/smithy-swift-codegen/src/main/kotlin/software/amazon/smithy/swift/codegen/integration/HttpProtocolClientGenerator.kt +++ b/smithy-swift-codegen/src/main/kotlin/software/amazon/smithy/swift/codegen/integration/HttpProtocolClientGenerator.kt @@ -14,6 +14,7 @@ import software.amazon.smithy.swift.codegen.middleware.MiddlewareExecutionGenera import software.amazon.smithy.swift.codegen.middleware.OperationMiddleware import software.amazon.smithy.swift.codegen.model.toUpperCamelCase import software.amazon.smithy.swift.codegen.swiftmodules.SmithyTypes +import software.amazon.smithy.swift.codegen.utils.toUpperCamelCase /** * Renders an implementation of a service interface for HTTP protocol @@ -46,7 +47,8 @@ open class HttpProtocolClientGenerator( writer.openBlock("extension \$L {", "}", serviceSymbol.name) { operations.forEach { - ServiceGenerator.renderOperationDefinition(model, serviceShape, symbolProvider, writer, operationsIndex, it) + val serviceName = ctx.settings.sdkId.toUpperCamelCase() + ServiceGenerator.renderOperationDefinition(serviceName, model, serviceShape, symbolProvider, writer, operationsIndex, it) writer.openBlock(" {", "}") { val operationStackName = "operation" val generator = MiddlewareExecutionGenerator(ctx, writer, httpBindingResolver, httpProtocolCustomizable, operationMiddleware, operationStackName)