diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 1be8a5b2e25..13d6655cce8 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -5,6 +5,7 @@
+
diff --git a/idea/src/org/jetbrains/kotlin/idea/codeInsight/CodeInsightUtils.java b/idea/src/org/jetbrains/kotlin/idea/codeInsight/CodeInsightUtils.java
index e4c39840f31..31cd0c48b0d 100644
--- a/idea/src/org/jetbrains/kotlin/idea/codeInsight/CodeInsightUtils.java
+++ b/idea/src/org/jetbrains/kotlin/idea/codeInsight/CodeInsightUtils.java
@@ -182,6 +182,7 @@ public class CodeInsightUtils {
return element;
}
+ @Nullable
public static String defaultInitializer(JetType type) {
KotlinBuiltIns builtIns = KotlinBuiltIns.getInstance();
if (type.isMarkedNullable()) {
@@ -203,6 +204,12 @@ public class CodeInsightUtils {
else if (type.equals(builtIns.getBooleanType())) {
return "false";
}
+ else if (type.equals(builtIns.getUnitType())) {
+ return "Unit";
+ }
+ else if (type.equals(builtIns.getStringType())) {
+ return "\"\"";
+ }
return null;
}
diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt
index 7b6991f8e97..d7b7121a168 100644
--- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt
@@ -79,6 +79,7 @@ import org.jetbrains.kotlin.idea.refactoring.*
import org.jetbrains.kotlin.idea.util.*
import com.intellij.openapi.ui.*
import com.intellij.codeInsight.template.impl.*
+import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils
import org.jetbrains.kotlin.idea.util.application.*
private val TYPE_PARAMETER_LIST_VARIABLE_NAME = "typeParameterList"
@@ -324,7 +325,7 @@ class CallableBuilder(val config: CallableBuilderConfiguration) {
returnTypeCandidate?.theType?.isUnit() ?: false
CallableKind.CONSTRUCTOR ->
callableInfo.returnTypeInfo == TypeInfo.Empty || returnTypeCandidate?.theType?.isAny() ?: false
- CallableKind.PROPERTY -> false
+ CallableKind.PROPERTY -> containingElement is JetBlockExpression
}
// figure out type parameter renames to avoid conflicts
@@ -883,6 +884,7 @@ class CallableBuilder(val config: CallableBuilderConfiguration) {
private fun setupEditor(declaration: JetNamedDeclaration) {
val caretModel = containingFileEditor.getCaretModel()
+ val selectionModel = containingFileEditor.getSelectionModel()
caretModel.moveToOffset(declaration.getNameIdentifier().getTextRange().getEndOffset())
@@ -892,7 +894,7 @@ class CallableBuilder(val config: CallableBuilderConfiguration) {
val startOffset = from.getTextRange().getStartOffset()
val endOffset = to.getTextRange().getEndOffset()
caretModel.moveToOffset(endOffset)
- containingFileEditor.getSelectionModel().setSelection(startOffset, endOffset)
+ selectionModel.setSelection(startOffset, endOffset)
}
when (declaration) {
@@ -903,9 +905,15 @@ class CallableBuilder(val config: CallableBuilderConfiguration) {
caretModel.moveToOffset(declaration.getTextRange().getStartOffset())
}
is JetProperty -> {
- if (!declaration.hasInitializer()) {
- caretModel.moveToOffset(declaration.getTextRange().getEndOffset())
+ if (!declaration.hasInitializer() && containingElement is JetBlockExpression) {
+ val defaultValueType = typeCandidates[callableInfo.returnTypeInfo].firstOrNull()?.theType
+ ?: KotlinBuiltIns.getInstance().getAnyType()
+ val defaultValue = CodeInsightUtils.defaultInitializer(defaultValueType) ?: "null"
+ val initializer = declaration.setInitializer(JetPsiFactory(declaration).createExpression(defaultValue))!!
+ val range = initializer.getTextRange()
+ selectionModel.setSelection(range.getStartOffset(), range.getEndOffset())
}
+ caretModel.moveToOffset(declaration.getTextRange().getEndOffset())
}
}
containingFileEditor.getScrollingModel().scrollToCaret(ScrollType.RELATIVE)
diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateLocalVariableActionFactory.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateLocalVariableActionFactory.kt
index 9054d730ebc..874176f5fb8 100644
--- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateLocalVariableActionFactory.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateLocalVariableActionFactory.kt
@@ -16,62 +16,61 @@
package org.jetbrains.kotlin.idea.quickfix.createFromUsage.createVariable
-import org.jetbrains.kotlin.idea.quickfix.createFromUsage.CreateFromUsageFixBase
-import org.jetbrains.kotlin.idea.JetBundle
-import com.intellij.openapi.project.Project
-import com.intellij.openapi.editor.Editor
-import org.jetbrains.kotlin.psi.JetFile
-import org.jetbrains.kotlin.idea.quickfix.JetSingleIntentionActionFactory
-import org.jetbrains.kotlin.diagnostics.Diagnostic
import com.intellij.codeInsight.intention.IntentionAction
-import org.jetbrains.kotlin.idea.quickfix.QuickFixUtil
-import org.jetbrains.kotlin.psi.JetSimpleNameExpression
-import org.jetbrains.kotlin.psi.psiUtil.getQualifiedElement
-import org.jetbrains.kotlin.psi.JetBlockExpression
-import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.TypeInfo
-import org.jetbrains.kotlin.types.Variance
-import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.CallableBuilderConfiguration
-import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.createBuilder
-import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.CallablePlacement
import com.intellij.openapi.command.CommandProcessor
-import org.jetbrains.kotlin.psi.psiUtil.parents
-import org.jetbrains.kotlin.psi.JetElement
+import com.intellij.openapi.editor.Editor
+import com.intellij.openapi.project.Project
+import org.jetbrains.kotlin.diagnostics.Diagnostic
+import org.jetbrains.kotlin.idea.JetBundle
import org.jetbrains.kotlin.idea.intentions.ConvertToBlockBodyAction
-import org.jetbrains.kotlin.psi.JetDeclarationWithBody
-import org.jetbrains.kotlin.idea.refactoring.getExtractionContainers
-import org.jetbrains.kotlin.psi.JetClassBody
-import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.PropertyInfo
+import org.jetbrains.kotlin.idea.quickfix.JetSingleIntentionActionFactory
+import org.jetbrains.kotlin.idea.quickfix.QuickFixUtil
+import org.jetbrains.kotlin.idea.quickfix.createFromUsage.CreateFromUsageFixBase
+import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.*
+import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.getAssignmentByLHS
-import org.jetbrains.kotlin.idea.quickfix.createFromUsage.callableBuilder.getExpressionForTypeGuess
+import org.jetbrains.kotlin.psi.psiUtil.getQualifiedElement
+import org.jetbrains.kotlin.psi.psiUtil.parents
+import org.jetbrains.kotlin.types.Variance
import org.jetbrains.kotlin.utils.addToStdlib.singletonOrEmptyList
+import java.util.Collections
object CreateLocalVariableActionFactory: JetSingleIntentionActionFactory() {
override fun createAction(diagnostic: Diagnostic): IntentionAction? {
val refExpr = QuickFixUtil.getParentElementOfType(diagnostic, javaClass()) ?: return null
if (refExpr.getQualifiedElement() != refExpr) return null
+ val propertyName = refExpr.getReferencedName()
+
val container = refExpr.parents(false)
.filter { it is JetBlockExpression || it is JetDeclarationWithBody }
.firstOrNull() as? JetElement ?: return null
- val assignment = refExpr.getAssignmentByLHS()
- val varExpected = assignment != null
- val typeInfo = TypeInfo(
- refExpr.getExpressionForTypeGuess(),
- if (varExpected) Variance.INVARIANT else Variance.OUT_VARIANCE
- )
- val containers = refExpr.getExtractionContainers().filterNot { it is JetClassBody || it is JetFile }
- val propertyInfo = PropertyInfo(refExpr.getReferencedName(), TypeInfo.Empty, typeInfo, varExpected, containers)
-
return object: CreateFromUsageFixBase(refExpr) {
- override fun getText(): String = JetBundle.message("create.local.variable.from.usage", propertyInfo.name)
+ override fun getText(): String = JetBundle.message("create.local.variable.from.usage", propertyName)
- override fun invoke(project: Project, editor: Editor?, file: JetFile?) {
- with (CallableBuilderConfiguration(propertyInfo.singletonOrEmptyList(), assignment ?: refExpr, file!!, editor!!).createBuilder()) {
- val actualContainer = when (container) {
- is JetBlockExpression -> container
- else -> ConvertToBlockBodyAction.convert(container as JetDeclarationWithBody).getBodyExpression()!!
- }
+ override fun invoke(project: Project, editor: Editor, file: JetFile) {
+ val assignment = refExpr.getAssignmentByLHS()
+ val varExpected = assignment != null
+ var originalElement = assignment ?: refExpr
+
+ val actualContainer = when (container) {
+ is JetBlockExpression -> container
+ else -> ConvertToBlockBodyAction.convert(container as JetDeclarationWithBody).getBodyExpression()!!
+ } as JetBlockExpression
+
+ if (actualContainer != container) {
+ val bodyExpression = actualContainer.getStatements().first() as JetExpression
+ originalElement = (bodyExpression as? JetReturnExpression)?.getReturnedExpression() ?: bodyExpression
+ }
+
+ val typeInfo = TypeInfo(
+ originalElement.getExpressionForTypeGuess(),
+ if (varExpected) Variance.INVARIANT else Variance.OUT_VARIANCE
+ )
+ val propertyInfo = PropertyInfo(propertyName, TypeInfo.Empty, typeInfo, varExpected, Collections.singletonList(actualContainer))
+
+ with (CallableBuilderConfiguration(propertyInfo.singletonOrEmptyList(), originalElement, file, editor).createBuilder()) {
placement = CallablePlacement.NoReceiver(actualContainer)
CommandProcessor.getInstance().executeCommand(project, { build() }, getText(), null)
}
diff --git a/idea/testData/codeInsight/surroundWith/if/moveDeclarationsOut/var/varWithNotNullableTypeWithInitializer.kt.after b/idea/testData/codeInsight/surroundWith/if/moveDeclarationsOut/var/varWithNotNullableTypeWithInitializer.kt.after
index 2427f7e20cf..26ed7edb07e 100644
--- a/idea/testData/codeInsight/surroundWith/if/moveDeclarationsOut/var/varWithNotNullableTypeWithInitializer.kt.after
+++ b/idea/testData/codeInsight/surroundWith/if/moveDeclarationsOut/var/varWithNotNullableTypeWithInitializer.kt.after
@@ -1,5 +1,5 @@
fun foo() {
- var a: String
+ var a: String = ""
if () {
a = "aaa"
}
diff --git a/idea/testData/codeInsight/surroundWith/if/moveDeclarationsOut/var/varWoTypeWithInitializer.kt.after b/idea/testData/codeInsight/surroundWith/if/moveDeclarationsOut/var/varWoTypeWithInitializer.kt.after
index 2427f7e20cf..26ed7edb07e 100644
--- a/idea/testData/codeInsight/surroundWith/if/moveDeclarationsOut/var/varWoTypeWithInitializer.kt.after
+++ b/idea/testData/codeInsight/surroundWith/if/moveDeclarationsOut/var/varWoTypeWithInitializer.kt.after
@@ -1,5 +1,5 @@
fun foo() {
- var a: String
+ var a: String = ""
if () {
a = "aaa"
}
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInAccessor.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInAccessor.kt
index 83779ca800d..5f208b20a49 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInAccessor.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInAccessor.kt
@@ -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
}
}
\ No newline at end of file
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInAccessorWithExpressionBody.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInAccessorWithExpressionBody.kt
index 83779ca800d..5f208b20a49 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInAccessorWithExpressionBody.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInAccessorWithExpressionBody.kt
@@ -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
}
}
\ No newline at end of file
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInFun.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInFun.kt
index 6fe0e99dd4a..d7c90a85f55 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInFun.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInFun.kt
@@ -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
}
\ No newline at end of file
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInFunWithExpressionBody.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInFunWithExpressionBody.kt
index 6fe0e99dd4a..d7c90a85f55 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInFunWithExpressionBody.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInFunWithExpressionBody.kt
@@ -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
}
\ No newline at end of file
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInLambdaNoParams.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInLambdaNoParams.kt
index 5f9d567c8b8..b857cce82d7 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInLambdaNoParams.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInLambdaNoParams.kt
@@ -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
}
}
\ No newline at end of file
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInLambdaWithParams.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInLambdaWithParams.kt
index 187d90d0251..e1fe2b31832 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInLambdaWithParams.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInLambdaWithParams.kt
@@ -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
}
}
\ No newline at end of file
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInMultiLineLambdaNoParams.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInMultiLineLambdaNoParams.kt
index 5f9d567c8b8..b857cce82d7 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInMultiLineLambdaNoParams.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInMultiLineLambdaNoParams.kt
@@ -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
}
}
\ No newline at end of file
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInMultiLineLambdaWithParams.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInMultiLineLambdaWithParams.kt
index 187d90d0251..e1fe2b31832 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInMultiLineLambdaWithParams.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInMultiLineLambdaWithParams.kt
@@ -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
}
}
\ No newline at end of file
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInWhen.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInWhen.kt
index bcf381c10d0..79dfe6d7e56 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInWhen.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterInWhen.kt
@@ -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 -> {
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterLocalWithPackageName.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterLocalWithPackageName.kt
index bb89c84262b..3b56a27c0af 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterLocalWithPackageName.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterLocalWithPackageName.kt
@@ -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
}
\ No newline at end of file
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterNullableType.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterNullableType.kt
index 9880f97de41..233a2062d7e 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterNullableType.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterNullableType.kt
@@ -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
}
\ No newline at end of file
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterUnitTypedInFun.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterUnitTypedInFun.kt
index bbd6607e287..e78f3374d24 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterUnitTypedInFun.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/afterUnitTypedInFun.kt
@@ -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
}
\ No newline at end of file
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInAccessor.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInAccessor.kt
index 368e6ef8127..71fd9a2490f 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInAccessor.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInAccessor.kt
@@ -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() {
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInAccessorWithExpressionBody.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInAccessorWithExpressionBody.kt
index a76a86af693..b5fd14d8c09 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInAccessorWithExpressionBody.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInAccessorWithExpressionBody.kt
@@ -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() = foo
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInFun.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInFun.kt
index 9285cf3a3c2..70019a3d561 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInFun.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInFun.kt
@@ -1,6 +1,5 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
-// ERROR: Variable 'foo' must be initialized
fun test(): Int {
return foo
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInFunWithExpressionBody.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInFunWithExpressionBody.kt
index 4c0bac10971..61bccabe909 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInFunWithExpressionBody.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInFunWithExpressionBody.kt
@@ -1,5 +1,4 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
-// ERROR: Variable 'foo' must be initialized
fun test(): Int = foo
\ No newline at end of file
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInLambdaNoParams.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInLambdaNoParams.kt
index 4658d82edbc..c5645330ad4 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInLambdaNoParams.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInLambdaNoParams.kt
@@ -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 = { foo }
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInLambdaWithParams.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInLambdaWithParams.kt
index 08e56a6a8be..869228b38e8 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInLambdaWithParams.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInLambdaWithParams.kt
@@ -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) -> foo }
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInMultiLineLambdaNoParams.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInMultiLineLambdaNoParams.kt
index 1d6370a7e59..54abae7bb8b 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInMultiLineLambdaNoParams.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInMultiLineLambdaNoParams.kt
@@ -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 = {
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInMultiLineLambdaWithParams.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInMultiLineLambdaWithParams.kt
index 567980a7b5a..e1dd99cf7ad 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInMultiLineLambdaWithParams.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInMultiLineLambdaWithParams.kt
@@ -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) ->
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInWhen.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInWhen.kt
index 4a08c00d3d8..f6057faee2d 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInWhen.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeInWhen.kt
@@ -1,5 +1,4 @@
// "Create local variable 'foo'" "true"
-// ERROR: Variable 'foo' must be initialized
fun test(n: Int): Int {
return when (n) {
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeLocalWithPackageName.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeLocalWithPackageName.kt
index 71b27a05bc9..c7f20c5493a 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeLocalWithPackageName.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeLocalWithPackageName.kt
@@ -1,6 +1,5 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
-// ERROR: Variable 'foo' must be initialized
package foo
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeNullableType.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeNullableType.kt
index 6b3d56c50cd..5e220b3f2ac 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeNullableType.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeNullableType.kt
@@ -1,5 +1,4 @@
// "Create local variable 'foo'" "true"
-// ERROR: Variable 'foo' must be initialized
fun test(): Int? {
return foo
diff --git a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeUnitTypedInFun.kt b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeUnitTypedInFun.kt
index 011d3d6382c..acde1167f25 100644
--- a/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeUnitTypedInFun.kt
+++ b/idea/testData/quickfix/createFromUsage/createVariable/localVariable/beforeUnitTypedInFun.kt
@@ -1,6 +1,5 @@
// "Create local variable 'foo'" "true"
// ACTION: Create parameter 'foo'
-// ERROR: Variable 'foo' must be initialized
fun test() {
val u: Unit = foo