Intentions: Implement "Introduce local variable" intention

#KT-11768 Fixed
This commit is contained in:
Alexey Sedunov
2016-04-13 17:37:17 +03:00
parent d75edb9876
commit aa4bfadfb1
25 changed files with 204 additions and 7 deletions
+1
View File
@@ -0,0 +1 @@
org.jetbrains.kotlin.idea.intentions.IntroduceVariableIntention
@@ -0,0 +1,5 @@
fun foo(a: Int, b: Int) = a + b
fun foo() {
foo(1 + 2, 3 * 4) <caret>//
}
@@ -0,0 +1,5 @@
fun foo(a: Int, b: Int) = a + b
fun foo() {
val foo = foo(1 + 2, 3 * 4)<caret> //
}
@@ -0,0 +1,5 @@
fun foo(a: Int, b: Int) = a + b
fun foo() {
foo(1 + 2, 3 * 4)<caret>
}
@@ -0,0 +1,5 @@
fun foo(a: Int, b: Int) = a + b
fun foo() {
val foo = foo(1 + 2, 3 * 4)<caret>
}
@@ -0,0 +1,5 @@
fun foo(a: Int, b: Int) = a + b
fun foo() {
<caret>foo(1 + 2, 3 * 4)
}
@@ -0,0 +1,5 @@
fun foo(a: Int, b: Int) = a + b
fun foo() {
val foo = foo(1 + 2, 3 * 4)<caret>
}
@@ -0,0 +1,5 @@
fun foo(a: Int, b: Int) = a + b
fun foo() {
foo(1 <caret>+ 2, 3 * 4)
}
@@ -0,0 +1,5 @@
fun foo(a: Int, b: Int) = a + b
fun foo() {
val foo = foo(1 + 2, 3 * 4)<caret>
}
@@ -0,0 +1,6 @@
// IS_APPLICABLE: false
fun foo(a: Int, b: Int) = a + b
fun foo() {
<caret> foo(1 + 2, 3 * 4)
}
+6
View File
@@ -0,0 +1,6 @@
// IS_APPLICABLE: false
fun foo(a: Int, b: Int) = a + b
fun foo() {
val foo = foo(1 + 2, 3 * 4)<caret>
}
@@ -0,0 +1,4 @@
// IS_APPLICABLE: false
fun foo(): Int {
return 1 + 2<caret>
}
@@ -0,0 +1,6 @@
// IS_APPLICABLE: false
fun foo(a: Int, b: Int) {}
fun foo() {
foo(1 + 2, 3 * 4)<caret>
}
@@ -1,4 +1,5 @@
// "Create class 'A'" "false"
// ACTION: Rename reference
// ACTION: Introduce local variable
// ERROR: Unresolved reference: A
fun foo() = J.<caret>A.B
@@ -2,5 +2,6 @@
// ERROR: Too many arguments for public constructor G() defined in G
// ACTION: Convert to block body
// ACTION: Create function 'G'
// ACTION: Introduce local variable
fun test() = G(<caret>1)
@@ -1,5 +1,6 @@
// "Change parameter 'z' type of function 'foo' to '(Int) -> String'" "false"
// ACTION: To raw string literal
// ACTION: Introduce local variable
fun foo(y: Int = 0, z: (Int) -> String = {""}) {
foo {