Create From Usage: Quick-fix for value parameters

This commit is contained in:
Alexey Sedunov
2014-09-30 14:09:38 +04:00
parent 73fc984c4c
commit 6ad2157806
58 changed files with 726 additions and 2 deletions
@@ -0,0 +1,7 @@
// "Create parameter 'foo'" "true"
class A(val foo: Int) {
val test: Int get() {
return foo
}
}
@@ -0,0 +1,7 @@
// "Create parameter 'foo'" "true"
class A<T>(val foo: T) {
val test: T get() {
return foo
}
}
@@ -0,0 +1,5 @@
// "Create parameter 'foo'" "true"
class A(val foo: Int) {
val test: Int get() = foo
}
@@ -0,0 +1,7 @@
// "Create parameter 'foo'" "true"
class A(foo: Int) {
{
val t: Int = foo
}
}
@@ -0,0 +1,6 @@
// "Create parameter 'foo'" "true"
fun test(n: Int,
foo: Int) {
val t: Int = foo
}
@@ -0,0 +1,8 @@
// "Create parameter 'foo'" "true"
class A {
fun test(n: Int,
foo: Int) {
val t: Int = foo
}
}
@@ -0,0 +1,8 @@
// "Create parameter 'foo'" "true"
class A<T> {
fun test(n: Int,
foo: T) {
val t: T = foo
}
}
@@ -0,0 +1,8 @@
// "Create parameter 'foo'" "true"
class A {
fun test<T>(n: Int,
foo: T) {
val t: T = foo
}
}
@@ -0,0 +1,8 @@
// "Create parameter 'foo'" "true"
class A<T> {
fun test<T>(n: Int,
foo: T) {
val t: T = foo
}
}
@@ -0,0 +1,7 @@
// "Create parameter 'foo'" "true"
// ACTION: Create local variable 'foo'
fun test(n: Int,
foo: Int) {
val f: () -> Int = { foo }
}
@@ -0,0 +1,7 @@
// "Create parameter 'foo'" "true"
// ACTION: Create local variable 'foo'
fun test(n: Int,
foo: Int) {
val f: (Int) -> Int = { foo }
}
@@ -0,0 +1,7 @@
// "Create parameter 'foo'" "true"
// ACTION: Create local variable 'foo'
fun test(n: Int,
foo: Int) {
val f: (Int, Int) -> Int = { (a, b) -> foo }
}
@@ -0,0 +1,7 @@
// "Create parameter 'foo'" "true"
// ACTION: Create local variable 'foo'
fun test(n: Int,
foo: Any) {
val f = { (a: Int, b: Int) -> foo }
}
@@ -0,0 +1,9 @@
// "Create parameter 'foo'" "true"
// ACTION: Create local variable 'foo'
fun test(n: Int,
foo: Int) {
val f: () -> Int = {
foo
}
}
@@ -0,0 +1,5 @@
// "Create parameter 'foo'" "true"
class A(foo: Int) {
val test: Int = <caret>foo
}
@@ -0,0 +1,12 @@
// "Create parameter 'foo'" "true"
// ERROR: Missing delegation specifier 'E'
// ERROR: Missing delegation specifier 'E'
// ERROR: Missing delegation specifier 'E'
enum class E(foo: Int) {
A
B
C
val t: Int = foo
}
@@ -0,0 +1,12 @@
// "Create parameter 'foo'" "true"
// ERROR: Missing delegation specifier 'E'
// ERROR: Missing delegation specifier 'E'
// ERROR: Missing delegation specifier 'E'
enum class E(val foo: Int) {
A
B {
val t: Int = foo
}
C
}
@@ -0,0 +1,5 @@
// "Create parameter 'foo'" "true"
class A<T>(foo: T) {
val test: T = foo
}
@@ -0,0 +1,7 @@
// "Create parameter 'foo'" "true"
class A {
class B(foo: Int) {
val test: Int = foo
}
}
@@ -0,0 +1,7 @@
// "Create parameter 'foo'" "true"
class A {
val test: Int get() {
return <caret>foo
}
}
@@ -0,0 +1,12 @@
// "Create parameter 'foo'" "false"
// ACTION: Convert to expression body
// ACTION: Create local variable 'foo'
// ERROR: Unresolved reference: foo
class A {
class object {
val test: Int get() {
return <caret>foo
}
}
}
@@ -0,0 +1,7 @@
// "Create parameter 'foo'" "true"
class A<T> {
val test: T get() {
return <caret>foo
}
}
@@ -0,0 +1,10 @@
// "Create parameter 'foo'" "false"
// ACTION: Convert to expression body
// ACTION: Create local variable 'foo'
// ERROR: Unresolved reference: foo
object A {
val test: Int get() {
return <caret>foo
}
}
@@ -0,0 +1,10 @@
// "Create parameter 'foo'" "false"
// ACTION: Convert to expression body
// ACTION: Create local variable 'foo'
// ERROR: Unresolved reference: foo
trait A {
val test: Int get() {
return <caret>foo
}
}
@@ -0,0 +1,8 @@
// "Create parameter 'foo'" "false"
// ACTION: Convert to expression body
// ACTION: Create local variable 'foo'
// ERROR: Unresolved reference: foo
val test: Int get() {
return <caret>foo
}
@@ -0,0 +1,5 @@
// "Create parameter 'foo'" "true"
class A {
val test: Int get() = <caret>foo
}
@@ -0,0 +1,7 @@
// "Create parameter 'foo'" "true"
class A {
{
val t: Int = <caret>foo
}
}
@@ -0,0 +1,12 @@
// "Create parameter 'foo'" "false"
// ACTION: Create local variable 'foo'
// ACTION: Split property declaration
// ERROR: Unresolved reference: foo
class A {
class object {
{
val t: Int = <caret>foo
}
}
}
@@ -0,0 +1,5 @@
// "Create parameter 'foo'" "true"
fun test(n: Int) {
val t: Int = <caret>foo
}
@@ -0,0 +1,7 @@
// "Create parameter 'foo'" "true"
class A {
fun test(n: Int) {
val t: Int = <caret>foo
}
}
@@ -0,0 +1,7 @@
// "Create parameter 'foo'" "true"
class A<T> {
fun test(n: Int) {
val t: T = <caret>foo
}
}
@@ -0,0 +1,10 @@
// "Create parameter 'foo'" "false"
// ACTION: Convert to expression body
// ACTION: Create local variable 'foo'
// ERROR: Unresolved reference: foo
class A {
val <T> test: T get() {
return <caret>foo
}
}
@@ -0,0 +1,10 @@
// "Create parameter 'foo'" "false"
// ACTION: Convert to expression body
// ACTION: Create local variable 'foo'
// ERROR: Unresolved reference: foo
class A<T> {
val <T> test: T get() {
return <caret>foo
}
}
@@ -0,0 +1,7 @@
// "Create parameter 'foo'" "true"
class A {
fun test<T>(n: Int) {
val t: T = <caret>foo
}
}
@@ -0,0 +1,7 @@
// "Create parameter 'foo'" "true"
class A<T> {
fun test<T>(n: Int) {
val t: T = <caret>foo
}
}
@@ -0,0 +1,6 @@
// "Create parameter 'foo'" "false"
// ERROR: Unresolved reference: foo
class A {
val <T> test: T = <caret>foo
}
@@ -0,0 +1,6 @@
// "Create parameter 'foo'" "false"
// ERROR: Unresolved reference: foo
class A<T> {
val <T> test: T = <caret>foo
}
@@ -0,0 +1,6 @@
// "Create parameter 'foo'" "true"
// ACTION: Create local variable 'foo'
fun test(n: Int) {
val f: () -> Int = { <caret>foo }
}
@@ -0,0 +1,6 @@
// "Create parameter 'foo'" "true"
// ACTION: Create local variable 'foo'
fun test(n: Int) {
val f: (Int) -> Int = { <caret>foo }
}
@@ -0,0 +1,6 @@
// "Create parameter 'foo'" "true"
// ACTION: Create local variable 'foo'
fun test(n: Int) {
val f: (Int, Int) -> Int = { (a, b) -> <caret>foo }
}
@@ -0,0 +1,6 @@
// "Create parameter 'foo'" "true"
// ACTION: Create local variable 'foo'
fun test(n: Int) {
val f = { (a: Int, b: Int) -> <caret>foo }
}
@@ -0,0 +1,8 @@
// "Create parameter 'foo'" "true"
// ACTION: Create local variable 'foo'
fun test(n: Int) {
val f: () -> Int = {
<caret>foo
}
}
@@ -0,0 +1,5 @@
// "Create parameter 'foo'" "true"
class A {
val test: Int = <caret>foo
}
@@ -0,0 +1,8 @@
// "Create parameter 'foo'" "false"
// ERROR: Unresolved reference: foo
class A {
class object {
val test: Int = <caret>foo
}
}
@@ -0,0 +1,12 @@
// "Create parameter 'foo'" "true"
// ERROR: Missing delegation specifier 'E'
// ERROR: Missing delegation specifier 'E'
// ERROR: Missing delegation specifier 'E'
enum class E {
A
B
C
val t: Int = <caret>foo
}
@@ -0,0 +1,12 @@
// "Create parameter 'foo'" "true"
// ERROR: Missing delegation specifier 'E'
// ERROR: Missing delegation specifier 'E'
// ERROR: Missing delegation specifier 'E'
enum class E {
A
B {
val t: Int = <caret>foo
}
C
}
@@ -0,0 +1,5 @@
// "Create parameter 'foo'" "true"
class A<T> {
val test: T = <caret>foo
}
@@ -0,0 +1,7 @@
// "Create parameter 'foo'" "true"
class A {
class B {
val test: Int = <caret>foo
}
}
@@ -0,0 +1,6 @@
// "Create parameter 'foo'" "false"
// ERROR: Unresolved reference: foo
object A {
val test: Int = <caret>foo
}
@@ -0,0 +1,4 @@
// "Create parameter 'foo'" "false"
// ERROR: Unresolved reference: foo
val test: Int = <caret>foo
@@ -0,0 +1,9 @@
// "Create parameter 'foo'" "false"
// ACTION: Split property declaration
// ERROR: Unresolved reference: foo
class A
fun test(a: A) {
val t: Int = a.<caret>foo
}