diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/ExtractKotlinFunctionHandler.kt b/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/ExtractKotlinFunctionHandler.kt index 2dfe01eab59..7812ccfa73e 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/ExtractKotlinFunctionHandler.kt +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/ExtractKotlinFunctionHandler.kt @@ -180,8 +180,9 @@ fun selectElements( fun getContainers(element: PsiElement, strict: Boolean): List { if (allContainersEnabled) return element.getAllExtractionContainers(strict) - val declaration = element.getParentByType(javaClass(), strict) - if (declaration == null) return Collections.emptyList() + val declaration = element.getParentByType(javaClass(), strict)?.let { declaration -> + stream(declaration) { it.getParentByType(javaClass(), true) }.firstOrNull { it !is JetFunctionLiteral } + } ?: return Collections.emptyList() val parent = declaration.getParent()?.let { when (it) { diff --git a/idea/testData/refactoring/extractFunction/defaultContainer/lambda.kt b/idea/testData/refactoring/extractFunction/defaultContainer/lambda.kt index cfe0297badb..1c1070c5263 100644 --- a/idea/testData/refactoring/extractFunction/defaultContainer/lambda.kt +++ b/idea/testData/refactoring/extractFunction/defaultContainer/lambda.kt @@ -1,3 +1,5 @@ +// PARAM_TYPES: kotlin.Int +// PARAM_TYPES: kotlin.Int class A { fun foo(a: Int, b: Int): Int { return { diff --git a/idea/testData/refactoring/extractFunction/defaultContainer/lambda.kt.after b/idea/testData/refactoring/extractFunction/defaultContainer/lambda.kt.after index d0037bfa179..ab1bba694f2 100644 --- a/idea/testData/refactoring/extractFunction/defaultContainer/lambda.kt.after +++ b/idea/testData/refactoring/extractFunction/defaultContainer/lambda.kt.after @@ -1,11 +1,13 @@ +// PARAM_TYPES: kotlin.Int +// PARAM_TYPES: kotlin.Int class A { fun foo(a: Int, b: Int): Int { - fun i(): Int { - return a + b - 1 - } - return { - i() + i(a, b) }.invoke() } + + fun i(a: Int, b: Int): Int { + return a + b - 1 + } } \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/defaultContainer/nestedLambda.kt b/idea/testData/refactoring/extractFunction/defaultContainer/nestedLambda.kt new file mode 100644 index 00000000000..e0cc8a0a7fe --- /dev/null +++ b/idea/testData/refactoring/extractFunction/defaultContainer/nestedLambda.kt @@ -0,0 +1,9 @@ +// PARAM_TYPES: kotlin.Int +// PARAM_TYPES: kotlin.Int +class A { + fun foo(a: Int, b: Int): Int { + return { + { a + b - 1 }.invoke() + }.invoke() + } +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/defaultContainer/nestedLambda.kt.after b/idea/testData/refactoring/extractFunction/defaultContainer/nestedLambda.kt.after new file mode 100644 index 00000000000..da2cfce733a --- /dev/null +++ b/idea/testData/refactoring/extractFunction/defaultContainer/nestedLambda.kt.after @@ -0,0 +1,13 @@ +// PARAM_TYPES: kotlin.Int +// PARAM_TYPES: kotlin.Int +class A { + fun foo(a: Int, b: Int): Int { + return { + { i(a, b) }.invoke() + }.invoke() + } + + fun i(a: Int, b: Int): Int { + return a + b - 1 + } +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/accessors/memberPropertyWithLambda.kt b/idea/testData/refactoring/extractFunction/initializers/accessors/memberPropertyWithLambda.kt new file mode 100644 index 00000000000..27d316e05db --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/accessors/memberPropertyWithLambda.kt @@ -0,0 +1,3 @@ +class A(val a: Int, val b: Int) { + val foo: Int get() = { a + b - 1 }.invoke() +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/accessors/memberPropertyWithLambda.kt.after b/idea/testData/refactoring/extractFunction/initializers/accessors/memberPropertyWithLambda.kt.after new file mode 100644 index 00000000000..b7f28f3bc6b --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/accessors/memberPropertyWithLambda.kt.after @@ -0,0 +1,7 @@ +class A(val a: Int, val b: Int) { + val foo: Int get() = { i() - 1 }.invoke() + + fun i(): Int { + return a + b + } +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/accessors/topLevelPropertyWithLambda.kt b/idea/testData/refactoring/extractFunction/initializers/accessors/topLevelPropertyWithLambda.kt new file mode 100644 index 00000000000..fb43737230f --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/accessors/topLevelPropertyWithLambda.kt @@ -0,0 +1,3 @@ +val a = 1 +val b = 1 +val foo: Int get() = { a + b - 1 }.invoke() \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/accessors/topLevelPropertyWithLambda.kt.after b/idea/testData/refactoring/extractFunction/initializers/accessors/topLevelPropertyWithLambda.kt.after new file mode 100644 index 00000000000..cc9184becd5 --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/accessors/topLevelPropertyWithLambda.kt.after @@ -0,0 +1,7 @@ +val a = 1 +val b = 1 +val foo: Int get() = { i() - 1 }.invoke() + +fun i(): Int { + return a + b +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/classes/classInitializerWithLambda.kt b/idea/testData/refactoring/extractFunction/initializers/classes/classInitializerWithLambda.kt new file mode 100644 index 00000000000..fbb85b74d39 --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/classes/classInitializerWithLambda.kt @@ -0,0 +1,6 @@ +// PARAM_TYPES: kotlin.Int +class A(val a: Int, b: Int) { + { + println({ a + b - 1 }.invoke()) + } +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/classes/classInitializerWithLambda.kt.after b/idea/testData/refactoring/extractFunction/initializers/classes/classInitializerWithLambda.kt.after new file mode 100644 index 00000000000..d4dddef9e8b --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/classes/classInitializerWithLambda.kt.after @@ -0,0 +1,10 @@ +// PARAM_TYPES: kotlin.Int +class A(val a: Int, b: Int) { + { + println({ i(b) - 1 }.invoke()) + } + + fun i(b: Int): Int { + return a + b + } +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/classes/classParametersWithLambda.kt b/idea/testData/refactoring/extractFunction/initializers/classes/classParametersWithLambda.kt new file mode 100644 index 00000000000..2558a47bb7b --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/classes/classParametersWithLambda.kt @@ -0,0 +1,3 @@ +// PARAM_TYPES: kotlin.Int +val n = 1 +class A(val a: Int, val b: Int = { a + n }.invoke()) \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/classes/classParametersWithLambda.kt.after b/idea/testData/refactoring/extractFunction/initializers/classes/classParametersWithLambda.kt.after new file mode 100644 index 00000000000..e1bdbe61017 --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/classes/classParametersWithLambda.kt.after @@ -0,0 +1,7 @@ +// PARAM_TYPES: kotlin.Int +val n = 1 +class A(val a: Int, val b: Int = { i(a) }.invoke()) + +fun i(a: Int): Int { + return a + n +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/functions/localFunctionParametersWithLambda.kt b/idea/testData/refactoring/extractFunction/initializers/functions/localFunctionParametersWithLambda.kt new file mode 100644 index 00000000000..7d297563fea --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/functions/localFunctionParametersWithLambda.kt @@ -0,0 +1,4 @@ +// PARAM_TYPES: kotlin.Int +fun bar(n: Int) { + fun foo(a: Int, b: Int = { a + n }.invoke()) = a + b - n - 1 +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/functions/localFunctionParametersWithLambda.kt.conflicts b/idea/testData/refactoring/extractFunction/initializers/functions/localFunctionParametersWithLambda.kt.conflicts new file mode 100644 index 00000000000..d6e7ed6edfd --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/functions/localFunctionParametersWithLambda.kt.conflicts @@ -0,0 +1 @@ +Cannot extract method since following types are not denotable in the target scope: [ERROR : ] \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/functions/localFunctionWithLambda.kt b/idea/testData/refactoring/extractFunction/initializers/functions/localFunctionWithLambda.kt new file mode 100644 index 00000000000..1e2dcf1a909 --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/functions/localFunctionWithLambda.kt @@ -0,0 +1,5 @@ +// PARAM_TYPES: kotlin.Int +// PARAM_TYPES: kotlin.Int +fun bar(n: Int) { + fun foo(a: Int, b: Int) = { a + b - n - 1 }.invoke() +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/functions/localFunctionWithLambda.kt.after b/idea/testData/refactoring/extractFunction/initializers/functions/localFunctionWithLambda.kt.after new file mode 100644 index 00000000000..a745b50e40e --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/functions/localFunctionWithLambda.kt.after @@ -0,0 +1,9 @@ +// PARAM_TYPES: kotlin.Int +// PARAM_TYPES: kotlin.Int +fun bar(n: Int) { + fun i(a: Int, b: Int): Int { + return a + b - n + } + + fun foo(a: Int, b: Int) = { i(a, b) - 1 }.invoke() +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/functions/memberFunctionParametersWithLambda.kt b/idea/testData/refactoring/extractFunction/initializers/functions/memberFunctionParametersWithLambda.kt new file mode 100644 index 00000000000..cd25416fc1d --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/functions/memberFunctionParametersWithLambda.kt @@ -0,0 +1,4 @@ +// PARAM_TYPES: kotlin.Int +class A(val n: Int) { + fun foo(a: Int, b: Int = { a + n }.invoke()) = a + b - n - 1 +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/functions/memberFunctionParametersWithLambda.kt.after b/idea/testData/refactoring/extractFunction/initializers/functions/memberFunctionParametersWithLambda.kt.after new file mode 100644 index 00000000000..b399f0e7418 --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/functions/memberFunctionParametersWithLambda.kt.after @@ -0,0 +1,8 @@ +// PARAM_TYPES: kotlin.Int +class A(val n: Int) { + fun foo(a: Int, b: Int = { i(a) }.invoke()) = a + b - n - 1 + + fun i(a: Int): Int { + return a + n + } +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/functions/memberFunctionWithLambda.kt b/idea/testData/refactoring/extractFunction/initializers/functions/memberFunctionWithLambda.kt new file mode 100644 index 00000000000..f679f5d2d8b --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/functions/memberFunctionWithLambda.kt @@ -0,0 +1,5 @@ +// PARAM_TYPES: kotlin.Int +// PARAM_TYPES: kotlin.Int +class A(val n: Int) { + fun foo(a: Int, b: Int) = { a + b - n - 1 }.invoke() +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/functions/memberFunctionWithLambda.kt.after b/idea/testData/refactoring/extractFunction/initializers/functions/memberFunctionWithLambda.kt.after new file mode 100644 index 00000000000..1cc5c96880f --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/functions/memberFunctionWithLambda.kt.after @@ -0,0 +1,9 @@ +// PARAM_TYPES: kotlin.Int +// PARAM_TYPES: kotlin.Int +class A(val n: Int) { + fun foo(a: Int, b: Int) = { i(a, b) - 1 }.invoke() + + fun i(a: Int, b: Int): Int { + return a + b - n + } +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/functions/topLevelFunctionParametersWithLambda.kt b/idea/testData/refactoring/extractFunction/initializers/functions/topLevelFunctionParametersWithLambda.kt new file mode 100644 index 00000000000..0a6d825e732 --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/functions/topLevelFunctionParametersWithLambda.kt @@ -0,0 +1,3 @@ +// PARAM_TYPES: kotlin.Int +val n = 1 +fun foo(a: Int, b: Int = { a + n }) = a + b - 1 \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/functions/topLevelFunctionParametersWithLambda.kt.after b/idea/testData/refactoring/extractFunction/initializers/functions/topLevelFunctionParametersWithLambda.kt.after new file mode 100644 index 00000000000..425608d054c --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/functions/topLevelFunctionParametersWithLambda.kt.after @@ -0,0 +1,7 @@ +// PARAM_TYPES: kotlin.Int +val n = 1 +fun foo(a: Int, b: Int = { i(a) }) = a + b - 1 + +fun i(a: Int): Int { + return a + n +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/functions/topLevelFunctionWithLambda.kt b/idea/testData/refactoring/extractFunction/initializers/functions/topLevelFunctionWithLambda.kt new file mode 100644 index 00000000000..f5d7ab378a6 --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/functions/topLevelFunctionWithLambda.kt @@ -0,0 +1,3 @@ +// PARAM_TYPES: kotlin.Int +// PARAM_TYPES: kotlin.Int +fun foo(a: Int, b: Int) = { a + b - 1 }.invoke() \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/functions/topLevelFunctionWithLambda.kt.after b/idea/testData/refactoring/extractFunction/initializers/functions/topLevelFunctionWithLambda.kt.after new file mode 100644 index 00000000000..1d3894bf255 --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/functions/topLevelFunctionWithLambda.kt.after @@ -0,0 +1,7 @@ +// PARAM_TYPES: kotlin.Int +// PARAM_TYPES: kotlin.Int +fun foo(a: Int, b: Int) = { i(a, b) - 1 }.invoke() + +fun i(a: Int, b: Int): Int { + return a + b +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/properties/localPropertyWithLambda.kt b/idea/testData/refactoring/extractFunction/initializers/properties/localPropertyWithLambda.kt new file mode 100644 index 00000000000..2b7845c0b2c --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/properties/localPropertyWithLambda.kt @@ -0,0 +1,3 @@ +fun bar(a: Int, b: Int) { + val foo = { a + b - 1 }.invoke() +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/properties/localPropertyWithLambda.kt.after b/idea/testData/refactoring/extractFunction/initializers/properties/localPropertyWithLambda.kt.after new file mode 100644 index 00000000000..b5e693aaf29 --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/properties/localPropertyWithLambda.kt.after @@ -0,0 +1,7 @@ +fun bar(a: Int, b: Int) { + fun i(): Int { + return a + b + } + + val foo = { i() - 1 }.invoke() +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/properties/memberPropertyWithLambda.kt b/idea/testData/refactoring/extractFunction/initializers/properties/memberPropertyWithLambda.kt new file mode 100644 index 00000000000..8d2549f325d --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/properties/memberPropertyWithLambda.kt @@ -0,0 +1,4 @@ +// PARAM_TYPES: kotlin.Int +class A(val a: Int, b: Int) { + val foo = { a + b - 1 }.invoke() +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/properties/memberPropertyWithLambda.kt.after b/idea/testData/refactoring/extractFunction/initializers/properties/memberPropertyWithLambda.kt.after new file mode 100644 index 00000000000..10f4f2f5de2 --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/properties/memberPropertyWithLambda.kt.after @@ -0,0 +1,8 @@ +// PARAM_TYPES: kotlin.Int +class A(val a: Int, b: Int) { + val foo = { i(b) - 1 }.invoke() + + fun i(b: Int): Int { + return a + b + } +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/properties/topLevelPropertyWithLambda.kt b/idea/testData/refactoring/extractFunction/initializers/properties/topLevelPropertyWithLambda.kt new file mode 100644 index 00000000000..49931681bce --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/properties/topLevelPropertyWithLambda.kt @@ -0,0 +1,3 @@ +val a = 1 +val b = 1 +val foo = { a + b - 1 }.invoke() \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/initializers/properties/topLevelPropertyWithLambda.kt.after b/idea/testData/refactoring/extractFunction/initializers/properties/topLevelPropertyWithLambda.kt.after new file mode 100644 index 00000000000..9567c376812 --- /dev/null +++ b/idea/testData/refactoring/extractFunction/initializers/properties/topLevelPropertyWithLambda.kt.after @@ -0,0 +1,7 @@ +val a = 1 +val b = 1 +val foo = { i() - 1 }.invoke() + +fun i(): Int { + return a + b +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/JetExtractionTestGenerated.java b/idea/tests/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/JetExtractionTestGenerated.java index 697e8ccb1eb..86b51e1f2c6 100644 --- a/idea/tests/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/JetExtractionTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/JetExtractionTestGenerated.java @@ -16,17 +16,14 @@ package org.jetbrains.jet.plugin.refactoring.introduce.introduceVariable; -import junit.framework.Assert; import junit.framework.Test; import junit.framework.TestSuite; - -import java.io.File; -import java.util.regex.Pattern; import org.jetbrains.jet.JetTestUtils; import org.jetbrains.jet.test.InnerTestClasses; import org.jetbrains.jet.test.TestMetadata; -import org.jetbrains.jet.plugin.refactoring.introduce.introduceVariable.AbstractJetExtractionTest; +import java.io.File; +import java.util.regex.Pattern; /** This class is generated by {@link org.jetbrains.jet.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ @SuppressWarnings("all") @@ -678,6 +675,11 @@ public class JetExtractionTestGenerated extends AbstractJetExtractionTest { doExtractFunctionTest("idea/testData/refactoring/extractFunction/defaultContainer/localFunction.kt"); } + @TestMetadata("nestedLambda.kt") + public void testNestedLambda() throws Exception { + doExtractFunctionTest("idea/testData/refactoring/extractFunction/defaultContainer/nestedLambda.kt"); + } + @TestMetadata("topLevelFunction.kt") public void testTopLevelFunction() throws Exception { doExtractFunctionTest("idea/testData/refactoring/extractFunction/defaultContainer/topLevelFunction.kt"); @@ -703,11 +705,21 @@ public class JetExtractionTestGenerated extends AbstractJetExtractionTest { doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/accessors/memberProperty.kt"); } + @TestMetadata("memberPropertyWithLambda.kt") + public void testMemberPropertyWithLambda() throws Exception { + doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/accessors/memberPropertyWithLambda.kt"); + } + @TestMetadata("topLevelProperty.kt") public void testTopLevelProperty() throws Exception { doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/accessors/topLevelProperty.kt"); } + @TestMetadata("topLevelPropertyWithLambda.kt") + public void testTopLevelPropertyWithLambda() throws Exception { + doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/accessors/topLevelPropertyWithLambda.kt"); + } + } @TestMetadata("idea/testData/refactoring/extractFunction/initializers/classes") @@ -721,11 +733,21 @@ public class JetExtractionTestGenerated extends AbstractJetExtractionTest { doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/classes/classInitializer.kt"); } + @TestMetadata("classInitializerWithLambda.kt") + public void testClassInitializerWithLambda() throws Exception { + doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/classes/classInitializerWithLambda.kt"); + } + @TestMetadata("classParameters.kt") public void testClassParameters() throws Exception { doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/classes/classParameters.kt"); } + @TestMetadata("classParametersWithLambda.kt") + public void testClassParametersWithLambda() throws Exception { + doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/classes/classParametersWithLambda.kt"); + } + } @TestMetadata("idea/testData/refactoring/extractFunction/initializers/functions") @@ -744,6 +766,16 @@ public class JetExtractionTestGenerated extends AbstractJetExtractionTest { doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/functions/localFunctionParameters.kt"); } + @TestMetadata("localFunctionParametersWithLambda.kt") + public void testLocalFunctionParametersWithLambda() throws Exception { + doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/functions/localFunctionParametersWithLambda.kt"); + } + + @TestMetadata("localFunctionWithLambda.kt") + public void testLocalFunctionWithLambda() throws Exception { + doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/functions/localFunctionWithLambda.kt"); + } + @TestMetadata("memberFunction.kt") public void testMemberFunction() throws Exception { doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/functions/memberFunction.kt"); @@ -754,6 +786,16 @@ public class JetExtractionTestGenerated extends AbstractJetExtractionTest { doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/functions/memberFunctionParameters.kt"); } + @TestMetadata("memberFunctionParametersWithLambda.kt") + public void testMemberFunctionParametersWithLambda() throws Exception { + doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/functions/memberFunctionParametersWithLambda.kt"); + } + + @TestMetadata("memberFunctionWithLambda.kt") + public void testMemberFunctionWithLambda() throws Exception { + doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/functions/memberFunctionWithLambda.kt"); + } + @TestMetadata("topLevelFunction.kt") public void testTopLevelFunction() throws Exception { doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/functions/topLevelFunction.kt"); @@ -764,6 +806,16 @@ public class JetExtractionTestGenerated extends AbstractJetExtractionTest { doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/functions/topLevelFunctionParameters.kt"); } + @TestMetadata("topLevelFunctionParametersWithLambda.kt") + public void testTopLevelFunctionParametersWithLambda() throws Exception { + doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/functions/topLevelFunctionParametersWithLambda.kt"); + } + + @TestMetadata("topLevelFunctionWithLambda.kt") + public void testTopLevelFunctionWithLambda() throws Exception { + doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/functions/topLevelFunctionWithLambda.kt"); + } + } @TestMetadata("idea/testData/refactoring/extractFunction/initializers/properties") @@ -777,16 +829,31 @@ public class JetExtractionTestGenerated extends AbstractJetExtractionTest { doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/properties/localProperty.kt"); } + @TestMetadata("localPropertyWithLambda.kt") + public void testLocalPropertyWithLambda() throws Exception { + doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/properties/localPropertyWithLambda.kt"); + } + @TestMetadata("memberProperty.kt") public void testMemberProperty() throws Exception { doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/properties/memberProperty.kt"); } + @TestMetadata("memberPropertyWithLambda.kt") + public void testMemberPropertyWithLambda() throws Exception { + doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/properties/memberPropertyWithLambda.kt"); + } + @TestMetadata("topLevelProperty.kt") public void testTopLevelProperty() throws Exception { doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/properties/topLevelProperty.kt"); } + @TestMetadata("topLevelPropertyWithLambda.kt") + public void testTopLevelPropertyWithLambda() throws Exception { + doExtractFunctionTest("idea/testData/refactoring/extractFunction/initializers/properties/topLevelPropertyWithLambda.kt"); + } + } public static Test innerSuite() {