From 458a5b9d76cf4e5586deb5f3153a422528adeb83 Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Tue, 8 Oct 2024 16:44:24 -0700 Subject: [PATCH] m --- .../extensions/DirectedDafnyPythonLocalServiceCodegen.java | 2 ++ .../main/java/software/amazon/polymorph/utils/ModelUtils.java | 3 +++ 2 files changed, 5 insertions(+) diff --git a/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithypython/localservice/extensions/DirectedDafnyPythonLocalServiceCodegen.java b/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithypython/localservice/extensions/DirectedDafnyPythonLocalServiceCodegen.java index 8e759e8d6..e067a865e 100644 --- a/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithypython/localservice/extensions/DirectedDafnyPythonLocalServiceCodegen.java +++ b/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithypython/localservice/extensions/DirectedDafnyPythonLocalServiceCodegen.java @@ -505,6 +505,8 @@ protected void generateOrphanedShapesForService( shapeToGenerate.asUnionShape().get(), directive.context() ); + } else if (shapeToGenerate.isStringShape()) { + // Orphaned strings are apparently not generated for .NET/Java } else { // Add more as needed... throw new ClassCastException( diff --git a/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/utils/ModelUtils.java b/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/utils/ModelUtils.java index 74068e168..069bc9705 100644 --- a/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/utils/ModelUtils.java +++ b/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/utils/ModelUtils.java @@ -734,6 +734,9 @@ public static List getTopologicallyOrderedOrphanedShapesForService( TopologicalIndex topologicalIndex = TopologicalIndex.of(model); + // Get orphaned shapes under the following conditions: + // 1. In the same namespace as the service. (Should only generate shapes in this service.) + // 2. Not a member shape. (Member shapes don't have their own shapes generated for them.) for (Shape shape : topologicalIndex.getOrderedShapes()) { if (orphanedShapes.contains(shape) && shape.getId().getNamespace().equals(serviceShape.getId().getNamespace())