Fixed inline when multiple implicit receivers exist

#KT-17776 Fixed
 #KT-17266 Fixed
This commit is contained in:
Valentin Kipyatkov
2017-05-26 22:12:40 +03:00
parent 0346b31628
commit 996292264b
8 changed files with 69 additions and 9 deletions
@@ -1,5 +1,5 @@
// "Replace with 'newFun(this)'" "true"
// ERROR: Unresolved reference: newFun
// ERROR: Unresolved reference: @Outer
class Outer {
inner class Inner {
@@ -1,5 +1,5 @@
// "Replace with 'newFun(this)'" "true"
// ERROR: Unresolved reference: newFun
// ERROR: Unresolved reference: @Outer
class Outer {
inner class Inner {
@@ -11,5 +11,5 @@ class Outer {
}
fun foo(inner: Outer.Inner) {
inner.newFun(inner)
this@Outer.newFun(inner)
}
@@ -0,0 +1,11 @@
class Extended { val extMember = 1 }
class ExtContext {
val ctxMember = 2
fun Extended.<caret>extend() = extMember + ctxMember
fun call(extended: Extended) {
val v = extended.extend()
}
}
@@ -0,0 +1,9 @@
class Extended { val extMember = 1 }
class ExtContext {
val ctxMember = 2
fun call(extended: Extended) {
val v = extended.extMember + ctxMember
}
}
@@ -0,0 +1,17 @@
class Test {
inner class Inner {
fun bar() {
listOf("").forEach {
<caret>foo(it)
}
}
fun foo(v: String) {
bizz(v)
}
}
fun bizz(v:String) {
v.toString()
}
}
@@ -0,0 +1,14 @@
class Test {
inner class Inner {
fun bar() {
listOf("").forEach {
bizz(it)
}
}
}
fun bizz(v:String) {
v.toString()
}
}