Create From Usage: Do not generate type for local variables, but add dummy initializer instead

#KT-6705 Fixed
This commit is contained in:
Alexey Sedunov
2015-03-06 14:35:50 +03:00
parent 2987e72d29
commit 8a0808b133
30 changed files with 72 additions and 81 deletions
@@ -1,10 +1,9 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
class A {
val t: Int get() {
val foo: Int
val foo = 0
return foo
}
}
@@ -1,10 +1,9 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
class A {
val t: Int get() {
val foo: Int
val foo = 0
return foo
}
}
@@ -1,8 +1,7 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
fun test(): Int {
val foo: Int
val foo = 0
return foo
}
@@ -1,8 +1,7 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
fun test(): Int {
val foo: Int
val foo = 0
return foo
}
@@ -1,10 +1,9 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
fun test(n: Int) {
val f: () -> Int = {
val foo: Int
val foo = 0
foo
}
}
@@ -1,10 +1,9 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
fun test(n: Int) {
val f: (Int, Int) -> Int = { (a, b) ->
val foo: Int
val foo = 0
foo
}
}
@@ -1,10 +1,9 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
fun test(n: Int) {
val f: () -> Int = {
val foo: Int
val foo = 0
foo
}
}
@@ -1,10 +1,9 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
fun test(n: Int) {
val f: (Int, Int) -> Int = { (a, b) ->
val foo: Int
val foo = 0
foo
}
}
@@ -1,10 +1,9 @@
// "Create local variable 'foo'" "true"
// ERROR: Variable 'foo' must be initialized
fun test(n: Int): Int {
return when (n) {
1 -> {
val foo: Int
val foo = 0
foo
}
else -> {
@@ -1,10 +1,9 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
package foo
fun test(): Int {
val foo: Int
val foo = 0
return foo
}
@@ -1,7 +1,6 @@
// "Create local variable 'foo'" "true"
// ERROR: Variable 'foo' must be initialized
fun test(): Int? {
val foo: Int?
val foo = null
return foo
}
@@ -1,8 +1,7 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
fun test() {
val foo: Unit
val foo = Unit
val u: Unit = foo
}
@@ -1,6 +1,5 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
class A {
val t: Int get() {
@@ -1,6 +1,5 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
class A {
val t: Int get() = <caret>foo
@@ -1,6 +1,5 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
fun test(): Int {
return <caret>foo
@@ -1,5 +1,4 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
fun test(): Int = <caret>foo
@@ -1,6 +1,5 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
fun test(n: Int) {
val f: () -> Int = { <caret>foo }
@@ -1,6 +1,5 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
fun test(n: Int) {
val f: (Int, Int) -> Int = { (a, b) -> <caret>foo }
@@ -1,6 +1,5 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
fun test(n: Int) {
val f: () -> Int = {
@@ -1,6 +1,5 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
fun test(n: Int) {
val f: (Int, Int) -> Int = { (a, b) ->
@@ -1,5 +1,4 @@
// "Create local variable 'foo'" "true"
// ERROR: Variable 'foo' must be initialized
fun test(n: Int): Int {
return when (n) {
@@ -1,6 +1,5 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
package foo
@@ -1,5 +1,4 @@
// "Create local variable 'foo'" "true"
// ERROR: Variable 'foo' must be initialized
fun test(): Int? {
return <caret>foo
@@ -1,6 +1,5 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
// ERROR: Variable 'foo' must be initialized
fun test() {
val u: Unit = <caret>foo