Kapt: Ignore imports for enum entries on import conversion (KT-28220)
This commit is contained in:
+3
-1
@@ -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())
|
||||
|
||||
|
||||
+5
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user