Extract Function: Limit the set of allowed containers for the default action

This commit is contained in:
Alexey Sedunov
2014-06-02 14:20:08 +04:00
parent 966def6c77
commit ee52073488
14 changed files with 183 additions and 5 deletions
@@ -0,0 +1,9 @@
class A {
fun foo(a: Int, b: Int): Int {
return object: Function0<Int> {
override fun invoke(): Int {
return <selection>a + b - 1</selection>
}
}
}
}
@@ -0,0 +1,13 @@
class A {
fun foo(a: Int, b: Int): Int {
return object: Function0<Int> {
override fun invoke(): Int {
return i()
}
fun i(): Int {
return a + b - 1
}
}
}
}
@@ -0,0 +1,7 @@
class A {
class B {
fun foo(a: Int, b: Int): Int {
return <selection>a + b - 1</selection>
}
}
}
@@ -0,0 +1,11 @@
class A {
class B {
fun foo(a: Int, b: Int): Int {
return i(a, b)
}
fun i(a: Int, b: Int): Int {
return a + b - 1
}
}
}
@@ -0,0 +1,7 @@
class A {
fun foo(a: Int, b: Int): Int {
return {
<selection>a + b - 1</selection>
}.invoke()
}
}
@@ -0,0 +1,11 @@
class A {
fun foo(a: Int, b: Int): Int {
fun i(): Int {
return a + b - 1
}
return {
i()
}.invoke()
}
}
@@ -0,0 +1,11 @@
class A {
fun foo(a: Int, b: Int): Int {
class L: Function0<Int> {
override fun invoke(): Int {
return <selection>a + b - 1</selection>
}
}
return L().invoke()
}
}
@@ -0,0 +1,15 @@
class A {
fun foo(a: Int, b: Int): Int {
class L: Function0<Int> {
override fun invoke(): Int {
return i()
}
fun i(): Int {
return a + b - 1
}
}
return L().invoke()
}
}
@@ -0,0 +1,7 @@
fun foo(a: Int, b: Int): Int {
fun bar() {
return <selection>a + b - 1</selection>
}
return bar()
}
@@ -0,0 +1,11 @@
fun foo(a: Int, b: Int): Int {
fun i(): Int {
return a + b - 1
}
fun bar() {
return i()
}
return bar()
}
@@ -0,0 +1,3 @@
fun foo(a: Int, b: Int): Int {
return <selection>a + b - 1</selection>
}
@@ -0,0 +1,7 @@
fun foo(a: Int, b: Int): Int {
return i(a, b)
}
fun i(a: Int, b: Int): Int {
return a + b - 1
}