[FIR] Insert SAM conversion expressions during completion
#KT-62847 Fixed
This commit is contained in:
committed by
Space Team
parent
0b28e770b2
commit
dd1d36816b
+8
-8
@@ -1,23 +1,23 @@
|
||||
FILE: main.kt
|
||||
public final fun main(): R|kotlin/Unit| {
|
||||
Q|JavaUsage|.R|/JavaUsage.foo1*s|(<L> = foo1@fun <anonymous>(x: R|kotlin/Int!|): R|kotlin/String!| <inline=NoInline> {
|
||||
Q|JavaUsage|.R|/JavaUsage.foo1*s|(<L> = SAM(foo1@fun <anonymous>(x: R|kotlin/Int!|): R|kotlin/String!| <inline=NoInline> {
|
||||
^ R|<local>/x|.R|kotlin/Int.toInt|().R|kotlin/Int.toString|()
|
||||
}
|
||||
)
|
||||
Q|JavaUsage|.R|/JavaUsage.foo2*s|(<L> = foo2@fun <anonymous>(x: R|kotlin/Number!|): R|kotlin/CharSequence!| <inline=NoInline> {
|
||||
))
|
||||
Q|JavaUsage|.R|/JavaUsage.foo2*s|(<L> = SAM(foo2@fun <anonymous>(x: R|kotlin/Number!|): R|kotlin/CharSequence!| <inline=NoInline> {
|
||||
^ R|<local>/x|.R|kotlin/Number.toInt|().R|kotlin/Int.toString|()
|
||||
}
|
||||
)
|
||||
))
|
||||
Q|JavaUsage|.R|/JavaUsage.foo2*s<Inapplicable(INAPPLICABLE): /JavaUsage.foo2>#|(<L> = foo2@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/CharSequence!| <inline=Unknown> {
|
||||
^ R|<local>/x|.R|kotlin/Int.toString|()
|
||||
}
|
||||
)
|
||||
Q|JavaUsage|.R|/JavaUsage.foo3*s|<R|kotlin/Int!|, R|kotlin/String!|>(foo3@fun <anonymous>(x: R|kotlin/Int!|): R|kotlin/String!| <inline=NoInline> {
|
||||
Q|JavaUsage|.R|/JavaUsage.foo3*s|<R|kotlin/Int!|, R|kotlin/String!|>(SAM(foo3@fun <anonymous>(x: R|kotlin/Int!|): R|kotlin/String!| <inline=NoInline> {
|
||||
^ R|<local>/x|.R|kotlin/Int.plus|(Int(1)).R|kotlin/Int.toString|()
|
||||
}
|
||||
, Int(1))
|
||||
Q|JavaUsage|.R|/JavaUsage.foo3*s|<R|kotlin/Int!|, R|kotlin/String!|>(foo3@fun <anonymous>(x: R|kotlin/Number|): R|kotlin/String!| <inline=NoInline> {
|
||||
), Int(1))
|
||||
Q|JavaUsage|.R|/JavaUsage.foo3*s|<R|kotlin/Int!|, R|kotlin/String!|>(SAM(foo3@fun <anonymous>(x: R|kotlin/Number|): R|kotlin/String!| <inline=NoInline> {
|
||||
^ R|<local>/x|.R|kotlin/Number.toInt|().R|kotlin/Int.toString|()
|
||||
}
|
||||
, Int(2))
|
||||
), Int(2))
|
||||
}
|
||||
|
||||
+6
-6
@@ -33,11 +33,11 @@ FILE: kotlinSam.kt
|
||||
^ CMP(>, R|<local>/t|.R|kotlin/Int.compareTo|(Int(1)))
|
||||
}
|
||||
|
||||
R|/foo1|(<L> = foo1@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
|
||||
R|/foo1|(<L> = SAM(foo1@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
|
||||
^ CMP(>, R|<local>/x|.R|kotlin/Int.compareTo|(Int(1)))
|
||||
}
|
||||
)
|
||||
R|/foo1|(R|<local>/f|)
|
||||
))
|
||||
R|/foo1|(SAM(R|<local>/f|))
|
||||
R|/foo2<Inapplicable(INAPPLICABLE): /foo2>#|(<L> = foo2@fun <anonymous>(x: R|kotlin/Nothing|): R|kotlin/Boolean| <inline=Unknown> {
|
||||
^ CMP(>, R|<local>/x|.<Unresolved name: compareTo>#(Int(1)))
|
||||
}
|
||||
@@ -48,9 +48,9 @@ FILE: kotlinSam.kt
|
||||
}
|
||||
)
|
||||
R|/foo3<Inapplicable(INAPPLICABLE): /foo3>#|(R|<local>/f|)
|
||||
R|/foo4|(<L> = foo4@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
|
||||
R|/foo4|(<L> = SAM(foo4@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
|
||||
^ CMP(>, R|<local>/x|.R|kotlin/Int.compareTo|(Int(1)))
|
||||
}
|
||||
)
|
||||
R|/foo4|(R|<local>/f|)
|
||||
))
|
||||
R|/foo4|(SAM(R|<local>/f|))
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
FILE: main.kt
|
||||
public final fun test(x: R|A<*>|): R|kotlin/Unit| {
|
||||
R|<local>/x|.R|SubstitutionOverride</A.call: R|kotlin/Unit|>|(vararg(call@fun <anonymous>(y: R|kotlin/Any?|): R|kotlin/Unit| <inline=Unknown> {
|
||||
R|<local>/x|.R|SubstitutionOverride</A.call: R|kotlin/Unit|>|(vararg(SAM(call@fun <anonymous>(y: R|kotlin/Any?|): R|kotlin/Unit| <inline=Unknown> {
|
||||
Q|kotlin/Unit|
|
||||
}
|
||||
))
|
||||
)))
|
||||
}
|
||||
|
||||
+4
-4
@@ -1,11 +1,11 @@
|
||||
FILE: main.kt
|
||||
public final fun main(): R|kotlin/Unit| {
|
||||
Q|JavaClass|.R|/JavaClass.foo*s|(<L> = foo@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline> {
|
||||
Q|JavaClass|.R|/JavaClass.foo*s|(<L> = SAM(foo@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline> {
|
||||
String()
|
||||
}
|
||||
)
|
||||
R|/JavaClass.JavaClass|().R|/JavaClass.bar|(<L> = bar@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline> {
|
||||
))
|
||||
R|/JavaClass.JavaClass|().R|/JavaClass.bar|(<L> = SAM(bar@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline> {
|
||||
String()
|
||||
}
|
||||
)
|
||||
))
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -1,7 +1,7 @@
|
||||
FILE: main.kt
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
R|/Foo.Foo|(<L> = Foo@fun <anonymous>(it: R|kotlin/Boolean|): R|kotlin/Boolean| <inline=NoInline> {
|
||||
R|/Foo.Foo|(<L> = SAM(Foo@fun <anonymous>(it: R|kotlin/Boolean|): R|kotlin/Boolean| <inline=NoInline> {
|
||||
^ R|<local>/it|
|
||||
}
|
||||
)
|
||||
))
|
||||
}
|
||||
|
||||
+5
-5
@@ -2,17 +2,17 @@ FILE: main.kt
|
||||
public final fun foo(m: R|MyRunnable|): R|kotlin/Unit| {
|
||||
}
|
||||
public final fun main(): R|kotlin/Unit| {
|
||||
Q|JavaUsage|.R|/JavaUsage.foo*s|(<L> = foo@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
|
||||
Q|JavaUsage|.R|/JavaUsage.foo*s|(<L> = SAM(foo@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
|
||||
^ CMP(>, R|<local>/x|.R|kotlin/Int.compareTo|(Int(1)))
|
||||
}
|
||||
)
|
||||
Q|JavaUsage|.R|/JavaUsage.foo*s|(foo@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
|
||||
))
|
||||
Q|JavaUsage|.R|/JavaUsage.foo*s|(SAM(foo@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
|
||||
^ CMP(>, R|<local>/it|.R|kotlin/Int.compareTo|(Int(1)))
|
||||
}
|
||||
)
|
||||
))
|
||||
lval x: R|(kotlin/Int) -> kotlin/Boolean| = fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean| <inline=Unknown> {
|
||||
^ CMP(>, R|<local>/x|.R|kotlin/Int.compareTo|(Int(1)))
|
||||
}
|
||||
|
||||
Q|JavaUsage|.R|/JavaUsage.foo*s|(R|<local>/x|)
|
||||
Q|JavaUsage|.R|/JavaUsage.foo*s|(SAM(R|<local>/x|))
|
||||
}
|
||||
|
||||
Vendored
+5
-5
@@ -2,17 +2,17 @@ FILE: main.kt
|
||||
public final fun foo(m: R|MyRunnable|): R|kotlin/Unit| {
|
||||
}
|
||||
public final fun main(): R|kotlin/Unit| {
|
||||
Q|JavaUsage|.R|/JavaUsage.foo*s|(<L> = foo@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean!| <inline=NoInline> {
|
||||
Q|JavaUsage|.R|/JavaUsage.foo*s|(<L> = SAM(foo@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean!| <inline=NoInline> {
|
||||
^ CMP(>, R|<local>/x|.R|kotlin/Int.compareTo|(Int(1)))
|
||||
}
|
||||
)
|
||||
Q|JavaUsage|.R|/JavaUsage.foo*s|(foo@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Boolean!| <inline=NoInline> {
|
||||
))
|
||||
Q|JavaUsage|.R|/JavaUsage.foo*s|(SAM(foo@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Boolean!| <inline=NoInline> {
|
||||
^ CMP(>, R|<local>/it|.R|kotlin/Int.compareTo|(Int(1)))
|
||||
}
|
||||
)
|
||||
))
|
||||
lval x: R|(kotlin/Int) -> kotlin/Boolean| = fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean| <inline=Unknown> {
|
||||
^ CMP(>, R|<local>/x|.R|kotlin/Int.compareTo|(Int(1)))
|
||||
}
|
||||
|
||||
Q|JavaUsage|.R|/JavaUsage.foo*s|(R|<local>/x|)
|
||||
Q|JavaUsage|.R|/JavaUsage.foo*s|(SAM(R|<local>/x|))
|
||||
}
|
||||
|
||||
+2
-2
@@ -14,8 +14,8 @@ FILE: package2.kt
|
||||
}
|
||||
FILE: main.kt
|
||||
public final fun main(): R|kotlin/Unit| {
|
||||
R|p1/bar|(String(), String(), <L> = bar@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline> {
|
||||
R|p1/bar|(String(), String(), <L> = SAM(bar@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline> {
|
||||
^@bar Unit
|
||||
}
|
||||
)
|
||||
))
|
||||
}
|
||||
|
||||
+2
-2
@@ -5,7 +5,7 @@ FILE: main.kt
|
||||
|
||||
}
|
||||
public final fun main(): R|kotlin/Unit| {
|
||||
Q|OverridingUtil|.R|/OverridingUtil.createWithEqualityAxioms*s|(<L> = l1@fun <anonymous>(c1: R|TypeConstructor!|, c2: R|TypeConstructor!|): R|kotlin/Boolean| <inline=NoInline> {
|
||||
Q|OverridingUtil|.R|/OverridingUtil.createWithEqualityAxioms*s|(<L> = SAM(l1@fun <anonymous>(c1: R|TypeConstructor!|, c2: R|TypeConstructor!|): R|kotlin/Boolean| <inline=NoInline> {
|
||||
when () {
|
||||
==(R|<local>/c1|.R|/TypeConstructor.x|, R|<local>/c2|.R|/TypeConstructor.x|) -> {
|
||||
^@l1 Boolean(true)
|
||||
@@ -14,5 +14,5 @@ FILE: main.kt
|
||||
|
||||
^ Boolean(false)
|
||||
}
|
||||
)
|
||||
))
|
||||
}
|
||||
|
||||
@@ -2,17 +2,17 @@ FILE: main.kt
|
||||
public final fun foo(m: R|MyRunnable|): R|kotlin/Unit| {
|
||||
}
|
||||
public final fun main(): R|kotlin/Unit| {
|
||||
Q|JavaUsage|.R|/JavaUsage.foo*s|(<L> = foo@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
|
||||
Q|JavaUsage|.R|/JavaUsage.foo*s|(<L> = SAM(foo@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
|
||||
^ CMP(>, R|<local>/x|.R|kotlin/Int.compareTo|(Int(1)))
|
||||
}
|
||||
)
|
||||
Q|JavaUsage|.R|/JavaUsage.foo*s|(foo@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
|
||||
))
|
||||
Q|JavaUsage|.R|/JavaUsage.foo*s|(SAM(foo@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
|
||||
^ CMP(>, R|<local>/it|.R|kotlin/Int.compareTo|(Int(1)))
|
||||
}
|
||||
)
|
||||
))
|
||||
lval x: R|(kotlin/Int) -> kotlin/Boolean| = fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean| <inline=Unknown> {
|
||||
^ CMP(>, R|<local>/x|.R|kotlin/Int.compareTo|(Int(1)))
|
||||
}
|
||||
|
||||
Q|JavaUsage|.R|/JavaUsage.foo*s|(R|<local>/x|)
|
||||
Q|JavaUsage|.R|/JavaUsage.foo*s|(SAM(R|<local>/x|))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user