diff --git a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt index 8b5c25f2de3..14de5b2b912 100644 --- a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt +++ b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt @@ -264,10 +264,12 @@ class ClassFileToSourceStubConverter(val kaptContext: KaptContextForStubGenerati } val isCallableImport = importedReference is CallableDescriptor + val isEnumEntry = (importedReference as? ClassDescriptor)?.kind == ClassKind.ENUM_ENTRY val isAllUnderClassifierImport = importDirective.isAllUnder && importedReference is ClassifierDescriptor - if (isCallableImport || isAllUnderClassifierImport) + if (isCallableImport || isEnumEntry || isAllUnderClassifierImport) { continue@loop + } val importedExpr = treeMaker.FqName(importedFqName.asString()) diff --git a/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/ClassFileToSourceStubConverterTestGenerated.java b/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/ClassFileToSourceStubConverterTestGenerated.java index 90dc1c4e6db..19ab4d2f67c 100644 --- a/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/ClassFileToSourceStubConverterTestGenerated.java +++ b/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/ClassFileToSourceStubConverterTestGenerated.java @@ -89,6 +89,11 @@ public class ClassFileToSourceStubConverterTestGenerated extends AbstractClassFi runTest("plugins/kapt3/kapt3-compiler/testData/converter/defaultImpls.kt"); } + @TestMetadata("enumImports.kt") + public void testEnumImports() throws Exception { + runTest("plugins/kapt3/kapt3-compiler/testData/converter/enumImports.kt"); + } + @TestMetadata("enums.kt") public void testEnums() throws Exception { runTest("plugins/kapt3/kapt3-compiler/testData/converter/enums.kt"); diff --git a/plugins/kapt3/kapt3-compiler/testData/converter/aliasedImports.txt b/plugins/kapt3/kapt3-compiler/testData/converter/aliasedImports.txt index e048231e1db..aeeae101f1f 100644 --- a/plugins/kapt3/kapt3-compiler/testData/converter/aliasedImports.txt +++ b/plugins/kapt3/kapt3-compiler/testData/converter/aliasedImports.txt @@ -1,6 +1,5 @@ import java.util.Date; import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeUnit.MICROSECONDS; import a.b.ABC; @kotlin.Metadata() @@ -90,7 +89,6 @@ public final class Test { import java.util.Date; import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeUnit.MICROSECONDS; import a.b.ABC; @kotlin.Metadata() diff --git a/plugins/kapt3/kapt3-compiler/testData/converter/enumImports.kt b/plugins/kapt3/kapt3-compiler/testData/converter/enumImports.kt new file mode 100644 index 00000000000..0d8c43a5959 --- /dev/null +++ b/plugins/kapt3/kapt3-compiler/testData/converter/enumImports.kt @@ -0,0 +1,12 @@ +// CORRECT_ERROR_TYPES + +package kapt + +import kapt.Options.A +import kapt.Options.B +import kapt.Options.C +import kotlin.annotation.Repeatable + +enum class Options { + A, B, C +} \ No newline at end of file diff --git a/plugins/kapt3/kapt3-compiler/testData/converter/enumImports.txt b/plugins/kapt3/kapt3-compiler/testData/converter/enumImports.txt new file mode 100644 index 00000000000..835583976ed --- /dev/null +++ b/plugins/kapt3/kapt3-compiler/testData/converter/enumImports.txt @@ -0,0 +1,13 @@ +package kapt; + +import kotlin.annotation.Repeatable; + +@kotlin.Metadata() +public enum Options { + /*public static final*/ A /* = new Options() */, + /*public static final*/ B /* = new Options() */, + /*public static final*/ C /* = new Options() */; + + Options() { + } +} diff --git a/plugins/kapt3/kapt3-compiler/testData/converter/importsForErrorTypes.txt b/plugins/kapt3/kapt3-compiler/testData/converter/importsForErrorTypes.txt index 14a9d1a4e4a..5d39ac4f553 100644 --- a/plugins/kapt3/kapt3-compiler/testData/converter/importsForErrorTypes.txt +++ b/plugins/kapt3/kapt3-compiler/testData/converter/importsForErrorTypes.txt @@ -1,7 +1,6 @@ import java.util.concurrent.*; import java.util.Date; import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeUnit.MICROSECONDS; @kotlin.Metadata() public final class ImportsForErrorTypesKt {