JVM_IR: refactor MoveCompanionObjectFieldsLowering

* Extract replacement of IrGetField/IrSetField into a separate
   file-level lowering (should reduce the amount of work to linear in
   the number of classes rather than potentially quadratic)

 * Extract static backing field construction into JvmDeclarationFactory
   and move that lowering after PropertiesToFields lowering to reduce
   code duplication
This commit is contained in:
pyos
2019-11-19 11:52:38 +01:00
committed by Alexander Udalov
parent afd59f0d46
commit d221c1f242
13 changed files with 181 additions and 171 deletions
@@ -15058,6 +15058,16 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/jvmField/constructorProperty.kt");
}
@TestMetadata("fileOrder.kt")
public void testFileOrder() throws Exception {
runTest("compiler/testData/codegen/box/jvmField/fileOrder.kt");
}
@TestMetadata("fileOrderWithCopying.kt")
public void testFileOrderWithCopying() throws Exception {
runTest("compiler/testData/codegen/box/jvmField/fileOrderWithCopying.kt");
}
@TestMetadata("initializersOrder.kt")
public void testInitializersOrder() throws Exception {
runTest("compiler/testData/codegen/box/jvmField/initializersOrder.kt");