Kapt+JVM_IR: do not attempt to transform error types in InsertImplicitCasts
This commit is contained in:
+1
@@ -528,6 +528,7 @@ internal class InsertImplicitCasts(
|
||||
// This is a kludge to remove IR-based descriptors where possible.
|
||||
private fun KotlinType.toNonIrBased(): KotlinType {
|
||||
if (this !is SimpleType) return this
|
||||
if (this.isError) return this
|
||||
val newDescriptor = constructor.declarationDescriptor?.let {
|
||||
if (it is IrBasedDeclarationDescriptor<*> && it.owner.symbol.hasDescriptor)
|
||||
it.owner.symbol.descriptor as ClassifierDescriptor
|
||||
|
||||
-1
@@ -1,4 +1,3 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// CORRECT_ERROR_TYPES
|
||||
// NON_EXISTENT_CLASS
|
||||
// NO_VALIDATION
|
||||
|
||||
+303
@@ -0,0 +1,303 @@
|
||||
import java.util.Calendar;
|
||||
import kotlin.reflect.KClass;
|
||||
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
@kotlin.Metadata()
|
||||
public abstract @interface Anno {
|
||||
|
||||
public abstract java.lang.Class<?> a();
|
||||
|
||||
public abstract java.lang.Class<?>[] b();
|
||||
|
||||
public abstract java.lang.Class<?>[] c();
|
||||
|
||||
public abstract java.lang.Class<?>[] d();
|
||||
}
|
||||
|
||||
////////////////////
|
||||
|
||||
|
||||
import java.util.Calendar;
|
||||
import kotlin.reflect.KClass;
|
||||
|
||||
@kotlin.Metadata()
|
||||
public final class MyType<T extends java.lang.Object> {
|
||||
|
||||
public MyType() {
|
||||
super();
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////
|
||||
|
||||
|
||||
import java.util.Calendar;
|
||||
import kotlin.reflect.KClass;
|
||||
|
||||
@kotlin.Metadata()
|
||||
@kotlin.Suppress(names = {"UNRESOLVED_REFERENCE", "ANNOTATION_ARGUMENT_MUST_BE_CONST", "NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION", "UNSUPPORTED_FEATURE"})
|
||||
public final class NonExistentClassTypesConversionKt {
|
||||
}
|
||||
|
||||
////////////////////
|
||||
|
||||
|
||||
import java.util.Calendar;
|
||||
import kotlin.reflect.KClass;
|
||||
|
||||
@Anno(a = Blah.class, b = {NoFoo1.class, NoBar1.class}, c = {NoFoo2.class, kotlin.String.class}, d = {kotlin.Boolean.class, NoBar3.class})
|
||||
@kotlin.Metadata()
|
||||
public final class Test<G extends java.lang.Object> {
|
||||
public ABC a;
|
||||
@org.jetbrains.annotations.Nullable()
|
||||
private final ABC b = null;
|
||||
@org.jetbrains.annotations.Nullable()
|
||||
private final java.util.List<ABC> c = null;
|
||||
@org.jetbrains.annotations.Nullable()
|
||||
private final java.util.List<java.util.Map<BCD, ABC<java.util.List<BCD>>>> d = null;
|
||||
public java.util.List<java.util.Map<? extends ABC, BCD>> e;
|
||||
public ABC<?> f;
|
||||
public java.util.List<?> g;
|
||||
public ABC<java.lang.Integer, java.lang.String> h;
|
||||
public Function2<ABC, java.util.List<BCD>, CDE> i;
|
||||
public Function0<CDE> j;
|
||||
public Function2<ABC, java.util.List<BCD>, CDE> k;
|
||||
public ABC.BCD.EFG l;
|
||||
public ABC coocoo;
|
||||
public ABC<java.lang.String> coocoo2;
|
||||
public ABC<ABC> coocoo21;
|
||||
public ABC<java.lang.String, java.lang.String> coocoo3;
|
||||
public ABC<java.lang.String, ABC<ABC>> coocoo31;
|
||||
public ABC nested;
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private final java.lang.Object m = null;
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private final java.lang.String n = "";
|
||||
public java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<error.NonExistentClass>>>>>>>>>> o11;
|
||||
public java.util.List<java.util.List<java.util.List<java.util.List<java.util.List<java.util.List<java.util.List<java.util.List<java.util.List<ABC>>>>>>>>> o10;
|
||||
public java.util.Calendar.Builder p;
|
||||
|
||||
public Test() {
|
||||
super();
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final ABC getA() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final void setA(@org.jetbrains.annotations.NotNull()
|
||||
ABC p0) {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.Nullable()
|
||||
public final ABC getB() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.Nullable()
|
||||
public final java.util.List<ABC> getC() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.Nullable()
|
||||
public final java.util.List<java.util.Map<BCD, ABC<java.util.List<BCD>>>> getD() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.util.List<java.util.Map<? extends ABC, BCD>> getE() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final void setE(@org.jetbrains.annotations.NotNull()
|
||||
java.util.List<? extends java.util.Map<? extends ABC, ? extends BCD>> p0) {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final ABC<?> getF() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final void setF(@org.jetbrains.annotations.NotNull()
|
||||
ABC<?> p0) {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.util.List<?> getG() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final void setG(@org.jetbrains.annotations.NotNull()
|
||||
java.util.List<?> p0) {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final ABC<java.lang.Integer, java.lang.String> getH() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final void setH(@org.jetbrains.annotations.NotNull()
|
||||
ABC<java.lang.Integer, java.lang.String> p0) {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final Function2<ABC, java.util.List<BCD>, CDE> getI() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final void setI(@org.jetbrains.annotations.NotNull()
|
||||
Function2<ABC, java.util.List<? extends BCD>, CDE> p0) {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final Function0<CDE> getJ() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final void setJ(@org.jetbrains.annotations.NotNull()
|
||||
Function0<CDE> p0) {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final Function2<ABC, java.util.List<BCD>, CDE> getK() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final void setK(@org.jetbrains.annotations.NotNull()
|
||||
Function2<ABC, java.util.List<? extends BCD>, CDE> p0) {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final ABC.BCD.EFG getL() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final void setL(@org.jetbrains.annotations.NotNull()
|
||||
ABC.BCD.EFG p0) {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final ABC getCoocoo() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final void setCoocoo(@org.jetbrains.annotations.NotNull()
|
||||
ABC p0) {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final ABC<java.lang.String> getCoocoo2() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final void setCoocoo2(@org.jetbrains.annotations.NotNull()
|
||||
ABC<java.lang.String> p0) {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final ABC<ABC> getCoocoo21() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final void setCoocoo21(@org.jetbrains.annotations.NotNull()
|
||||
ABC<ABC> p0) {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final ABC<java.lang.String, java.lang.String> getCoocoo3() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final void setCoocoo3(@org.jetbrains.annotations.NotNull()
|
||||
ABC<java.lang.String, java.lang.String> p0) {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final ABC<java.lang.String, ABC<ABC>> getCoocoo31() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final void setCoocoo31(@org.jetbrains.annotations.NotNull()
|
||||
ABC<java.lang.String, ABC<ABC>> p0) {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final ABC getNested() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final void setNested(@org.jetbrains.annotations.NotNull()
|
||||
ABC p0) {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.lang.Object getM() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.lang.String getN() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.util.List<java.util.List<java.util.List<java.util.List<java.util.List<java.util.List<java.util.List<java.util.List<java.util.List<java.util.List<error.NonExistentClass>>>>>>>>>> getO11() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final void setO11(@org.jetbrains.annotations.NotNull()
|
||||
java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<error.NonExistentClass>>>>>>>>>> p0) {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.util.List<java.util.List<java.util.List<java.util.List<java.util.List<java.util.List<java.util.List<java.util.List<java.util.List<ABC>>>>>>>>> getO10() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final void setO10(@org.jetbrains.annotations.NotNull()
|
||||
java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<? extends java.util.List<? extends ABC>>>>>>>>> p0) {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.util.Calendar.Builder getP() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final void setP(@org.jetbrains.annotations.NotNull()
|
||||
java.util.Calendar.Builder p0) {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.Nullable()
|
||||
public final BCD f1(@org.jetbrains.annotations.NotNull()
|
||||
ABC a) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public final <T extends java.lang.Object>void f2(@org.jetbrains.annotations.NotNull()
|
||||
ABC<java.lang.String, java.lang.Integer, Function0<BCD>> a) {
|
||||
}
|
||||
|
||||
public final <T extends java.lang.Object>long f3(@org.jetbrains.annotations.NotNull()
|
||||
ABC a, int b) {
|
||||
return 0L;
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.lang.Object f4() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.Nullable()
|
||||
public final <T extends java.lang.Object>java.lang.Class<java.lang.Enum<?>> f5(@org.jetbrains.annotations.NotNull()
|
||||
MyType<T> $this$f5) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////
|
||||
|
||||
package error;
|
||||
|
||||
public final class NonExistentClass {
|
||||
}
|
||||
Reference in New Issue
Block a user