Data flow to/from here: supported expected/actual declarations and extension receivers
This commit is contained in:
@@ -5,5 +5,18 @@
|
||||
22 DEREFERENCE: <bold>x</bold> += 1
|
||||
23 DEREFERENCE: <bold>x</bold> *= 1
|
||||
25 -<bold>x</bold>
|
||||
12 operator fun <bold>A</bold>.unaryMinus() = this
|
||||
12 operator fun A.unaryMinus() = <bold>this</bold>
|
||||
12 operator fun A.<bold>unaryMinus() = this</bold>
|
||||
25 <bold>-x</bold>
|
||||
26 <bold>x</bold> - 1
|
||||
11 operator fun <bold>A</bold>.minus(n: Int) = this
|
||||
11 operator fun A.minus(n: Int) = <bold>this</bold>
|
||||
11 operator fun A.<bold>minus(n: Int) = this</bold>
|
||||
26 <bold>x - 1</bold>
|
||||
28 <bold>x -= 1</bold>
|
||||
17 DUPLICATE: var <bold>x = A()</bold>
|
||||
29 <bold>x</bold> /= 1
|
||||
14 operator fun <bold>A</bold>.divAssign(n: Int) = this
|
||||
14 operator fun A.divAssign(n: Int) = <bold>this</bold>
|
||||
14 operator fun A.<bold>divAssign(n: Int) = this</bold>
|
||||
|
||||
@@ -2,10 +2,14 @@
|
||||
15 DEREFERENCE: <bold>x</bold>.foo()
|
||||
16 DEREFERENCE: <bold>x</bold>.bar
|
||||
17 <bold>x</bold>.fooExt()
|
||||
9 fun <bold>A</bold>.fooExt() = 1
|
||||
18 <bold>x</bold>.barExt
|
||||
10 val <bold>A</bold>.barExt: Int get() = 2
|
||||
20 val y: A? = <bold>x</bold>
|
||||
20 val <bold>y: A? = x</bold>
|
||||
22 DEREFERENCE: <bold>y</bold>?.foo()
|
||||
23 DEREFERENCE: <bold>y</bold>?.bar
|
||||
24 <bold>y</bold>?.fooExt()
|
||||
9 DUPLICATE: fun <bold>A</bold>.fooExt() = 1
|
||||
25 <bold>y</bold>?.barExt
|
||||
10 DUPLICATE: val <bold>A</bold>.barExt: Int get() = 2
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
// FLOW: OUT
|
||||
|
||||
fun String.extensionFun(): Any = this
|
||||
|
||||
fun foo() {
|
||||
val x = <caret>"".extensionFun()
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
6 val x = <bold>""</bold>.extensionFun()
|
||||
3 fun <bold>String</bold>.extensionFun(): Any = this
|
||||
3 fun String.extensionFun(): Any = <bold>this</bold>
|
||||
3 fun String.<bold>extensionFun(): Any = this</bold>
|
||||
6 val x = "".<bold>extensionFun()</bold>
|
||||
6 val <bold>x = "".extensionFun()</bold>
|
||||
@@ -0,0 +1,8 @@
|
||||
// FLOW: OUT
|
||||
|
||||
val String.extensionProp: Any
|
||||
get() = this
|
||||
|
||||
fun foo() {
|
||||
val x = <caret>"".extensionProp
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
7 val x = <bold>""</bold>.extensionProp
|
||||
3 val <bold>String</bold>.extensionProp: Any
|
||||
4 get() = <bold>this</bold>
|
||||
4 <bold>get() = this</bold>
|
||||
7 val x = "".<bold>extensionProp</bold>
|
||||
7 val <bold>x = "".extensionProp</bold>
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
// FLOW: OUT
|
||||
|
||||
class C {
|
||||
fun String.extensionFun(): Any {
|
||||
with("A") {
|
||||
println(this.length)
|
||||
println(this@extensionFun.length)
|
||||
}
|
||||
return this@C
|
||||
}
|
||||
|
||||
fun foo() {
|
||||
val x = <caret>"".extensionFun()
|
||||
}
|
||||
}
|
||||
|
||||
inline fun <T, R> with(receiver: T, block: T.() -> R): R {
|
||||
return receiver.block()
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
13 val x = <bold>""</bold>.extensionFun()
|
||||
4 fun <bold>String</bold>.extensionFun(): Any {
|
||||
7 println(<bold>this@extensionFun</bold>.length)
|
||||
Reference in New Issue
Block a user