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.
|
// This is a kludge to remove IR-based descriptors where possible.
|
||||||
private fun KotlinType.toNonIrBased(): KotlinType {
|
private fun KotlinType.toNonIrBased(): KotlinType {
|
||||||
if (this !is SimpleType) return this
|
if (this !is SimpleType) return this
|
||||||
|
if (this.isError) return this
|
||||||
val newDescriptor = constructor.declarationDescriptor?.let {
|
val newDescriptor = constructor.declarationDescriptor?.let {
|
||||||
if (it is IrBasedDeclarationDescriptor<*> && it.owner.symbol.hasDescriptor)
|
if (it is IrBasedDeclarationDescriptor<*> && it.owner.symbol.hasDescriptor)
|
||||||
it.owner.symbol.descriptor as ClassifierDescriptor
|
it.owner.symbol.descriptor as ClassifierDescriptor
|
||||||
|
|||||||
-1
@@ -1,4 +1,3 @@
|
|||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
// CORRECT_ERROR_TYPES
|
// CORRECT_ERROR_TYPES
|
||||||
// NON_EXISTENT_CLASS
|
// NON_EXISTENT_CLASS
|
||||||
// NO_VALIDATION
|
// 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