Add option to extract function for wrapping member extension function with with { }

This commit is contained in:
Natalia Ukhorskaya
2015-10-28 15:51:34 +03:00
parent 1e0b70247b
commit 5fcd5396b6
14 changed files with 16 additions and 14 deletions
@@ -84,7 +84,8 @@ fun getFunctionForExtractedFragment(
val options = ExtractionOptions(inferUnitTypeForUnusedValues = false,
enableListBoxing = true,
allowSpecialClassNames = true,
captureLocalFunctions = true)
captureLocalFunctions = true,
canWrapInWith = true)
val analysisResult = ExtractionData(tmpFile, newDebugExpressions.toRange(), targetSibling, null, options).performAnalysis()
if (analysisResult.status != Status.SUCCESS) {
throw EvaluateExceptionUtil.createEvaluateException(getErrorMessageForExtractFunctionResult(analysisResult, tmpFile))
@@ -54,7 +54,8 @@ data class ExtractionOptions(
val enableListBoxing: Boolean = false,
val extractAsProperty: Boolean = false,
val allowSpecialClassNames: Boolean = false,
val captureLocalFunctions: Boolean = false
val captureLocalFunctions: Boolean = false,
val canWrapInWith: Boolean = false
) {
companion object {
val DEFAULT = ExtractionOptions()
@@ -1,5 +1,5 @@
// WITH_RUNTIME
// OPTIONS: true, true, false, false, false
// OPTIONS: true, true, false, false, false, false
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
@@ -1,5 +1,5 @@
// WITH_RUNTIME
// OPTIONS: true, true, false, false, false
// OPTIONS: true, true, false, false, false, false
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
@@ -1,4 +1,4 @@
// OPTIONS: true, false, false, false, true
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun baz(m: kotlin.Int): Int defined in foo.bar
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_TYPES: (kotlin.Int) -> Int
@@ -1,4 +1,4 @@
// OPTIONS: true, false, false, false, true
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun baz(m: kotlin.Int): Int defined in foo.bar
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_TYPES: (kotlin.Int) -> Int
@@ -1,4 +1,4 @@
// OPTIONS: true, false, false, false, true
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_TYPES: kotlin.Int.(kotlin.Int) -> Int
@@ -1,4 +1,4 @@
// OPTIONS: true, false, false, false, true
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_TYPES: kotlin.Int.(kotlin.Int) -> Int
@@ -1,4 +1,4 @@
// OPTIONS: true, false, false, false, true
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar1(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar2(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
@@ -1,4 +1,4 @@
// OPTIONS: true, false, false, false, true
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar1(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar2(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
@@ -1,4 +1,4 @@
// OPTIONS: true, false, false, false, true
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_TYPES: kotlin.Int.(kotlin.Int) -> Int
@@ -1,4 +1,4 @@
// OPTIONS: true, false, false, false, true
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_TYPES: kotlin.Int.(kotlin.Int) -> Int
@@ -1,4 +1,4 @@
// OPTIONS: true, false, false, false, true
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun bar(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_TYPES: (kotlin.Int) -> Int
@@ -1,4 +1,4 @@
// OPTIONS: true, false, false, false, true
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun bar(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_TYPES: (kotlin.Int) -> Int