From fde7e52bf0c18f1b4ec605668f08f80f0ca590ee Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Fri, 4 Jul 2014 14:25:32 +0400 Subject: [PATCH] Extract Function: Always assume default control flow if non-critical errors are found --- .../plugin/refactoring/extractFunction/ExtractionDescriptor.kt | 2 ++ .../plugin/refactoring/extractFunction/extractFunctionUtils.kt | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) 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