From ba5c82be88cf79d581e5405943388ab5a54f13f2 Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Thu, 17 Oct 2024 14:01:51 -0700 Subject: [PATCH] Revert "Bring function name generator in a constant utils file" This reverts commit f7340ed102692dd429c5486752451abbeb4e2294. --- ...fnyAwsSdkClientTypeConversionProtocol.java | 8 ++--- .../shapevisitor/ShapeVisitorHelper.java | 31 ++++++++++--------- ...fnyLocalServiceTypeConversionProtocol.java | 6 ++-- .../shapevisitor/ShapeVisitorHelper.java | 28 ++++++++++++++--- .../polymorph/smithygo/utils/Constants.java | 27 ---------------- 5 files changed, 45 insertions(+), 55 deletions(-) delete mode 100644 codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/utils/Constants.java diff --git a/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/awssdk/DafnyAwsSdkClientTypeConversionProtocol.java b/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/awssdk/DafnyAwsSdkClientTypeConversionProtocol.java index 441ee8e81..20fedcea6 100644 --- a/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/awssdk/DafnyAwsSdkClientTypeConversionProtocol.java +++ b/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/awssdk/DafnyAwsSdkClientTypeConversionProtocol.java @@ -25,8 +25,6 @@ import software.amazon.smithy.model.traits.ErrorTrait; import software.amazon.smithy.model.traits.UnitTypeTrait; -import static software.amazon.polymorph.smithygo.utils.Constants.funcNameGenerator; - public class DafnyAwsSdkClientTypeConversionProtocol implements ProtocolGenerator { @@ -599,7 +597,7 @@ func Error_ToDafny(err error)($L.Error) { } """, DafnyNameResolver.dafnyTypesNamespace(serviceShape), - writer.consumer(w -> { + writer.consumer(w -> { for (final var error : errorShapes) { w.write( """ @@ -808,7 +806,7 @@ private void generateSerializerFunctions(final GenerationContext context, final return $L } """, - funcNameGenerator( + ShapeVisitorHelper.funcNameGenerator( visitingMemberShape, "ToDafny" ), @@ -858,7 +856,7 @@ private void generateDeserializerFunctions(final GenerationContext context, fina func $L(input $L)($L) { return $L }""", - funcNameGenerator( + ShapeVisitorHelper.funcNameGenerator( visitingMemberShape, "FromDafny" ), diff --git a/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/awssdk/shapevisitor/ShapeVisitorHelper.java b/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/awssdk/shapevisitor/ShapeVisitorHelper.java index 095c5534c..f33b3df17 100644 --- a/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/awssdk/shapevisitor/ShapeVisitorHelper.java +++ b/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/awssdk/shapevisitor/ShapeVisitorHelper.java @@ -12,8 +12,6 @@ import software.amazon.smithy.model.shapes.Shape; import software.amazon.smithy.model.traits.EnumTrait; -import static software.amazon.polymorph.smithygo.utils.Constants.funcNameGenerator; - public class ShapeVisitorHelper { private static final Map optionalShapesToDafny = @@ -36,17 +34,17 @@ public static boolean isToNativeShapePointable(final MemberShape shape) { * @param suffix Suffix to add to the function. As of this writing, we only put FromDafny or ToNative suffix. * @return the function Name */ - // public static String funcNameGenerator( - // final MemberShape memberShape, - // final String suffix - // ) { - // return memberShape - // .getId() - // .toString() - // .replaceAll("[.$#]", "_") - // .concat("_") - // .concat(suffix); - // } + public static String funcNameGenerator( + final MemberShape memberShape, + final String suffix + ) { + return memberShape + .getId() + .toString() + .replaceAll("[.$#]", "_") + .concat("_") + .concat(suffix); + } public static String toNativeShapeVisitorWriter( final MemberShape memberShape, @@ -137,8 +135,11 @@ public static String toDafnyShapeVisitorWriter( ) ); } - final String funcName = funcNameGenerator(memberShape, "ToDafny"); - nextVisitorFunction = funcName.concat("(").concat(dataSource).concat(")"); + final String funcName = + (memberShape.getId().toString().replaceAll("[.$#]", "_")).concat( + "_ToDafny(" + ); + nextVisitorFunction = funcName.concat(dataSource).concat(")"); return nextVisitorFunction; } } diff --git a/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/localservice/DafnyLocalServiceTypeConversionProtocol.java b/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/localservice/DafnyLocalServiceTypeConversionProtocol.java index 2cc87e9a6..7df296665 100644 --- a/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/localservice/DafnyLocalServiceTypeConversionProtocol.java +++ b/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/localservice/DafnyLocalServiceTypeConversionProtocol.java @@ -27,8 +27,6 @@ import software.amazon.smithy.model.traits.UnitTypeTrait; import software.amazon.polymorph.smithygo.utils.GoCodegenUtils; -import static software.amazon.polymorph.smithygo.utils.Constants.funcNameGenerator; - public class DafnyLocalServiceTypeConversionProtocol implements ProtocolGenerator { @@ -1315,7 +1313,7 @@ private void generateSerializerFunctions(final GenerationContext context, final return $L } """, - funcNameGenerator( + ShapeVisitorHelper.funcNameGenerator( visitingMemberShape, "ToDafny" ), @@ -1385,7 +1383,7 @@ private void generateDeserializerFunctions(final GenerationContext context, fina func $L(input interface{})($L) { $L }""", - funcNameGenerator( + ShapeVisitorHelper.funcNameGenerator( visitingMemberShape, "FromDafny" ), diff --git a/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/localservice/shapevisitor/ShapeVisitorHelper.java b/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/localservice/shapevisitor/ShapeVisitorHelper.java index 80905e229..af2508fc5 100644 --- a/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/localservice/shapevisitor/ShapeVisitorHelper.java +++ b/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/localservice/shapevisitor/ShapeVisitorHelper.java @@ -10,8 +10,6 @@ import software.amazon.smithy.model.shapes.MemberShape; import software.amazon.smithy.model.shapes.Shape; -import static software.amazon.polymorph.smithygo.utils.Constants.funcNameGenerator; - public class ShapeVisitorHelper { private static final Map optionalShapesToDafny = @@ -21,6 +19,25 @@ public static boolean isToDafnyShapeOptional(final MemberShape shape) { return optionalShapesToDafny.get(shape); } + /** + * Generates functions Name for To Dafny and To Native conversion. + * + * @param memberShape MemberShape to generate function name for. + * @param suffix Suffix to add to the function. As of this writing, we only put FromDafny or ToNative suffix. + * @return the function Name + */ + public static String funcNameGenerator( + final MemberShape memberShape, + final String suffix + ) { + return memberShape + .getId() + .toString() + .replaceAll("[.$#]", "_") + .concat("_") + .concat(suffix); + } + public static String toNativeShapeVisitorWriter( final MemberShape memberShape, final GenerationContext context, @@ -129,8 +146,11 @@ public static String toDafnyShapeVisitorWriter( ) ); } - final String funcName = funcNameGenerator(memberShape, "ToDafny"); - nextVisitorFunction = funcName.concat("(").concat(dataSource).concat(")"); + final String funcName = + (memberShape.getId().toString().replaceAll("[.$#]", "_")).concat( + "_ToDafny(" + ); + nextVisitorFunction = funcName.concat(dataSource).concat(")"); return nextVisitorFunction; } } diff --git a/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/utils/Constants.java b/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/utils/Constants.java deleted file mode 100644 index 7c720e40b..000000000 --- a/codegen/smithy-dafny-codegen/src/main/java/software/amazon/polymorph/smithygo/utils/Constants.java +++ /dev/null @@ -1,27 +0,0 @@ -package software.amazon.polymorph.smithygo.utils; - -import software.amazon.smithy.model.shapes.MemberShape; - -public class Constants { - public static final String DAFNY_RUNTIME_GO_LIBRARY_MODULE = "github.com/dafny-lang/DafnyRuntimeGo"; - - // TODO: Is it possible to make this function name shorter and in camelCase? - /** - * Generates a function name for shape visitors for AWS SDK and localservice. - * - * @param memberShape The visiting MemberShape - * @param suffix A string to be appended at the end of the generated function name - * @return A string representing the generated function name - */ - public static String funcNameGenerator( - final MemberShape memberShape, - final String suffix - ) { - return memberShape - .getId() - .toString() - .replaceAll("[.$#]", "_") - .concat("_") - .concat(suffix); - } -}