Skip to content

Commit

Permalink
[JVM_IR] Fix inlining of callable references to extension methods
Browse files Browse the repository at this point in the history
 Cherry-picked from 608b889
  #KT-47988 Fixed
  • Loading branch information
madsager authored and Space committed Aug 18, 2021
1 parent dc5b47b commit 69aa3f5
Show file tree
Hide file tree
Showing 10 changed files with 61 additions and 1 deletion.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Expand Up @@ -136,7 +136,7 @@ class IrExpressionLambdaImpl(
val reference: IrFunctionReference,
irValueParameter: IrValueParameter
) : ExpressionLambda(irValueParameter.isCrossinline), IrExpressionLambda {
override val isExtensionLambda: Boolean = irValueParameter.type.isExtensionFunctionType
override val isExtensionLambda: Boolean = function.extensionReceiverParameter != null

val function: IrFunction
get() = reference.symbol.owner
Expand Down
17 changes: 17 additions & 0 deletions compiler/testData/codegen/box/callableReference/kt47988.kt
@@ -0,0 +1,17 @@
class A(var x: String)

fun f(s: String): String {
fun A.localX() {
x = s + "K"
}

val a: A = A("FAIL")
a.apply(A::localX)
if (a.x != "OK") return a.x
a.apply { localX() }
return a.x
}

fun box(): String {
return f("O")
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 69aa3f5

Please sign in to comment.