JVM_IR: Generate inner classes for continuations

Also, generate correct visibilities for constructors and continuation's fields.
This commit is contained in:
Ilmir Usmanov
2020-02-27 16:57:48 +01:00
parent 536e0e23a0
commit 42420cb6fc
23 changed files with 216 additions and 320 deletions
@@ -18,10 +18,11 @@ abstract class AbstractBytecodeListingTest : CodegenTestCase() {
compile(files)
val actualTxt = BytecodeListingTextCollectingVisitor.getText(classFileFactory, withSignatures = isWithSignatures(wholeFile))
val prefixes =
if (coroutinesPackage == DescriptorUtils.COROUTINES_PACKAGE_FQ_NAME_RELEASE.asString()) {
listOf("_1_3", "")
} else listOf("")
val prefixes = when {
backend.isIR -> listOf("_ir", "_1_3", "")
coroutinesPackage == DescriptorUtils.COROUTINES_PACKAGE_FQ_NAME_RELEASE.asString() -> listOf("_1_3", "")
else -> listOf("")
}
val txtFile =
prefixes.firstNotNullResult { File(wholeFile.parentFile, wholeFile.nameWithoutExtension + "$it.txt").takeIf(File::exists) }