diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/ExtractionDescriptor.kt b/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/ExtractionDescriptor.kt index a524a03a57a..ee78829849a 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/ExtractionDescriptor.kt +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/ExtractionDescriptor.kt @@ -99,6 +99,8 @@ class FqNameReplacement(val fqName: FqName): Replacement { trait ControlFlow { val returnType: JetType val declarationsToCopy: List + + fun toDefault(): ControlFlow = DefaultControlFlow(returnType, declarationsToCopy) } class DefaultControlFlow( diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/extractFunctionUtils.kt b/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/extractFunctionUtils.kt index a84dc7d0fdc..f951b55d2fc 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/extractFunctionUtils.kt +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/extractFunctionUtils.kt @@ -636,7 +636,7 @@ fun ExtractionData.performAnalysis(): AnalysisResult { receiverParameter, typeParameters.sortBy { it.originalDeclaration.getName()!! }, replacementMap, - controlFlow + if (messages.empty) controlFlow else controlFlow.toDefault() ), if (messages.empty) Status.SUCCESS else Status.NON_CRITICAL_ERROR, messages