KT-11295 AssertionError in ConvertToStringTemplateIntention.fold

#KT-11295 Fixed
This commit is contained in:
Valentin Kipyatkov
2016-03-23 17:33:08 +03:00
parent c1499e7cb6
commit 7f2ccb5613
4 changed files with 18 additions and 1 deletions
@@ -99,7 +99,8 @@ class ConvertToStringTemplateIntention : SelfTargetingOffsetIndependentIntention
val type = bindingContext.getType(expression)!!
if (KotlinBuiltIns.isChar(type)) {
return expressionText.removePrefix("'").removeSuffix("'")
val value = expressionText.removePrefix("'").removeSuffix("'")
return if (value == "\"") "\\\"" else value
}
val constant = ConstantExpressionEvaluator.getConstant(expression, bindingContext)
@@ -0,0 +1,5 @@
val TABLE_PREFIX = ""
fun test(): String {
return <caret>TABLE_PREFIX + '"'
}
@@ -0,0 +1,5 @@
val TABLE_PREFIX = ""
fun test(): String {
return <caret>"$TABLE_PREFIX\""
}
@@ -4735,6 +4735,12 @@ public class IntentionTestGenerated extends AbstractIntentionTest {
doTest(fileName);
}
@TestMetadata("kt11295.kt")
public void testKt11295() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/convertToStringTemplate/kt11295.kt");
doTest(fileName);
}
@TestMetadata("multilineString.kt")
public void testMultilineString() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/convertToStringTemplate/multilineString.kt");