Kapt: Ignore imports for enum entries on import conversion (KT-28220)

This commit is contained in:
Yan Zhulanow
2019-02-05 23:16:36 +03:00
parent 87cad2af02
commit 1fbf51ea13
6 changed files with 33 additions and 4 deletions
@@ -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())
@@ -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");
@@ -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()
@@ -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
}
@@ -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() {
}
}
@@ -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 {