From cddabf140bd2c6b190d73574b4160115a5385c3d Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Tue, 6 Aug 2019 06:34:34 +0200 Subject: [PATCH] Implement proper expression generation for the last script line fixes problem with result fields #KT-33127 fixed --- .../jetbrains/kotlin/codegen/MemberCodegen.java | 10 ++++++++-- .../script/experimental/jvmhost/test/ReplTest.kt | 14 ++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/MemberCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/MemberCodegen.java index 2703ca7577d..58d8cdb73ac 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/MemberCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/MemberCodegen.java @@ -484,7 +484,9 @@ public abstract class MemberCodegen createCodegen) { NotNullLazyValue codegen = LockBasedStorageManager.NO_LOCKS.createLazyValue(createCodegen); - for (KtDeclaration declaration : ((KtDeclarationContainer) element).getDeclarations()) { + List declarations = ((KtDeclarationContainer) element).getDeclarations(); + for (int i = 0; i < declarations.size(); i++) { + KtDeclaration declaration = declarations.get(i); if (declaration instanceof KtProperty) { if (shouldInitializeProperty((KtProperty) declaration)) { generateNopSeparatorIfNeeded(codegen); @@ -501,7 +503,11 @@ public abstract class MemberCodegen