diff --git a/translator/src/main/java/com/google/devtools/j2objc/gen/TypeDeclarationGenerator.java b/translator/src/main/java/com/google/devtools/j2objc/gen/TypeDeclarationGenerator.java index 79179710a3..259f247dc2 100644 --- a/translator/src/main/java/com/google/devtools/j2objc/gen/TypeDeclarationGenerator.java +++ b/translator/src/main/java/com/google/devtools/j2objc/gen/TypeDeclarationGenerator.java @@ -224,6 +224,9 @@ private void printNativeEnum() { if (!printPrivateDeclarations()) { String swiftName = nameTable.getSwiftClassNameFromAnnotation(typeElement, true); if (swiftName != null) { + if (typeNode instanceof EnumDeclaration) { + swiftName = swiftName + "_Enum"; + } printf(" NS_SWIFT_NAME(%s)", swiftName); } } @@ -336,9 +339,6 @@ private void printSwiftName() { String swiftName = nameTable.getSwiftClassNameFromAnnotation(typeElement, true); if (swiftName != null) { - if (typeNode instanceof EnumDeclaration) { - swiftName = swiftName + "Class"; - } printf(" NS_SWIFT_NAME(%s)\n", swiftName); } } diff --git a/translator/src/test/java/com/google/devtools/j2objc/gen/ObjectiveCHeaderGeneratorTest.java b/translator/src/test/java/com/google/devtools/j2objc/gen/ObjectiveCHeaderGeneratorTest.java index 63b9fcf37c..f300af7d38 100644 --- a/translator/src/test/java/com/google/devtools/j2objc/gen/ObjectiveCHeaderGeneratorTest.java +++ b/translator/src/test/java/com/google/devtools/j2objc/gen/ObjectiveCHeaderGeneratorTest.java @@ -1789,8 +1789,8 @@ public void testSwiftNameEnumAnnotation() throws IOException { + "@SwiftName " + "public enum Color { RED, WHITE, BLUE }"; String translation = translateSourceFile(sourceContent, "Color", "com/foo/bar/Color.h"); + assertInTranslation(translation, "NS_SWIFT_NAME(Color_Enum)"); assertInTranslation(translation, "NS_SWIFT_NAME(Color)"); - assertInTranslation(translation, "NS_SWIFT_NAME(ColorClass)"); } public void testSwiftNameInterfaceSubtype() throws IOException { @@ -1810,7 +1810,7 @@ public void testSwiftNameInterfaceSubtype() throws IOException { + " public final class NestedBar {}" + "}"; String translation = translateSourceFile(sourceContent, "FooBar", "com/foo/bar/FooBar.h"); - assertInTranslation(translation, "NS_SWIFT_NAME(MyEnumClass)"); + assertInTranslation(translation, "NS_SWIFT_NAME(MyEnum_Enum)"); assertInTranslation(translation, "NS_SWIFT_NAME(MyEnum)"); assertInTranslation(translation, "NS_SWIFT_NAME(NestedBar)"); }