Complex augmented assignment test.
Fix string literal creation for empty string template.
This commit is contained in:
committed by
Dmitry Petrov
parent
64d7a97145
commit
c1583c4368
+9
-5
@@ -145,15 +145,19 @@ class IrStatementGenerator(
|
||||
}
|
||||
|
||||
override fun visitStringTemplateExpression(expression: KtStringTemplateExpression, data: Nothing?): IrStatement {
|
||||
if (expression.entries.size == 1) {
|
||||
val entry0 = expression.entries[0]
|
||||
if (entry0 is KtLiteralStringTemplateEntry) {
|
||||
return entry0.genExpr()
|
||||
val entries = expression.entries
|
||||
when {
|
||||
entries.size == 1 -> {
|
||||
val entry0 = entries[0]
|
||||
if (entry0 is KtLiteralStringTemplateEntry) {
|
||||
return entry0.genExpr()
|
||||
}
|
||||
}
|
||||
entries.size == 0 -> return IrLiteralExpressionImpl.string(expression.startOffset, expression.endOffset, getInferredTypeWithSmarcastsOrFail(expression), "")
|
||||
}
|
||||
|
||||
val irStringTemplate = IrStringConcatenationExpressionImpl(expression.startOffset, expression.endOffset, getInferredTypeWithSmartcasts(expression))
|
||||
expression.entries.forEach { it.expression!!.let {
|
||||
entries.forEach { it.expression!!.let {
|
||||
irStringTemplate.addArgument(TODO())
|
||||
} }
|
||||
return irStringTemplate
|
||||
|
||||
@@ -91,7 +91,8 @@ abstract class AbstractIrTextTestCase : AbstractIrGeneratorTestCase() {
|
||||
}
|
||||
|
||||
if (treeFiles.isEmpty()) {
|
||||
treeFiles.add(IrTreeFileLabel(File(dir, testFile.name.replace(".kt", ".txt")), 0))
|
||||
val file = createExpectedTextFile(testFile, dir, testFile.name.replace(".kt", ".txt"))
|
||||
treeFiles.add(IrTreeFileLabel(file, 0))
|
||||
}
|
||||
|
||||
return Expectations(regexps, treeFiles)
|
||||
|
||||
Reference in New Issue
Block a user