diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt
index 33f42371e46..46985824b47 100644
--- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt
@@ -474,7 +474,7 @@ public open class KotlinIntroduceLambdaParameterHandler(
is KtClass -> targetParent.getBody()
else -> null
} ?: throw AssertionError("Body element is not found: ${targetParent.getElementTextWithContext()}")
- val extractionData = ExtractionData(expression.getContainingKtFile(),
+ val extractionData = ExtractionData(targetParent.getContainingKtFile(),
expression.toRange(),
targetParent,
duplicateContainer,
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithBlockExpr.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithBlockExpr.kt
new file mode 100644
index 00000000000..8d3f78f7b2c
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithBlockExpr.kt
@@ -0,0 +1,3 @@
+fun foo(param: Int): String {
+ return "abc${param}def"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithBlockExpr.kt.conflicts b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithBlockExpr.kt.conflicts
new file mode 100644
index 00000000000..21617cc617d
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithBlockExpr.kt.conflicts
@@ -0,0 +1 @@
+Cannot perform refactoring without an expression
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithExpr.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithExpr.kt
new file mode 100644
index 00000000000..a7ef59f2d42
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithExpr.kt
@@ -0,0 +1,3 @@
+fun foo(param: Int): String {
+ return "abc$param"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithExpr.kt.conflicts b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithExpr.kt.conflicts
new file mode 100644
index 00000000000..21617cc617d
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithExpr.kt.conflicts
@@ -0,0 +1 @@
+Cannot perform refactoring without an expression
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEscapeEntry.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEscapeEntry.kt
new file mode 100644
index 00000000000..3cc3e6f3471
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEscapeEntry.kt
@@ -0,0 +1,3 @@
+fun foo(a: Int): String {
+ return "abc$a\ndef"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEscapeEntry.kt.conflicts b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEscapeEntry.kt.conflicts
new file mode 100644
index 00000000000..21617cc617d
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEscapeEntry.kt.conflicts
@@ -0,0 +1 @@
+Cannot perform refactoring without an expression
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractFalse.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractFalse.kt
new file mode 100644
index 00000000000..1ec4ee42caf
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractFalse.kt
@@ -0,0 +1,6 @@
+fun foo(param: Int): String {
+ val x = "xyfalsez"
+ val y = "xyFalsez"
+ val z = false
+ return "abfalsedef"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractFalse.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractFalse.kt.after
new file mode 100644
index 00000000000..305e0a66dab
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractFalse.kt.after
@@ -0,0 +1,6 @@
+fun foo(param: Int, b: () -> Boolean = { false }): String {
+ val x = "xy${b()}z"
+ val y = "xyFalsez"
+ val z = false
+ return "ab${b()}def"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractIntegerLiteral.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractIntegerLiteral.kt
new file mode 100644
index 00000000000..826c73d618f
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractIntegerLiteral.kt
@@ -0,0 +1,7 @@
+fun foo(param: Int): String {
+ val x = "a1234_"
+ val y = "-4123a"
+ val z = "+1243a"
+ val u = 123
+ return "ab123def"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractIntegerLiteral.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractIntegerLiteral.kt.after
new file mode 100644
index 00000000000..6460c3d9959
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractIntegerLiteral.kt.after
@@ -0,0 +1,7 @@
+fun foo(param: Int, i: () -> Int = { 123 }): String {
+ val x = "a${i()}4_"
+ val y = "-4${i()}a"
+ val z = "+1243a"
+ val u = 123
+ return "ab${i()}def"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractTrue.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractTrue.kt
new file mode 100644
index 00000000000..7d6dde97219
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractTrue.kt
@@ -0,0 +1,6 @@
+fun foo(param: Int): String {
+ val x = "atrue123"
+ val x = "aTRUE123"
+ val z = true
+ return "abtruedef"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractTrue.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractTrue.kt.after
new file mode 100644
index 00000000000..aec69058d2a
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractTrue.kt.after
@@ -0,0 +1,6 @@
+fun foo(param: Int, b: () -> Boolean = { true }): String {
+ val x = "a${b()}123"
+ val x = "aTRUE123"
+ val z = true
+ return "ab${b()}def"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullContent.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullContent.kt
new file mode 100644
index 00000000000..8b10cb97d4c
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullContent.kt
@@ -0,0 +1,6 @@
+fun foo(a: Int): String {
+ val x = "abc$a"
+ val y = "abc${a}"
+ val z = "abc{$a}def"
+ return "abc$a" + "def"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullContent.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullContent.kt.after
new file mode 100644
index 00000000000..e525dcd4ec0
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullContent.kt.after
@@ -0,0 +1,6 @@
+fun foo(a: Int, s: (Int) -> String = { a -> "abc$a" }): String {
+ val x = s(a)
+ val y = s(a)
+ val z = "abc{$a}def"
+ return s(a) + "def"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithBlockExpr.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithBlockExpr.kt
new file mode 100644
index 00000000000..2a19834a5bc
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithBlockExpr.kt
@@ -0,0 +1,6 @@
+fun foo(a: Int): String {
+ val x = "-${a + 1}"
+ val y = "x${a + 1}y"
+ val z = "x${a - 1}y"
+ return "abc${a + 1}def"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithBlockExpr.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithBlockExpr.kt.after
new file mode 100644
index 00000000000..2d3bd605044
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithBlockExpr.kt.after
@@ -0,0 +1,6 @@
+fun foo(a: Int, i: (Int) -> Int = { a -> a + 1 }): String {
+ val x = "-${i(a)}"
+ val y = "x${i(a)}y"
+ val z = "x${a - 1}y"
+ return "abc${i(a)}def"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithSimpleName.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithSimpleName.kt
new file mode 100644
index 00000000000..b3e5ea58080
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithSimpleName.kt
@@ -0,0 +1,6 @@
+fun foo(a: Int): String {
+ val x = "-$a"
+ val y = "x${a}y"
+ val z = "x$ay"
+ return "abc${a}def"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithSimpleName.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithSimpleName.kt.after
new file mode 100644
index 00000000000..e8ff6060072
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithSimpleName.kt.after
@@ -0,0 +1,6 @@
+fun foo(a: Int, i: (Int) -> Int = { a -> a }): String {
+ val x = "-${i(a)}"
+ val y = "x${i(a)}y"
+ val z = "x$ay"
+ return "abc${i(a)}def"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithPrefix.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithPrefix.kt
new file mode 100644
index 00000000000..e059fcf9732
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithPrefix.kt
@@ -0,0 +1,5 @@
+fun foo(a: Int): String {
+ val x = "+cd$a:${a + 1}efg"
+ val y = "+cd$a${a + 1}efg"
+ return "abcd$a:${a + 1}ef"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithPrefix.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithPrefix.kt.after
new file mode 100644
index 00000000000..0d792ce5701
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithPrefix.kt.after
@@ -0,0 +1,5 @@
+fun foo(a: Int, s: (Int) -> String = { a -> "cd$a:${a + 1}ef" }): String {
+ val x = "+${s(a)}g"
+ val y = "+cd$a${a + 1}efg"
+ return "ab${s(a)}"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSubstring.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSubstring.kt
new file mode 100644
index 00000000000..e81ce108d0d
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSubstring.kt
@@ -0,0 +1,5 @@
+fun foo(a: Int): String {
+ val x = "_c$a:${a + 1}d_"
+ val y = "_$a:${a + 1}d_"
+ return "abc$a:${a + 1}def"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSubstring.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSubstring.kt.after
new file mode 100644
index 00000000000..b592fe873c6
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSubstring.kt.after
@@ -0,0 +1,5 @@
+fun foo(a: Int, s: (Int) -> String = { a -> "c$a:${a + 1}d" }): String {
+ val x = "_${s(a)}_"
+ val y = "_$a:${a + 1}d_"
+ return "ab${s(a)}ef"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSuffix.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSuffix.kt
new file mode 100644
index 00000000000..f77d65ff3a2
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSuffix.kt
@@ -0,0 +1,5 @@
+fun foo(a: Int): String {
+ val x = "_ab$a:${a + 1}cd__"
+ val y = "_a$a:${a + 1}cd__"
+ return "ab$a:${a + 1}cdef"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSuffix.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSuffix.kt.after
new file mode 100644
index 00000000000..bab31c51fec
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSuffix.kt.after
@@ -0,0 +1,5 @@
+fun foo(a: Int, s: (Int) -> String = { a -> "ab$a:${a + 1}cd" }): String {
+ val x = "_${s(a)}__"
+ val y = "_a$a:${a + 1}cd__"
+ return "${s(a)}ef"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/rawTemplateWithSubstring.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/rawTemplateWithSubstring.kt
new file mode 100644
index 00000000000..d4f1d34ed57
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/rawTemplateWithSubstring.kt
@@ -0,0 +1,9 @@
+fun foo(a: Int): String {
+ val x = """_c$a
+ :${a + 1}d_"""
+ val y = "_$a:${a + 1}d_"
+ val z = """_c$a:${a + 1}d_"""
+ val u = "_c$a\n:${a + 1}d_"
+ return """abc$a
+ :${a + 1}def"""
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/rawTemplateWithSubstring.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/rawTemplateWithSubstring.kt.after
new file mode 100644
index 00000000000..94a910e4aa9
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/rawTemplateWithSubstring.kt.after
@@ -0,0 +1,10 @@
+fun foo(a: Int, s: (Int) -> String = { a ->
+ """c$a
+ :${a + 1}d"""
+}): String {
+ val x = """_${s(a)}_"""
+ val y = "_$a:${a + 1}d_"
+ val z = """_c$a:${a + 1}d_"""
+ val u = "_c$a\n:${a + 1}d_"
+ return """ab${s(a)}ef"""
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntryPrefix.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntryPrefix.kt
new file mode 100644
index 00000000000..9dc8211a168
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntryPrefix.kt
@@ -0,0 +1,6 @@
+fun foo(a: Int): String {
+ val x = "xabc$a"
+ val y = "${a}abcx"
+ val z = "xacb$a"
+ return "abcdef"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntryPrefix.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntryPrefix.kt.after
new file mode 100644
index 00000000000..d316ac5818e
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntryPrefix.kt.after
@@ -0,0 +1,6 @@
+fun foo(a: Int, s: () -> String = { "abc" }): String {
+ val x = "x${s()}$a"
+ val y = "${a}${s()}x"
+ val z = "xacb$a"
+ return "${s()}def"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySubstring.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySubstring.kt
new file mode 100644
index 00000000000..091f98c39f1
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySubstring.kt
@@ -0,0 +1,6 @@
+fun foo(a: Int): String {
+ val x = "xcd$a"
+ val y = "${a}cdx"
+ val z = "xcf$a"
+ return "abcdef"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySubstring.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySubstring.kt.after
new file mode 100644
index 00000000000..550f95a91c4
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySubstring.kt.after
@@ -0,0 +1,6 @@
+fun foo(a: Int, s: () -> String = { "cd" }): String {
+ val x = "x${s()}$a"
+ val y = "${a}${s()}x"
+ val z = "xcf$a"
+ return "ab${s()}ef"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySuffix.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySuffix.kt
new file mode 100644
index 00000000000..53d3c4eff51
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySuffix.kt
@@ -0,0 +1,6 @@
+fun foo(a: Int): String {
+ val x = "xdef$a"
+ val y = "${a}defx"
+ val z = "xddf$a"
+ return "abcdef"
+}
\ No newline at end of file
diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySuffix.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySuffix.kt.after
new file mode 100644
index 00000000000..98e63fc5c25
--- /dev/null
+++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySuffix.kt.after
@@ -0,0 +1,6 @@
+fun foo(a: Int, s: () -> String = { "def" }): String {
+ val x = "x${s()}$a"
+ val y = "${a}${s()}x"
+ val z = "xddf$a"
+ return "abc${s()}"
+}
\ No newline at end of file
diff --git a/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/ExtractionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/ExtractionTestGenerated.java
index 9da7cb86b74..98450553af3 100644
--- a/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/ExtractionTestGenerated.java
+++ b/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/ExtractionTestGenerated.java
@@ -3462,6 +3462,111 @@ public class ExtractionTestGenerated extends AbstractExtractionTest {
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/lambdaParamWithDefaultValue.kt");
doIntroduceLambdaParameterTest(fileName);
}
+
+ @TestMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates")
+ @TestDataPath("$PROJECT_ROOT")
+ @RunWith(JUnit3RunnerWithInners.class)
+ public static class StringTemplates extends AbstractExtractionTest {
+ public void testAllFilesPresentInStringTemplates() throws Exception {
+ KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/refactoring/introduceLambdaParameter/stringTemplates"), Pattern.compile("^(.+)\\.kt$"), true);
+ }
+
+ @TestMetadata("brokenEntryWithBlockExpr.kt")
+ public void testBrokenEntryWithBlockExpr() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithBlockExpr.kt");
+ doIntroduceLambdaParameterTest(fileName);
+ }
+
+ @TestMetadata("brokenEntryWithExpr.kt")
+ public void testBrokenEntryWithExpr() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithExpr.kt");
+ doIntroduceLambdaParameterTest(fileName);
+ }
+
+ @TestMetadata("brokenEscapeEntry.kt")
+ public void testBrokenEscapeEntry() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEscapeEntry.kt");
+ doIntroduceLambdaParameterTest(fileName);
+ }
+
+ @TestMetadata("extractFalse.kt")
+ public void testExtractFalse() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractFalse.kt");
+ doIntroduceLambdaParameterTest(fileName);
+ }
+
+ @TestMetadata("extractIntegerLiteral.kt")
+ public void testExtractIntegerLiteral() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractIntegerLiteral.kt");
+ doIntroduceLambdaParameterTest(fileName);
+ }
+
+ @TestMetadata("extractTrue.kt")
+ public void testExtractTrue() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractTrue.kt");
+ doIntroduceLambdaParameterTest(fileName);
+ }
+
+ @TestMetadata("fullContent.kt")
+ public void testFullContent() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullContent.kt");
+ doIntroduceLambdaParameterTest(fileName);
+ }
+
+ @TestMetadata("fullEntryWithBlockExpr.kt")
+ public void testFullEntryWithBlockExpr() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithBlockExpr.kt");
+ doIntroduceLambdaParameterTest(fileName);
+ }
+
+ @TestMetadata("fullEntryWithSimpleName.kt")
+ public void testFullEntryWithSimpleName() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithSimpleName.kt");
+ doIntroduceLambdaParameterTest(fileName);
+ }
+
+ @TestMetadata("multipleEntriesWithPrefix.kt")
+ public void testMultipleEntriesWithPrefix() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithPrefix.kt");
+ doIntroduceLambdaParameterTest(fileName);
+ }
+
+ @TestMetadata("multipleEntriesWithSubstring.kt")
+ public void testMultipleEntriesWithSubstring() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSubstring.kt");
+ doIntroduceLambdaParameterTest(fileName);
+ }
+
+ @TestMetadata("multipleEntriesWithSuffix.kt")
+ public void testMultipleEntriesWithSuffix() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSuffix.kt");
+ doIntroduceLambdaParameterTest(fileName);
+ }
+
+ @TestMetadata("rawTemplateWithSubstring.kt")
+ public void testRawTemplateWithSubstring() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/rawTemplateWithSubstring.kt");
+ doIntroduceLambdaParameterTest(fileName);
+ }
+
+ @TestMetadata("singleEntryPrefix.kt")
+ public void testSingleEntryPrefix() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntryPrefix.kt");
+ doIntroduceLambdaParameterTest(fileName);
+ }
+
+ @TestMetadata("singleEntrySubstring.kt")
+ public void testSingleEntrySubstring() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySubstring.kt");
+ doIntroduceLambdaParameterTest(fileName);
+ }
+
+ @TestMetadata("singleEntrySuffix.kt")
+ public void testSingleEntrySuffix() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySuffix.kt");
+ doIntroduceLambdaParameterTest(fileName);
+ }
+ }
}
@TestMetadata("idea/testData/refactoring/introduceJavaParameter")