Create from Usage: Create data class property from destructuring entry

#KT-18540 Fixed
This commit is contained in:
Alexey Sedunov
2017-07-04 19:33:50 +03:00
parent a212a1bf72
commit b48feb257c
15 changed files with 182 additions and 31 deletions
@@ -0,0 +1,8 @@
// "Create property 'address' as constructor parameter" "true"
data class Person(val name: String, val age: Int)
fun person(): Person = TODO()
fun main(args: Array<String>) {
val (name, age, address) = <caret>person()
}
@@ -0,0 +1,8 @@
// "Create property 'address' as constructor parameter" "true"
data class Person(val name: String, val age: Int, val address: Any<caret>)
fun person(): Person = TODO()
fun main(args: Array<String>) {
val (name, age, address) = person()
}
@@ -0,0 +1,11 @@
// "Create property 'address2' as constructor parameter" "false"
// ACTION: Create property 'address' as constructor parameter
// ERROR: Destructuring declaration initializer of type Person must have a 'component3()' function
// ERROR: Destructuring declaration initializer of type Person must have a 'component4()' function
data class Person(val name: String, val age: Int)
fun person(): Person = TODO()
fun main(args: Array<String>) {
val (name, age, address, address2) = <caret>person()
}
@@ -0,0 +1,8 @@
// "Create property 'address' as constructor parameter" "true"
data class Person(val name: String, val age: Int)
fun person(): Person = TODO()
fun main(args: Array<String>) {
val (name, age, address: String) = <caret>person()
}
@@ -0,0 +1,8 @@
// "Create property 'address' as constructor parameter" "true"
data class Person(val name: String, val age: Int, val address: String<caret>)
fun person(): Person = TODO()
fun main(args: Array<String>) {
val (name, age, address: String) = person()
}