[SLC] avoid return type check for implicit types

we should avoid value class check in implicit return types
to avoid extra resolve

^KT-56046
^KT-55788
This commit is contained in:
Dmitrii Gridin
2023-01-29 13:59:33 +01:00
committed by Space Team
parent e1c2ca1bbf
commit e1c8b3d674
7 changed files with 101 additions and 71 deletions
@@ -0,0 +1,62 @@
public final class RegularClass /* RegularClass*/ {
@org.jetbrains.annotations.NotNull()
private java.lang.String classProp;
@org.jetbrains.annotations.NotNull()
private java.lang.String classPropImplicit;
@org.jetbrains.annotations.NotNull()
public final java.lang.String classFunInImplicitReturn();// classFunInImplicitReturn()
@org.jetbrains.annotations.NotNull()
public final java.lang.String classFunInReturn();// classFunInReturn()
@org.jetbrains.annotations.NotNull()
public final java.lang.String getClassProp();// getClassProp()
@org.jetbrains.annotations.NotNull()
public final java.lang.String getClassPropImplicit();// getClassPropImplicit()
public RegularClass();// .ctor()
public final int getClassPropInExtension(@org.jetbrains.annotations.NotNull() java.lang.String);// getClassPropInExtension(java.lang.String)
public final void classFunInExtension(@org.jetbrains.annotations.NotNull() java.lang.String);// classFunInExtension(java.lang.String)
public final void classFunInParameter(@org.jetbrains.annotations.NotNull() java.lang.String);// classFunInParameter(java.lang.String)
public final void setClassProp(@org.jetbrains.annotations.NotNull() java.lang.String);// setClassProp(java.lang.String)
public final void setClassPropImplicit(@org.jetbrains.annotations.NotNull() java.lang.String);// setClassPropImplicit(java.lang.String)
public final void setClassPropInExtension(@org.jetbrains.annotations.NotNull() java.lang.String, int);// setClassPropInExtension(java.lang.String, int)
}
public abstract interface RegularInterface /* RegularInterface*/ {
@org.jetbrains.annotations.NotNull()
public abstract java.lang.String getInterfaceProp();// getInterfaceProp()
@org.jetbrains.annotations.NotNull()
public abstract java.lang.String interfaceFunInReturn();// interfaceFunInReturn()
public abstract int getInterfacePropInExtension(@org.jetbrains.annotations.NotNull() java.lang.String);// getInterfacePropInExtension(java.lang.String)
public abstract void interfaceFunInExtension(@org.jetbrains.annotations.NotNull() java.lang.String);// interfaceFunInExtension(java.lang.String)
public abstract void interfaceFunInParameter(@org.jetbrains.annotations.NotNull() java.lang.String);// interfaceFunInParameter(java.lang.String)
public abstract void setInterfaceProp(@org.jetbrains.annotations.NotNull() java.lang.String);// setInterfaceProp(java.lang.String)
public abstract void setInterfacePropInExtension(@org.jetbrains.annotations.NotNull() java.lang.String, int);// setInterfacePropInExtension(java.lang.String, int)
}
@kotlin.jvm.JvmInline()
public final class Some /* Some*/ {
@org.jetbrains.annotations.NotNull()
private final java.lang.String value;
@org.jetbrains.annotations.NotNull()
public final java.lang.String getValue();// getValue()
public Some(@org.jetbrains.annotations.NotNull() java.lang.String);// .ctor(java.lang.String)
}
@@ -1,21 +0,0 @@
public final class RegularClass /* RegularClass*/ {
@org.jetbrains.annotations.NotNull()
private java.lang.String classProp;
public RegularClass();// .ctor()
}
public abstract interface RegularInterface /* RegularInterface*/ {
class DefaultImpls ...
}
@kotlin.jvm.JvmInline()
public final class Some /* Some*/ {
@org.jetbrains.annotations.NotNull()
private final java.lang.String value;
@org.jetbrains.annotations.NotNull()
public final java.lang.String getValue();// getValue()
public Some(@org.jetbrains.annotations.NotNull() java.lang.String);// .ctor(java.lang.String)
}
@@ -3,42 +3,20 @@ public final class RegularClass /* RegularClass*/ {
private java.lang.String classProp;
@org.jetbrains.annotations.NotNull()
public final java.lang.String classFunInReturn();// classFunInReturn()
private java.lang.String classPropImplicit;
@org.jetbrains.annotations.NotNull()
public final java.lang.String getClassProp();// getClassProp()
public final java.lang.String classFunInImplicitReturn();// classFunInImplicitReturn()
@org.jetbrains.annotations.NotNull()
public final java.lang.String getClassPropImplicit();// getClassPropImplicit()
public RegularClass();// .ctor()
public final int getClassPropInExtension(@org.jetbrains.annotations.NotNull() java.lang.String);// getClassPropInExtension(java.lang.String)
public final void classFunInExtension(@org.jetbrains.annotations.NotNull() java.lang.String);// classFunInExtension(java.lang.String)
public final void classFunInParameter(@org.jetbrains.annotations.NotNull() java.lang.String);// classFunInParameter(java.lang.String)
public final void setClassProp(@org.jetbrains.annotations.NotNull() java.lang.String);// setClassProp(java.lang.String)
public final void setClassPropInExtension(@org.jetbrains.annotations.NotNull() java.lang.String, int);// setClassPropInExtension(java.lang.String, int)
public final void setClassPropImplicit(@org.jetbrains.annotations.NotNull() java.lang.String);// setClassPropImplicit(java.lang.String)
}
public abstract interface RegularInterface /* RegularInterface*/ {
@org.jetbrains.annotations.NotNull()
public abstract java.lang.String getInterfaceProp();// getInterfaceProp()
@org.jetbrains.annotations.NotNull()
public abstract java.lang.String interfaceFunInReturn();// interfaceFunInReturn()
public abstract int getInterfacePropInExtension(@org.jetbrains.annotations.NotNull() java.lang.String);// getInterfacePropInExtension(java.lang.String)
public abstract void interfaceFunInExtension(@org.jetbrains.annotations.NotNull() java.lang.String);// interfaceFunInExtension(java.lang.String)
public abstract void interfaceFunInParameter(@org.jetbrains.annotations.NotNull() java.lang.String);// interfaceFunInParameter(java.lang.String)
public abstract void setInterfaceProp(@org.jetbrains.annotations.NotNull() java.lang.String);// setInterfaceProp(java.lang.String)
public abstract void setInterfacePropInExtension(@org.jetbrains.annotations.NotNull() java.lang.String, int);// setInterfacePropInExtension(java.lang.String, int)
class DefaultImpls ...
}
@kotlin.jvm.JvmInline()
@@ -1,15 +1,15 @@
// CHECK_BY_JAVA_FILE
@JvmInline
value class Some(val value: String)
class RegularClass {
var classProp: Some = Some("1")
var classPropImplicit = Some("1")
var Some.classPropInExtension: Int
get() = 1
set(value) {}
fun classFunInReturn(): Some = Some("1")
fun classFunInImplicitReturn() = Some("1")
fun classFunInParameter(s: Some) {}
fun Some.classFunInExtension() {}
}
@@ -18,7 +18,7 @@ interface RegularInterface {
var interfaceProp: Some
var Some.interfacePropInExtension: Int
fun interfaceFunInReturn(): Some = Some("1")
fun interfaceFunInParameter(s: Some) {}
fun Some.interfaceFunInExtension() {}
fun interfaceFunInReturn(): Some
fun interfaceFunInParameter(s: Some)
fun Some.interfaceFunInExtension()
}
@@ -2,12 +2,21 @@ public final class RegularClass /* RegularClass*/ {
@org.jetbrains.annotations.NotNull()
private java.lang.String classProp;
@org.jetbrains.annotations.NotNull()
private java.lang.String classPropImplicit;
@org.jetbrains.annotations.NotNull()
public final java.lang.String classFunInImplicitReturn-YO-7n-0();// classFunInImplicitReturn-YO-7n-0()
@org.jetbrains.annotations.NotNull()
public final java.lang.String classFunInReturn-YO-7n-0();// classFunInReturn-YO-7n-0()
@org.jetbrains.annotations.NotNull()
public final java.lang.String getClassProp-YO-7n-0();// getClassProp-YO-7n-0()
@org.jetbrains.annotations.NotNull()
public final java.lang.String getClassPropImplicit-YO-7n-0();// getClassPropImplicit-YO-7n-0()
public RegularClass();// .ctor()
public final int getClassPropInExtension-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// getClassPropInExtension-5lyY9Q4(java.lang.String)
@@ -18,6 +27,8 @@ public final class RegularClass /* RegularClass*/ {
public final void setClassProp-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// setClassProp-5lyY9Q4(java.lang.String)
public final void setClassPropImplicit-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// setClassPropImplicit-5lyY9Q4(java.lang.String)
public final void setClassPropInExtension-54afNMI(@org.jetbrains.annotations.NotNull() java.lang.String, int);// setClassPropInExtension-54afNMI(java.lang.String, int)
}
@@ -37,8 +48,6 @@ public abstract interface RegularInterface /* RegularInterface*/ {
public abstract void setInterfaceProp-5lyY9Q4(@org.jetbrains.annotations.NotNull() java.lang.String);// setInterfaceProp-5lyY9Q4(java.lang.String)
public abstract void setInterfacePropInExtension-54afNMI(@org.jetbrains.annotations.NotNull() java.lang.String, int);// setInterfacePropInExtension-54afNMI(java.lang.String, int)
class DefaultImpls ...
}
@kotlin.jvm.JvmInline()