diff --git a/codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/EnumGenerator.java b/codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/EnumGenerator.java index db85e046d..f5f7d4e86 100644 --- a/codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/EnumGenerator.java +++ b/codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/EnumGenerator.java @@ -59,8 +59,14 @@ public void run() { for (EnumDefinition definition : enumTrait.getValues()) { StringBuilder labelBuilder = new StringBuilder(symbol.getName()); String name = definition.getName().get(); - for (String part : name.split("(?U)[\\W_]")) { - labelBuilder.append(StringUtils.capitalize(part.toLowerCase(Locale.US))); + + // Only split, capital case, and join the elements if there are non-word characters. + if (name.matches("(?U)[\\W_]")) { + for (String part : name.split("(?U)[\\W_]")) { + labelBuilder.append(StringUtils.capitalize(part.toLowerCase(Locale.US))); + } + } else { + labelBuilder.append(StringUtils.capitalize(name)); } String label = labelBuilder.toString();