Some inline tests that do not work

This commit is contained in:
Mikhail Glukhikh
2017-03-16 16:30:21 +03:00
parent 1d5b8ea029
commit 127b7c80df
10 changed files with 106 additions and 2 deletions
@@ -0,0 +1,12 @@
fun bar(s: String) {}
fun foo() {
val t = "Test"
fun local() {
bar(t)
}
// TODO: should be available
<caret>local()
}
@@ -0,0 +1,10 @@
fun bar(s: String) {}
fun foo() {
fun local() {
bar("Test")
}
// TODO: should be available
<caret>local()
}
@@ -9,7 +9,6 @@ fun g(p: String?) {
p?.let {
println(3)
nonUnit(4)
Unit
}
}
@@ -21,5 +20,5 @@ fun h() {
fun x() = doIt {
println(7)
nonUnit(8)
Unit
// Unit should be here
}
@@ -0,0 +1,7 @@
fun <caret>sqr(x: Double) = x * x
class Point(val x: Double, val y: Double) {
// After sqr inlining, only first usage of sqr is replaced
fun distance(other: Point) = Math.sqrt(sqr(x - other.x) + sqr(y - other.y))
}
@@ -0,0 +1,8 @@
class Point(val x: Double, val y: Double) {
// After sqr inlining, only first usage of sqr is replaced
fun distance(other: Point): Double {
val x = x - other.x
// See KT-17022
return Math.sqrt(x * x + sqr(y - other.y))
}
}
@@ -0,0 +1,12 @@
class My {
fun run() {
// TODO: should be available
val foo = <caret>doThing()
System.out.println(foo)
}
private fun doThing(): Int {
val foo = 1 + 2
return foo
}
}
@@ -0,0 +1,11 @@
class My {
fun run() {
val foo = <caret>doThing()
System.out.println(foo)
}
fun doThing(): Int {
val foo = 1 + 2
return foo
}
}
@@ -0,0 +1,9 @@
class My {
fun run() {
// foo1 should be here
val foo = 1 + 2
val foo = foo
System.out.println(foo)
}
}