diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
index 7617b06..788a9c4 100644
--- a/.idea/kotlinc.xml
+++ b/.idea/kotlinc.xml
@@ -9,6 +9,6 @@
     <option name="additionalArguments" value="-version -Xallow-kotlin-package -Xskip-metadata-version-check" />
   </component>
   <component name="KotlinJpsPluginSettings">
-    <option name="version" value="1.7.20-dev-2726" />
+    <option name="version" value="1.7.21" />
   </component>
 </project>
\ No newline at end of file
diff --git a/ChangeLog.md b/ChangeLog.md
index 102f6d4..ac218c8 100644
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,15 +1,162 @@
-## 1.7.20
+## 1.7.21
 
 ### Compiler
 
+- [`KT-54463`](https://youtrack.jetbrains.com/issue/KT-54463) Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegate
+- [`KT-54509`](https://youtrack.jetbrains.com/issue/KT-54509) Ir Interpreter: unable to evaluate string concatenation with "this" as argument
+- [`KT-54004`](https://youtrack.jetbrains.com/issue/KT-54004) Builder type inference does not work correctly with variable assignment and breaks run-time
+- [`KT-54393`](https://youtrack.jetbrains.com/issue/KT-54393) Change in behavior from 1.7.10 to 1.7.20 for java field override.
+- [`KT-54615`](https://youtrack.jetbrains.com/issue/KT-54615) JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression
+- [`KT-54581`](https://youtrack.jetbrains.com/issue/KT-54581) JVM: "VerifyError: Bad type on operand stack" with generic inline function and `when` inside try-catch block
+- [`KT-53146`](https://youtrack.jetbrains.com/issue/KT-53146) JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime
+- [`KT-54600`](https://youtrack.jetbrains.com/issue/KT-54600) NPE on passing nullable Kotlin lambda as Java's generic SAM interface with `super` type bound
+- [`KT-54707`](https://youtrack.jetbrains.com/issue/KT-54707) "VerifyError: Bad type on operand stack" in inline call chain on a nullable array value
+- [`KT-54650`](https://youtrack.jetbrains.com/issue/KT-54650) Binary incompatible ABI change in Kotlin 1.7.20
+
+
+### Native. Runtime. Memory
+
+- [`KT-54498`](https://youtrack.jetbrains.com/issue/KT-54498) Deprecation message of 'FreezingIsDeprecated' is not really helpful
+
+### Tools. Gradle. Multiplatform
+
+- [`KT-54387`](https://youtrack.jetbrains.com/issue/KT-54387) Remove MPP alpha stability warning
+- [`KT-48436`](https://youtrack.jetbrains.com/issue/KT-48436) False positive "The Kotlin source set androidAndroidTestRelease was configured but not added to any Kotlin compilation"
+
+### Tools. JPS
+
+- [`KT-45474`](https://youtrack.jetbrains.com/issue/KT-45474) False positive NO_ELSE_IN_WHEN on sealed class with incremental compilation
+
+
+## 1.7.20
+
+### Analysis API
+
+- [`KT-52667`](https://youtrack.jetbrains.com/issue/KT-52667) FIR IDE: fun interfaces (SAM interfaces) are not properly resolved
+- [`KT-52136`](https://youtrack.jetbrains.com/issue/KT-52136) FIR: Implicit type declaration from the other module cannot be used for overloading
+
+### Analysis API. FE1.0
+
+- [`KT-51962`](https://youtrack.jetbrains.com/issue/KT-51962) Analysis API: Finish Analysis API for FE1.0
+
+### Analysis API. FIR
+
+- [`KT-52779`](https://youtrack.jetbrains.com/issue/KT-52779) FIR IDE: Import Optimizer cannot handle generic type qualifiers
+- [`KT-50236`](https://youtrack.jetbrains.com/issue/KT-50236) Fix OOB modification trackers for non-Kotlin code
+- [`KT-51240`](https://youtrack.jetbrains.com/issue/KT-51240) Analysis API: KtAnalysisSession for a specific module cannot create a symbol for PSI that cannot be seen from that module.
+- [`KT-50868`](https://youtrack.jetbrains.com/issue/KT-50868) Analysis API: decompiled type aliases are not resolved
+
+### Compiler
+
+- [`KT-53739`](https://youtrack.jetbrains.com/issue/KT-53739) Builder inference, extension hides members
+- [`KT-53733`](https://youtrack.jetbrains.com/issue/KT-53733) Kotlin/Native: update source documentation for the new default memory manager
+- [`KT-53667`](https://youtrack.jetbrains.com/issue/KT-53667) Compiler crashes on attempt to alloc a string on the stack in new MM
+- [`KT-53480`](https://youtrack.jetbrains.com/issue/KT-53480) Internal error in file lowering: java.lang.ClassNotFoundException: com.android.systemui.R$string
+- [`KT-52843`](https://youtrack.jetbrains.com/issue/KT-52843) Compose: NPE at Parameters.getParameterByDeclarationSlot if inline function with default arguments takes a lambda which captures value class represented by Long
+- [`KT-53475`](https://youtrack.jetbrains.com/issue/KT-53475) Kotlin/Native for iOS: "IllegalArgumentException: Sequence has more than one element"
+
 #### New Features
 
 - [`KT-52495`](https://youtrack.jetbrains.com/issue/KT-52495) Support until operator in back-ends
 - [`KT-52420`](https://youtrack.jetbrains.com/issue/KT-52420) Implement resolve of until operator
 - [`KT-52419`](https://youtrack.jetbrains.com/issue/KT-52419) Implement until operator in the parser
+- [`KT-33755`](https://youtrack.jetbrains.com/issue/KT-33755) Kotlin/Native: Provide a way to customize a bundle Identifier of a generated framework
+- [`KT-51665`](https://youtrack.jetbrains.com/issue/KT-51665) FIR: implement label resolve for "typed this" case
+- [`KT-52361`](https://youtrack.jetbrains.com/issue/KT-52361) Report warning on potentially empty intersection types
+
+#### Performance Improvements
+
+- [`KT-47816`](https://youtrack.jetbrains.com/issue/KT-47816) Disable script discovery for non-script environments
+- [`KT-48635`](https://youtrack.jetbrains.com/issue/KT-48635) JVM IR: Double/Float values are boxed when comparing for equality in equals method of data/value classes
+- [`KT-23397`](https://youtrack.jetbrains.com/issue/KT-23397) Optimize out field for property delegate when it's safe (JVM)
 
 #### Fixes
-
+- [`KT-53272`](https://youtrack.jetbrains.com/issue/KT-53272) Backend Internal error: Exception during IR lowering / No such value argument slot: 2
+- [`KT-53124`](https://youtrack.jetbrains.com/issue/KT-53124) Receiver type mismatch when combining extension properties, type projections, Java sources, and F-bounded type-variables
+- [`KT-51868`](https://youtrack.jetbrains.com/issue/KT-51868) JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
+- [`KT-36770`](https://youtrack.jetbrains.com/issue/KT-36770) Prohibit unsafe calls with expected `@NotNull` T and given Kotlin generic parameter with nullable bound
+- [`KT-52974`](https://youtrack.jetbrains.com/issue/KT-52974) "IllegalStateException: Symbol with IrSimpleFunctionSymbolImpl is unbound" compiling native targets of MPP project
+- [`KT-53007`](https://youtrack.jetbrains.com/issue/KT-53007) JVM: "Bad invokespecial instruction: current class isn't assignable to reference class" when call superclass of outer class method from inner class
+- [`KT-53019`](https://youtrack.jetbrains.com/issue/KT-53019) K2: cannot cast callable reference to Function1 in runtime
+- [`KT-53031`](https://youtrack.jetbrains.com/issue/KT-53031) K2 compiler crashes with IllegalStateException: No type in ProtoBuf.ValueParameter
+- [`KT-29168`](https://youtrack.jetbrains.com/issue/KT-29168) Prohibit upper bounds violation with generic typealias using not all type parameters as arguments for underlying type in supertypes
+- [`KT-52432`](https://youtrack.jetbrains.com/issue/KT-52432) Using the IDE compiled with K2 (useFir) throws VerifyError exception
+- [`KT-52327`](https://youtrack.jetbrains.com/issue/KT-52327) False negative: TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM isn't reported
+- [`KT-49682`](https://youtrack.jetbrains.com/issue/KT-49682) Support JVM IR in KAPT stub generation
+- [`KT-24643`](https://youtrack.jetbrains.com/issue/KT-24643) Prohibit using a type parameter declared for an extension property inside delegate
+- [`KT-51972`](https://youtrack.jetbrains.com/issue/KT-51972) FIR, Gradle: "Symbol is invisible" compilation error with enabled Kotlin Lombok compiler plugin
+- [`KT-52011`](https://youtrack.jetbrains.com/issue/KT-52011) [FIR] All-open compiler plugin isn't supported
+- [`KT-51950`](https://youtrack.jetbrains.com/issue/KT-51950) JVM IR: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" with crossinline lambdas and interface delegation
+- [`KT-52540`](https://youtrack.jetbrains.com/issue/KT-52540) Native: kotlin.NotImplementedError with Arrow library
+- [`KT-48031`](https://youtrack.jetbrains.com/issue/KT-48031) "IllegalStateException: Type variable TypeVariable(T) should not be fixed!"
+- [`KT-47708`](https://youtrack.jetbrains.com/issue/KT-47708) RequiresOptIn check does not flag experimental method usage in SAM lambda expressions
+- [`KT-52913`](https://youtrack.jetbrains.com/issue/KT-52913) JVM / IR: "IllegalArgumentException: Inline class types should have the same representation" when trying to down cast cast a value class
+- [`KT-50771`](https://youtrack.jetbrains.com/issue/KT-50771) IR partial linkage: Removed abstract callable members are not supported
+- [`KT-52994`](https://youtrack.jetbrains.com/issue/KT-52994) Enable generic inline classes as experimental feature
+- [`KT-52742`](https://youtrack.jetbrains.com/issue/KT-52742) CYCLE_IN_ANNOTATION_PARAMETER_ERROR false positive on annotations with default values
+- [`KT-52743`](https://youtrack.jetbrains.com/issue/KT-52743) Non-null generic functions throws NPE when assigned to val
+- [`KT-52745`](https://youtrack.jetbrains.com/issue/KT-52745) Frontend  / K2: "IncompatibleClassChangeError: class A$B overrides final method A.length()I" caused by delegation in a sealed class
+- [`KT-52832`](https://youtrack.jetbrains.com/issue/KT-52832) Tree-generator's method FirExpression::isFirType returns true and false for different field names; it should always be true
+- [`KT-52403`](https://youtrack.jetbrains.com/issue/KT-52403) IncompatibleClassChangeError when inlining suspend funs
+- [`KT-50107`](https://youtrack.jetbrains.com/issue/KT-50107) Missed USAGE_IS_NOT_INLINABLE diagnostic: Leaking inline lambda parameter through extension receiver
+- [`KT-47965`](https://youtrack.jetbrains.com/issue/KT-47965) Missed USAGE_IS_NOT_INLINABLE diagnostic on inline lambda parameter usage as receiver of .let call
+- [`KT-25787`](https://youtrack.jetbrains.com/issue/KT-25787) No error on crossinline usage of receiver parameter of functional type in an inline function
+- [`KT-52762`](https://youtrack.jetbrains.com/issue/KT-52762) Frontend / K2: Named arguments for Java classes lead to "Cannot find a parameter with this name"
+- [`KT-52680`](https://youtrack.jetbrains.com/issue/KT-52680) K2: overload resolution ambiguity if `this` is casted in a different method
+- [`KT-52676`](https://youtrack.jetbrains.com/issue/KT-52676) K2: Unsupported compile-time value IrGetFieldImpl instead of IrConst in AnnotationCodegen for constant from Java
+- [`KT-50293`](https://youtrack.jetbrains.com/issue/KT-50293) False positive: USELESS_CAST on stub types
+- [`KT-52175`](https://youtrack.jetbrains.com/issue/KT-52175) WRONG_ANNOTATION_TARGET for annotation that used inside if
+- [`KT-52338`](https://youtrack.jetbrains.com/issue/KT-52338) "IncompatibleClassChangeError: Expected non-static field" with Kotlin class with same-named companion object property as base Java class field
+- [`KT-49507`](https://youtrack.jetbrains.com/issue/KT-49507) JVM: "IllegalAccessError: class X tried to access private field" with same-named Kotlin property and Java base class field
+- [`KT-44512`](https://youtrack.jetbrains.com/issue/KT-44512) FIR DFA: incorrect smartcast after null assignment inside a lambda
+- [`KT-49200`](https://youtrack.jetbrains.com/issue/KT-49200) FIR/FE 1.0: different behavior with multiple matching star imports
+- [`KT-52718`](https://youtrack.jetbrains.com/issue/KT-52718) declaringClass deprecation message mentions the wrong replacement in 1.7
+- [`KT-52190`](https://youtrack.jetbrains.com/issue/KT-52190) FIR2IR: Unexpected IrErrorTypeImpl type for put method inside buildMap
+- [`KT-52197`](https://youtrack.jetbrains.com/issue/KT-52197) Incorrect inference of var type inside lambda that passed to extension function with type parameters that defined inside this lambda
+- [`KT-52057`](https://youtrack.jetbrains.com/issue/KT-52057) Unsupported compile-time value STRING_CONCATENATION and GET_FIELD in annotation arguments
+- [`KT-47823`](https://youtrack.jetbrains.com/issue/KT-47823) JVM IR: "IllegalArgumentException: Inline class types should have the same representation" with `break` usage in the loop range
+- [`KT-51883`](https://youtrack.jetbrains.com/issue/KT-51883) Kotlin 1.6.20 generates "-" in type names around lambdas and inline extension function with reified type which breaks Apache Beam
+- [`KT-52684`](https://youtrack.jetbrains.com/issue/KT-52684) Syntax error regression on complicated combination of LT and GTEQ
+- [`KT-52417`](https://youtrack.jetbrains.com/issue/KT-52417) Reflection: Can't reflect on type parameters captured by SAM converted lambda
+- [`KT-46797`](https://youtrack.jetbrains.com/issue/KT-46797) JVM IR: suspendImpl has no generic signature, breaking reified types in anonymous object supertypes when using the type token pattern
+- [`KT-51464`](https://youtrack.jetbrains.com/issue/KT-51464) FIR: Unable to infer type in coroutines flow code
+- [`KT-52163`](https://youtrack.jetbrains.com/issue/KT-52163) JVM IR: Double.compareTo(Int) compiled to integer comparison
+- [`KT-41980`](https://youtrack.jetbrains.com/issue/KT-41980) FIR: erroneous scope during annotation resolve
+- [`KT-47159`](https://youtrack.jetbrains.com/issue/KT-47159) `KtPsiUtils.areParenthesesUseless()` is returning a false positive on expressions for interface delegation
+- [`KT-51418`](https://youtrack.jetbrains.com/issue/KT-51418) Substitute anonymous type's supertypes
+- [`KT-35544`](https://youtrack.jetbrains.com/issue/KT-35544) kotlin.TypeCastException has no message on Native
+- [`KT-52386`](https://youtrack.jetbrains.com/issue/KT-52386) StackOverflowError during Kotlin/Native gradle build
+- [`KT-52592`](https://youtrack.jetbrains.com/issue/KT-52592) NPE from KProperty.getExtensionDelegate on property delegated to another property
+- [`KT-52551`](https://youtrack.jetbrains.com/issue/KT-52551) Delegating to object property reference does not invoke object's initializer
+- [`KT-51704`](https://youtrack.jetbrains.com/issue/KT-51704) Contracts: "AssertionError: Arguments and parameters size mismatch" with companion object
+- [`KT-25527`](https://youtrack.jetbrains.com/issue/KT-25527) False positive UNUSED_VALUE for delegated property/variable
+- [`KT-51002`](https://youtrack.jetbrains.com/issue/KT-51002) [FIR] Hidden declaration hides visible one
+- [`KT-51008`](https://youtrack.jetbrains.com/issue/KT-51008) [FIR] Star import does not work for nested calssifiers of java class
+- [`KT-52407`](https://youtrack.jetbrains.com/issue/KT-52407) FIR: Star import has lower priority than built-in import
+- [`KT-52431`](https://youtrack.jetbrains.com/issue/KT-52431) Reported error instead of warning due to empty intersection type found
+- [`KT-49394`](https://youtrack.jetbrains.com/issue/KT-49394) Bad message and suggestion: The feature "unit conversion" is disabled
+- [`KT-51168`](https://youtrack.jetbrains.com/issue/KT-51168) FIR: Inference error with Java interop and captured types
+- [`KT-49961`](https://youtrack.jetbrains.com/issue/KT-49961) "AssertionError: Left expression was not processed: BINARY_EXPRESSION" when analyzing dangling [bracketed] expression inside elvis
+- [`KT-50108`](https://youtrack.jetbrains.com/issue/KT-50108) Difference in fun interface conversion behavior for uninitialized not-null function values
+- [`KT-51889`](https://youtrack.jetbrains.com/issue/KT-51889) Calls to super-classes constructors with context receivers fail on runtime
+- [`KT-51228`](https://youtrack.jetbrains.com/issue/KT-51228) [FIR] Unresolved reference on callable reference on implicit `this` with smartcast
+- [`KT-52364`](https://youtrack.jetbrains.com/issue/KT-52364) False positive for INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION
+- [`KT-52237`](https://youtrack.jetbrains.com/issue/KT-52237) JVM / IR: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER CONTINUATION_CLASS" when implementing Map interface on class with suspending functions
+- [`KT-50832`](https://youtrack.jetbrains.com/issue/KT-50832) Method references to suspend inline functions are processed incorrectly
+- [`KT-52194`](https://youtrack.jetbrains.com/issue/KT-52194) False positive "Class 'my.packge.MyClass' is compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" but builds fine
+- [`KT-47203`](https://youtrack.jetbrains.com/issue/KT-47203) JVM Debugger: Parameter value doesn't change for tailrec function
+- [`KT-52131`](https://youtrack.jetbrains.com/issue/KT-52131) False positive variable unused warning when calling inline function in finally block
+- [`KT-51738`](https://youtrack.jetbrains.com/issue/KT-51738) Debugger: stepping over in inline function with multiple inline lambda invocations is incorrect
+- [`KT-52198`](https://youtrack.jetbrains.com/issue/KT-52198) Losing reference to the value of an outer variable (Ref$ObjectRef) when using suspend inline with suspendCancellableCoroutine
+- [`KT-50994`](https://youtrack.jetbrains.com/issue/KT-50994) FIR: AssertionError during inference of delegated properties with implicit types
+- [`KT-51757`](https://youtrack.jetbrains.com/issue/KT-51757) FIR does not see various JS/Native specific declarations in common modules
+- [`KT-51201`](https://youtrack.jetbrains.com/issue/KT-51201) FIR: ARGUMENT_TYPE_MISMATCH diagnostic contains generic parameter instead of the actual type
+- [`KT-48444`](https://youtrack.jetbrains.com/issue/KT-48444) FIR: type argument rejected for annotation
+- [`KT-51754`](https://youtrack.jetbrains.com/issue/KT-51754) JVM: Local variable table invalid for do-while with continue
+- [`KT-51936`](https://youtrack.jetbrains.com/issue/KT-51936) Breakpoint not hit on last line of suspend function on Android
+- [`KT-27333`](https://youtrack.jetbrains.com/issue/KT-27333) Forbid `@Synchronized` annotation on suspend functions
+- [`KT-51530`](https://youtrack.jetbrains.com/issue/KT-51530) "StackOverflowError: CoroutineTransformerMethodVisitor.spillVariables" with data class in Flow
+- [`KT-51460`](https://youtrack.jetbrains.com/issue/KT-51460) FIR: Protected property inaccessible from inner class
 - [`KT-53947`](https://youtrack.jetbrains.com/issue/KT-53947) IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER
 - [`KT-51234`](https://youtrack.jetbrains.com/issue/KT-51234) Context receivers can be duplicated in function declaration
 - [`KT-51576`](https://youtrack.jetbrains.com/issue/KT-51576) Context receivers: "AssertionError: Callers must check that current token is IDENTIFIER followed with '@'" with `at` character
@@ -41,6 +188,15 @@
 - [`KTIJ-22209`](https://youtrack.jetbrains.com/issue/KTIJ-22209) Configure Kotlin on 221 idea adds 1.6.10 Kotlin (despite the fact that IDE plugin is 1.7.10)
 - [`KTIJ-22171`](https://youtrack.jetbrains.com/issue/KTIJ-22171) Fix test BuiltInDecompilerConsistencyTest
 - [`KTIJ-22016`](https://youtrack.jetbrains.com/issue/KTIJ-22016) Empty .kt file and build.gradle.kts can trigger an error while searching for a facade light class
+- [`KT-52571`](https://youtrack.jetbrains.com/issue/KT-52571) MPP Tasks on import are not up-to-date after subsequent launches
+- [`KT-47777`](https://youtrack.jetbrains.com/issue/KT-47777) ISE thrown from KtLightClassForFacadeImpl.Companion.createForFacadeNoCache has wrong message.
+
+### IDE. FIR
+
+- [`KT-52360`](https://youtrack.jetbrains.com/issue/KT-52360) FIR IDE: Make the fix of `isInheritor` method better
+- [`KT-51786`](https://youtrack.jetbrains.com/issue/KT-51786) FIR IDE: IllegalStateException exception in Inspections' infrastructure
+- [`KT-52331`](https://youtrack.jetbrains.com/issue/KT-52331) Analysis API: ArrayIndexOutOfBoundsException exception in Diagnostics' infrastructure
+
 
 ### IDE. Code Style, Formatting
 
@@ -56,6 +212,7 @@
 
 ### IDE. Gradle Integration
 
+- [`KT-47627`](https://youtrack.jetbrains.com/issue/KT-47627) IDE import fails with com.intellij.util.lang.PathClassLoader error for `runCommonizer` Gradle task on 212, 213 IDEAs
 - [`KTIJ-21638`](https://youtrack.jetbrains.com/issue/KTIJ-21638) MPP: IntelliJ can not resolve MPP references in common-code
 - [`KT-52216`](https://youtrack.jetbrains.com/issue/KT-52216) HMPP / KTOR: False positive "TYPE_MISMATCH" with Throwable descendant
 
@@ -76,45 +233,187 @@
 - [`KTIJ-21672`](https://youtrack.jetbrains.com/issue/KTIJ-21672) FIR IDE: Method reference on generic class breaks resolve
 - [`KTIJ-21714`](https://youtrack.jetbrains.com/issue/KTIJ-21714) FIR IDE: Inherently imported type from another module is not properly resolved
 
+### IDE. Script
+
+- [`KT-52525`](https://youtrack.jetbrains.com/issue/KT-52525) Update scripts handling in source roots
+
+
 ### IDE. Misc
 
 - [`KTIJ-21699`](https://youtrack.jetbrains.com/issue/KTIJ-21699) Refactoring: move out parts of the plugin useful for both FE10 and K2
 
+### JavaScript
+
+#### New Features
+
+- [`KT-39423`](https://youtrack.jetbrains.com/issue/KT-39423) KJS: Optionally generate a method to handle optional parameters for function in typescript
+- [`KT-42282`](https://youtrack.jetbrains.com/issue/KT-42282) KJS IR: add an ability to run separate tests
+
+#### Performance Improvements
+
+- [`KT-50270`](https://youtrack.jetbrains.com/issue/KT-50270) KJS IR: Unnecessary getter and setter calls when accessing class members
+
+#### Fixes
+
+- [`KT-51133`](https://youtrack.jetbrains.com/issue/KT-51133) Kotlin/JS - IR: even simple lambdas generate a lot of useless boilerplate
+- [`KT-51123`](https://youtrack.jetbrains.com/issue/KT-51123) Provide a way to add comments to generated JS
+- [`KT-48493`](https://youtrack.jetbrains.com/issue/KT-48493) KJS / IR: Invalid d.ts for inner classes inside objects
+- [`KT-52553`](https://youtrack.jetbrains.com/issue/KT-52553) KJS / IR: diamond hierarchy with super.toString produces stack overflow in runtime
+- [`KT-23252`](https://youtrack.jetbrains.com/issue/KT-23252) JS: Unit materialization on declaration and assignment
+- [`KT-51128`](https://youtrack.jetbrains.com/issue/KT-51128) Kotlin/JS - IR generate huge count of useless blocks
+- [`KT-50778`](https://youtrack.jetbrains.com/issue/KT-50778) KJS/IR: Inline class has no field when building production distribution
+- [`KT-50157`](https://youtrack.jetbrains.com/issue/KT-50157) KSJ IR: Applying identity equality operator to Chars always returns false
+- [`KT-38262`](https://youtrack.jetbrains.com/issue/KT-38262) Javascript generation (and Typescript) fails on 'then', 'catch' and 'finally' (and others?) claiming they are reserved names
+- [`KT-51066`](https://youtrack.jetbrains.com/issue/KT-51066) KJS / IR: suspend lambda parameter of value class is undefined
+- [`KT-51102`](https://youtrack.jetbrains.com/issue/KT-51102) KJS/IR: Assertion failed at translateCallArguments(jsAstUtils.kt:343)
+- [`KT-51878`](https://youtrack.jetbrains.com/issue/KT-51878) KJS / Legacy: Unit is not materialized in an overridden method, but it should be
+
 ### Language Design
 
+- [`KT-47986`](https://youtrack.jetbrains.com/issue/KT-47986) Implicit inferring a type variable into an upper bound in the builder inference context
+- [`KT-49264`](https://youtrack.jetbrains.com/issue/KT-49264) Deprecate infix function calls of functions named "suspend" with dangling function literal
 - [`KT-25636`](https://youtrack.jetbrains.com/issue/KT-25636) Native: Object is frozen by default problem
 - [`KT-49303`](https://youtrack.jetbrains.com/issue/KT-49303) Implement support for basic compile-time evaluation
 
 ### Libraries
 
+- [`KT-52932`](https://youtrack.jetbrains.com/issue/KT-52932) Open-ended ranges in the standard library
 - [`KT-52910`](https://youtrack.jetbrains.com/issue/KT-52910) Provide visit extension functions for java.nio.file.Path
-- [`KT-52909`](https://youtrack.jetbrains.com/issue/KT-52909) Implement a walk extension function for java.nio.file.Path
+- [`KT-48232`](https://youtrack.jetbrains.com/issue/KT-48232) Multiplatform function for computing cubic root
+- [`KT-52778`](https://youtrack.jetbrains.com/issue/KT-52778) The documentation for the `Duration` does not indicate any differences from the ISO-8601
+- [`KT-52618`](https://youtrack.jetbrains.com/issue/KT-52618) ThreadLocalRandom is not a good source of randomness on Android before SDK 34, so don't use it for Kotlin Random
+
+### Native
+
+- [`KT-53346`](https://youtrack.jetbrains.com/issue/KT-53346) MPP project with kotlinx-serialization-json:1.4.0-RC is not built
+
+
+### Native. C Export
+
+- [`KT-45468`](https://youtrack.jetbrains.com/issue/KT-45468) Kotlin/Native: Bitcode verification error when trying to export a cached klib to a static or dynamic library
+
+### Native. C and ObjC Import
+
+- [`KT-53373`](https://youtrack.jetbrains.com/issue/KT-53373) Native: @ExportObjCClass doesn't work with the new memory manager
+- [`KT-49034`](https://youtrack.jetbrains.com/issue/KT-49034) Kotlin/Native: `cnames.structs.Foo` resolves into wrong declaration
+- [`KT-26478`](https://youtrack.jetbrains.com/issue/KT-26478) Objective-C object's class name is null in ClassCastException's message
+
+### Native. ObjC Export
+
+- [`KT-51593`](https://youtrack.jetbrains.com/issue/KT-51593) Include more information in Objective-C header documentation
+- [`KT-33117`](https://youtrack.jetbrains.com/issue/KT-33117) Improve customizing Info.plist in produced frameworks
+- [`KT-52681`](https://youtrack.jetbrains.com/issue/KT-52681) Native: `@end;` for Objective-C is generated with an unnecessary semicolon
+
+### Native. Platforms
+
+- [`KT-52226`](https://youtrack.jetbrains.com/issue/KT-52226) Kotlin/Native: Add support for cross-compilation of MIPS targets from macOS and Windows hosts
+
+### Native. Runtime
+
+- [`KT-52430`](https://youtrack.jetbrains.com/issue/KT-52430) KMM 1.6.21 framework built with Xcode13, new MM GC Can't support iOS 9.x
+- [`KT-53534`](https://youtrack.jetbrains.com/issue/KT-53534) Kotlin/Native: `-Xruntime-logs=gc=info` flag doesn't work with compiler caches in 1.7.20-beta
+
+### Native. Runtime. Memory
+
+- [`KT-52692`](https://youtrack.jetbrains.com/issue/KT-52692) Kotlin/Native: fix tests with aggressive GC
+- [`KT-52130`](https://youtrack.jetbrains.com/issue/KT-52130) Kotlin/Native: use Xallocator for Kotlin objects only
+- [`KT-51436`](https://youtrack.jetbrains.com/issue/KT-51436) Kotlin/Native: optimize mark queue
+
+### Reflection
+
+- [`KT-51804`](https://youtrack.jetbrains.com/issue/KT-51804) An error occurs when callBy a KFunction that contains a value class as an argument, has a default argument set, and has more than 32 arguments.
+
+### Tools. CLI
+
+- [`KT-52465`](https://youtrack.jetbrains.com/issue/KT-52465) CLI: IllegalStateException IrSimpleFunctionPublicSymbolImpl when source root is duplicated
+- [`KT-52380`](https://youtrack.jetbrains.com/issue/KT-52380) Invalid path to compiler plugins should be reported as a compiler error
+- [`KT-51025`](https://youtrack.jetbrains.com/issue/KT-51025) JVM CLI compiler takes class file from classpath instead of input java source file
+- [`KT-51846`](https://youtrack.jetbrains.com/issue/KT-51846) Setting random value to the compiler argument where number is expected should produce an error. "-Xbackend-threads=abcd"
+
+### Tools. Compiler Plugins
+
+- [`KT-52486`](https://youtrack.jetbrains.com/issue/KT-52486) [K2] Looking for function/constructor whose parameters are annotated or meta annotated
+- [`KT-52872`](https://youtrack.jetbrains.com/issue/KT-52872) Mark supportsK2 in ComponentRegistrar.kt as JvmDefault to avoid compatibility problems
+- [`KT-52804`](https://youtrack.jetbrains.com/issue/KT-52804) A function obtained by Fir IrBuiltins has an incorrect package
+- [`KT-52468`](https://youtrack.jetbrains.com/issue/KT-52468) Rename module and jar for lombok compiler plugin
 
 ### Tools. Gradle
 
+- [`KT-53670`](https://youtrack.jetbrains.com/issue/KT-53670) Gradle: Cyclic dependency between kotlin-gradle-plugin-idea-1.7.20-Beta and kotlin-gradle-plugin-idea-proto-1.7.20-Beta
+- [`KT-53615`](https://youtrack.jetbrains.com/issue/KT-53615) Gradle: Fix deprecation warnings in CleanableStoreImpl
+- [`KT-53118`](https://youtrack.jetbrains.com/issue/KT-53118) Fully up-to-date builds are slower with Kotlin 1.7.0
+- [`KT-51923`](https://youtrack.jetbrains.com/issue/KT-51923) Improve usability of errors and warnings by being able to click on them
+- [`KT-53244`](https://youtrack.jetbrains.com/issue/KT-53244) Report from gradle about compiler plugins
+- [`KT-52839`](https://youtrack.jetbrains.com/issue/KT-52839) Warn in Gradle log why incremental compilation failed
+- [`KT-46019`](https://youtrack.jetbrains.com/issue/KT-46019) Compatibility with Gradle 7.1 release
+- [`KT-47047`](https://youtrack.jetbrains.com/issue/KT-47047) Migrate Kotlin Gradle Plugin from using Gradle conventions
+- [`KT-52698`](https://youtrack.jetbrains.com/issue/KT-52698) Don't add InspectClassesForMultiModuleIC task when new incremental compilation is enabled
+- [`KT-52867`](https://youtrack.jetbrains.com/issue/KT-52867) Provide simplified JVM toolchain configuration method
+- [`KT-45747`](https://youtrack.jetbrains.com/issue/KT-45747) Add basic JUnit 5 Kotlin Gradle Plugin Android tests setup
 - [`KT-46034`](https://youtrack.jetbrains.com/issue/KT-46034) Shadow Kotlin Gradle plugin dependencies
 - [`KT-28664`](https://youtrack.jetbrains.com/issue/KT-28664) Support ExtensionContainer on kotlin targets and source sets.
 - [`KT-19472`](https://youtrack.jetbrains.com/issue/KT-19472) Useful extensions of Gradle Kotlin DSL provided by Gradle Kotlin plugin
 - [`KT-34393`](https://youtrack.jetbrains.com/issue/KT-34393) Kotlin Gradle DSL: Inconsistent srcDir configuration between Java and Kotlin
 - [`KT-51629`](https://youtrack.jetbrains.com/issue/KT-51629) There isn't enough info about incremental compilation state in logs while running build with --info key
 
+
+### Tools. Gradle. Cocoapods
+
+- [`KT-53174`](https://youtrack.jetbrains.com/issue/KT-53174) CocoaPods: Synthetic Podfile does not specify platform
+- [`KT-53127`](https://youtrack.jetbrains.com/issue/KT-53127) "MaterialComponents normal armv7" in Cocoapods plugin between Kotlin 1.6.21 and 1.7.0
+- [`KT-44155`](https://youtrack.jetbrains.com/issue/KT-44155) Cocoapods doesn't support pods without module map file inside
+- [`KT-49032`](https://youtrack.jetbrains.com/issue/KT-49032) Cocoapods cinterop: some header files are not found
+- [`KT-53337`](https://youtrack.jetbrains.com/issue/KT-53337) Add warning about future changing default linking type of framework provided via cocoapods plugin
+
 ### Tools. Gradle. JS
 
+- [`KT-52637`](https://youtrack.jetbrains.com/issue/KT-52637) KJS / Gradle: Add SCSS webpack config
+- [`KT-51527`](https://youtrack.jetbrains.com/issue/KT-51527) Kotlin/JS: BrowserXRun causes full-screen Webpack error "Compiled with problems: asset size limit/entrypoint size limit" for fresh Kotlin-React project from wizard
+- [`KT-51532`](https://youtrack.jetbrains.com/issue/KT-51532) Kotlin/JS: passing environment variable via Gradle script causes "Execution optimizations have been disabled" warnings
 - [`KT-52221`](https://youtrack.jetbrains.com/issue/KT-52221) Kotlin/JS: failed Node tests are not reported in a standard way
 
 ### Tools. Gradle. Multiplatform
 
+- [`KT-52243`](https://youtrack.jetbrains.com/issue/KT-52243) CInteropProcess  is not cacheable despite the annotation
+- [`KT-52741`](https://youtrack.jetbrains.com/issue/KT-52741) MPP: klib outputs are not reproducible
+- [`KT-52208`](https://youtrack.jetbrains.com/issue/KT-52208) MPP: Gradle plugin 1.7 doesn't support latest api versions (1.8, 1.9)
 - [`KT-54071`](https://youtrack.jetbrains.com/issue/KT-54071) MPP/AGP compatibility: Bump maxSupportedVersion to 7.3.0
 
+### Tools. Gradle. Native
+
+- [`KT-52632`](https://youtrack.jetbrains.com/issue/KT-52632) Gradle / Native: commonizeNativeDistributionTask can never be up-to-date
+- [`KT-52328`](https://youtrack.jetbrains.com/issue/KT-52328) "ld: framework not found SQLCipher" linkDebugTestIosSimulatorArm64 error
+
+### Tools. Incremental Compile
+
+- [`KT-53168`](https://youtrack.jetbrains.com/issue/KT-53168) Incremental compilation doesn't perform correctly after a few iterations
+- [`KT-52925`](https://youtrack.jetbrains.com/issue/KT-52925) [IR BE] Non incremental build  occurs after build failure for compileKotlinJs task
+- [`KT-52946`](https://youtrack.jetbrains.com/issue/KT-52946) CompileKotlinJs task is executed non-incrementally if there were changes made to the dependant module
+- [`KT-52329`](https://youtrack.jetbrains.com/issue/KT-52329) Reduce memory usage of classpath snapshot cache
+- [`KT-53266`](https://youtrack.jetbrains.com/issue/KT-53266) Increment Compilation: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing companion object constant field
+- [`KT-53231`](https://youtrack.jetbrains.com/issue/KT-53231) New IC reports build failures for missing classpath snapshots
+
 ### Tools. JPS
 
+- [`KT-47824`](https://youtrack.jetbrains.com/issue/KT-47824) 'when expression must be exhaustive' isn't thrown during incremental compilation
+- [`KT-51873`](https://youtrack.jetbrains.com/issue/KT-51873) JPS build is incorrect after gdw build
 - [`KTIJ-17072`](https://youtrack.jetbrains.com/issue/KTIJ-17072) JPS does not rebuild Kotlin usages of declared in Java when enum entry is added
 - [`KT-51537`](https://youtrack.jetbrains.com/issue/KT-51537) Rebuild module on plugin classpaths change
 
 ### Tools. REPL
 
+- [`KT-45065`](https://youtrack.jetbrains.com/issue/KT-45065) REPL: Incorrect output for unsigned value
 - [`KT-53043`](https://youtrack.jetbrains.com/issue/KT-53043) Scripting: Changes in REPL protocol: mark end of errors
 
+### Tools. Scripts
+
+- [`KT-52598`](https://youtrack.jetbrains.com/issue/KT-52598) Scripts and REPL snippets are not checked against using 'kotlin' package
+- [`KT-47187`](https://youtrack.jetbrains.com/issue/KT-47187) Kotlin ScriptEngine Failes to Compile a Trivial Statement After Failing to Compile a Broken One
+- [`KT-47191`](https://youtrack.jetbrains.com/issue/KT-47191) [Kotlin Script Engine] Compiling Without Evaluating Leaves Engine in a Bad State
+
+### Tools. Kapt
+
+- [`KT-52761`](https://youtrack.jetbrains.com/issue/KT-52761) Kotlin 1.7.0 breaks kapt processing for protobuf generated java sources
 
 ## 1.7.20-RC
 
diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java
index ed26ee3..dc2605c 100644
--- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java
+++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java
@@ -20358,6 +20358,12 @@
                 }
 
                 @Test
+                @TestMetadata("stringConcatenationWithObject.kt")
+                public void testStringConcatenationWithObject() throws Exception {
+                    runTest("compiler/testData/diagnostics/tests/modifiers/const/stringConcatenationWithObject.kt");
+                }
+
+                @Test
                 @TestMetadata("types.kt")
                 public void testTypes() throws Exception {
                     runTest("compiler/testData/diagnostics/tests/modifiers/const/types.kt");
@@ -35539,6 +35545,24 @@
             }
 
             @Test
+            @TestMetadata("unsafeAssignment.kt")
+            public void testUnsafeAssignment() throws Exception {
+                runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment.kt");
+            }
+
+            @Test
+            @TestMetadata("unsafeAssignmentExtra.kt")
+            public void testUnsafeAssignmentExtra() throws Exception {
+                runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignmentExtra.kt");
+            }
+
+            @Test
+            @TestMetadata("unsafeAssignment_noReport.kt")
+            public void testUnsafeAssignment_noReport() throws Exception {
+                runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment_noReport.kt");
+            }
+
+            @Test
             @TestMetadata("useInferenceInformationFromExtension.kt")
             public void testUseInferenceInformationFromExtension() throws Exception {
                 runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/useInferenceInformationFromExtension.kt");
diff --git a/build-common/src/org/jetbrains/kotlin/incremental/AbstractIncrementalCache.kt b/build-common/src/org/jetbrains/kotlin/incremental/AbstractIncrementalCache.kt
index 67bde40..6bea207 100644
--- a/build-common/src/org/jetbrains/kotlin/incremental/AbstractIncrementalCache.kt
+++ b/build-common/src/org/jetbrains/kotlin/incremental/AbstractIncrementalCache.kt
@@ -26,6 +26,7 @@
 import org.jetbrains.kotlin.serialization.deserialization.getClassId
 import java.io.File
 import java.util.*
+import kotlin.collections.HashSet
 
 /**
  * Incremental cache common for JVM and JS, ClassName type aware
@@ -203,12 +204,34 @@
     override fun getComplementaryFilesRecursive(dirtyFiles: Collection<File>): Collection<File> {
         val complementaryFiles = HashSet<File>()
         val filesQueue = ArrayDeque(dirtyFiles)
+
+        val processedClasses = HashSet<FqName>()
+        val processedFiles = HashSet<File>()
+
         while (filesQueue.isNotEmpty()) {
             val file = filesQueue.pollFirst()
-            complementaryFilesMap[file].forEach {
-                if (complementaryFiles.add(it)) filesQueue.add(it)
+            if (processedFiles.contains(file)) {
+                continue
             }
+            processedFiles.add(file)
+            complementaryFilesMap[file].forEach {
+                if (complementaryFiles.add(it) && !processedFiles.contains(it)) filesQueue.add(it)
+            }
+            val classes2recompile = sourceToClassesMap.getFqNames(file)
+            classes2recompile.filter { !processedClasses.contains(it) }.forEach {class2recompile ->
+                processedClasses.add(class2recompile)
+                val sealedClasses = findSealedSupertypes(class2recompile, listOf(this))
+                val allSubtypes = sealedClasses.flatMap { withSubtypes(it, listOf(this)) }.also {
+                    // there could be only one sealed class in hierarchy
+                    processedClasses.addAll(it)
+                }
+                val files2add = allSubtypes.mapNotNull { classFqNameToSourceMap[it] }.filter { !processedFiles.contains(it) }
+                filesQueue.addAll(files2add)
+            }
+
+
         }
+        complementaryFiles.addAll(processedFiles)
         complementaryFiles.removeAll(dirtyFiles)
         return complementaryFiles
     }
@@ -223,11 +246,11 @@
             for (actual in actuals) {
                 actualToExpect.getOrPut(actual) { hashSetOf() }.add(expect)
             }
-            complementaryFilesMap[expect] = actuals
+            complementaryFilesMap[expect] = actuals.union(complementaryFilesMap[expect])
         }
 
         for ((actual, expects) in actualToExpect) {
-            complementaryFilesMap[actual] = expects
+            complementaryFilesMap[actual] = expects.union(complementaryFilesMap[actual])
         }
     }
 }
\ No newline at end of file
diff --git a/build-common/src/org/jetbrains/kotlin/incremental/buildUtil.kt b/build-common/src/org/jetbrains/kotlin/incremental/buildUtil.kt
index 4ef5dcf..312e8e7 100644
--- a/build-common/src/org/jetbrains/kotlin/incremental/buildUtil.kt
+++ b/build-common/src/org/jetbrains/kotlin/incremental/buildUtil.kt
@@ -150,8 +150,7 @@
     val dirtyLookupSymbols = HashSet<LookupSymbol>()
     val dirtyClassesFqNames = HashSet<FqName>()
 
-    val sealedParents = HashMap<FqName, MutableSet<FqName>>()
-    val notSealedParents = HashSet<FqName>()
+    val sealedParents = HashSet<FqName>()
 
     for (change in changes()) {
         reporter.debug { "Process $change" }
@@ -178,34 +177,12 @@
 
             fqNames.mapTo(dirtyLookupSymbols) { LookupSymbol(SAM_LOOKUP_NAME.asString(), it.asString()) }
         } else if (change is ChangeInfo.ParentsChanged) {
-            fun FqName.isSealed(): Boolean {
-                if (notSealedParents.contains(this)) return false
-                if (sealedParents.containsKey(this)) return true
-                return isSealed(this, caches).also { sealed ->
-                    if (sealed) {
-                        sealedParents[this] = HashSet()
-                    } else {
-                        notSealedParents.add(this)
-                    }
-                }
-            }
             change.parentsChanged.forEach { parent ->
-                if (parent.isSealed()) {
-                    sealedParents.getOrPut(parent) { HashSet() }.add(change.fqName)
-                }
+                sealedParents.addAll(findSealedSupertypes(parent, caches))
             }
         }
     }
-
-    val forceRecompile = HashSet<FqName>().apply {
-        addAll(sealedParents.keys)
-        //we should recompile all inheritors with parent sealed class: add known subtypes
-        addAll(sealedParents.keys.flatMap { withSubtypes(it, caches) })
-        //we should recompile all inheritors with parent sealed class: add new subtypes
-        addAll(sealedParents.values.flatten())
-    }
-
-    return DirtyData(dirtyLookupSymbols, dirtyClassesFqNames, forceRecompile)
+    return DirtyData(dirtyLookupSymbols, dirtyClassesFqNames, sealedParents)
 }
 
 fun mapLookupSymbolsToFiles(
@@ -252,7 +229,22 @@
 fun isSealed(
     fqName: FqName,
     caches: Iterable<IncrementalCacheCommon>
-): Boolean = caches.any { it.isSealed(fqName) ?: false }
+): Boolean = caches.any { cache -> cache.isSealed(fqName) ?: false }
+
+/**
+ * Finds sealed supertypes of class in same module.
+ * This method should be used for processing freedomOsSealedClasses feature, because
+ * mutually declared list of sealed subclasses could be declared only in the same module.
+ */
+fun findSealedSupertypes(
+    fqName: FqName,
+    caches: Iterable<IncrementalCacheCommon>
+): Collection<FqName> {
+    if (isSealed(fqName, caches)) {
+        return listOf(fqName)
+    }
+    return caches.flatMap { cache -> cache.getSupertypesOf(fqName).filter { cache.isSealed(it) ?: false }}
+}
 
 fun withSubtypes(
     typeFqName: FqName,
diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/RedundantCheckCastElimination.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/RedundantCheckCastElimination.kt
index 9dd001a..766ee31 100644
--- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/RedundantCheckCastElimination.kt
+++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/RedundantCheckCastElimination.kt
@@ -20,6 +20,7 @@
 import org.jetbrains.kotlin.codegen.optimization.common.FastMethodAnalyzer
 import org.jetbrains.kotlin.codegen.optimization.common.InstructionLivenessAnalyzer
 import org.jetbrains.kotlin.codegen.optimization.common.OptimizationBasicInterpreter
+import org.jetbrains.kotlin.codegen.optimization.common.StrictBasicValue
 import org.jetbrains.kotlin.codegen.optimization.fixStack.top
 import org.jetbrains.kotlin.codegen.optimization.transformer.MethodTransformer
 import org.jetbrains.org.objectweb.asm.Opcodes
@@ -52,13 +53,12 @@
 
         val frames = FastMethodAnalyzer(internalClassName, methodNode, interpreter, pruneExceptionEdges = true).analyze()
         for (i in insns.indices) {
-            val valueType = frames[i]?.top()?.type ?: continue
             val insn = insns[i]
-
             if (insn.opcode == Opcodes.CHECKCAST) {
+                val value = frames[i]?.top() ?: continue
                 val typeInsn = insn as TypeInsnNode
                 val insnType = Type.getObjectType(typeInsn.desc)
-                if (!isTrivialSubtype(insnType, valueType)) continue
+                if (value !== StrictBasicValue.NULL_VALUE && !isTrivialSubtype(insnType, value.type)) continue
 
                 //Keep casts to multiarray types cause dex doesn't recognize ANEWARRAY [Ljava/lang/Object; as Object [][], but Object [] type
                 //It's not clear is it bug in dex or not and maybe best to distinguish such types from MULTINEWARRRAY ones in method analyzer
diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/OptimizationBasicInterpreter.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/OptimizationBasicInterpreter.java
index 8c52059..dbfa154 100644
--- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/OptimizationBasicInterpreter.java
+++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/OptimizationBasicInterpreter.java
@@ -19,6 +19,7 @@
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.kotlin.codegen.AsmUtil;
+import org.jetbrains.kotlin.resolve.jvm.AsmTypes;
 import org.jetbrains.org.objectweb.asm.Handle;
 import org.jetbrains.org.objectweb.asm.Opcodes;
 import org.jetbrains.org.objectweb.asm.Type;
@@ -152,13 +153,6 @@
             @NotNull BasicValue value1,
             @NotNull BasicValue value2
     ) throws AnalyzerException {
-        if (insn.getOpcode() == Opcodes.AALOAD) {
-            Type arrayType = value1.getType();
-            if (arrayType != null && arrayType.getSort() == Type.ARRAY) {
-                return new StrictBasicValue(AsmUtil.correctElementType(arrayType));
-            }
-        }
-
         switch (insn.getOpcode()) {
             case IALOAD:
             case BALOAD:
@@ -204,7 +198,13 @@
             case DREM:
                 return StrictBasicValue.DOUBLE_VALUE;
             case AALOAD:
-                return StrictBasicValue.NULL_VALUE;
+                Type arrayType = value1.getType();
+                if (arrayType != null && arrayType.getSort() == Type.ARRAY) {
+                    return new StrictBasicValue(AsmUtil.correctElementType(arrayType));
+                }
+                else {
+                    return StrictBasicValue.NULL_VALUE;
+                }
             case LCMP:
             case FCMPL:
             case FCMPG:
@@ -359,13 +359,11 @@
             return StrictBasicValue.UNINITIALIZED_VALUE;
         }
 
-        // if merge of two references then `lub` is java/lang/Object
-        // arrays also are BasicValues with reference type's
         if (isReference(v) && isReference(w)) {
             if (v == NULL_VALUE) return newValue(w.getType());
             if (w == NULL_VALUE) return newValue(v.getType());
 
-            return StrictBasicValue.REFERENCE_VALUE;
+            return mergeReferenceTypes(w.getType(), v.getType());
         }
 
         // if merge of something can be stored in int var (int, char, boolean, byte, character)
@@ -380,4 +378,34 @@
     private static boolean isReference(@NotNull BasicValue v) {
         return v.getType().getSort() == Type.OBJECT || v.getType().getSort() == Type.ARRAY;
     }
+
+    // Merge reference types, keeping track of array dimensions.
+    // See also org.jetbrains.org.objectweb.asm.Frame.merge.
+    private BasicValue mergeReferenceTypes(@NotNull Type a, @NotNull Type b) {
+        // Find out the minimal array dimension of both types.
+        int arrayDimensions = 0;
+        while (a.getSort() == Type.ARRAY && b.getSort() == Type.ARRAY) {
+            a = AsmUtil.correctElementType(a);
+            b = AsmUtil.correctElementType(b);
+            arrayDimensions++;
+        }
+        // Either of the two types is not an array -> result is j/l/Object.
+        if (arrayDimensions == 0) return REFERENCE_VALUE;
+
+        // Both of the types are arrays, and element type of one or both of them is primitive ->
+        // result is array of j/l/Object with one fewer dimension. E.g.
+        //   merge([I, [Lj/l/Object;) = Lj/l/Object;
+        //   merge([I, [S) = Lj/l/Object;
+        //   merge([[I, [[Lj/l/Object;) = [Lj/l/Object;
+        if (AsmUtil.isPrimitive(a) || AsmUtil.isPrimitive(b)) {
+            arrayDimensions--;
+        }
+
+        // Result is array of j/l/Object with the computed dimension.
+        StringBuilder result = new StringBuilder();
+        while (arrayDimensions-- > 0) result.append("[");
+        result.append(AsmTypes.OBJECT_TYPE.getDescriptor());
+        return newValue(Type.getType(result.toString()));
+    }
+
 }
diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/CommonCompilerArguments.kt b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/CommonCompilerArguments.kt
index f6205c9..80d478e 100644
--- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/CommonCompilerArguments.kt
+++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/CommonCompilerArguments.kt
@@ -409,6 +409,12 @@
     )
     var normalizeAbsolutePath: Boolean by FreezableVar(false)
 
+    @Argument(
+        value = "-Xklib-enable-signature-clash-checks",
+        description = "Enable the checks on uniqueness of signatures"
+    )
+    var enableSignatureClashChecks: Boolean by FreezableVar(true)
+
     @Argument(value = "-Xenable-incremental-compilation", description = "Enable incremental compilation")
     var incrementalCompilation: Boolean? by FreezableVar(null)
 
diff --git a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt
index 3f62145..1bd3e4c 100644
--- a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt
+++ b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt
@@ -152,6 +152,7 @@
         }
 
         configuration.put(CommonConfigurationKeys.KLIB_NORMALIZE_ABSOLUTE_PATH, arguments.normalizeAbsolutePath)
+        configuration.put(CommonConfigurationKeys.PRODUCE_KLIB_SIGNATURES_CLASH_CHECKS, arguments.enableSignatureClashChecks)
 
         val environmentForJS =
             KotlinCoreEnvironment.createForProduction(rootDisposable, configuration, EnvironmentConfigFiles.JS_CONFIG_FILES)
diff --git a/compiler/config/src/org/jetbrains/kotlin/config/CommonConfigurationKeys.kt b/compiler/config/src/org/jetbrains/kotlin/config/CommonConfigurationKeys.kt
index 962197aa..ee476ae 100644
--- a/compiler/config/src/org/jetbrains/kotlin/config/CommonConfigurationKeys.kt
+++ b/compiler/config/src/org/jetbrains/kotlin/config/CommonConfigurationKeys.kt
@@ -72,6 +72,10 @@
         CompilerConfigurationKey.create<Boolean>("Normalize absolute paths in klib (replace file separator with '/')")
 
     @JvmField
+    val PRODUCE_KLIB_SIGNATURES_CLASH_CHECKS =
+        CompilerConfigurationKey.create<Boolean>("Turn on the checks on uniqueness of signatures")
+
+    @JvmField
     val INCREMENTAL_COMPILATION =
         CompilerConfigurationKey.create<Boolean>("Enable incremental compilation")
 
diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java
index cb6d97d..6226776 100644
--- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java
+++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java
@@ -20358,6 +20358,12 @@
                 }
 
                 @Test
+                @TestMetadata("stringConcatenationWithObject.kt")
+                public void testStringConcatenationWithObject() throws Exception {
+                    runTest("compiler/testData/diagnostics/tests/modifiers/const/stringConcatenationWithObject.kt");
+                }
+
+                @Test
                 @TestMetadata("types.kt")
                 public void testTypes() throws Exception {
                     runTest("compiler/testData/diagnostics/tests/modifiers/const/types.kt");
@@ -35539,6 +35545,24 @@
             }
 
             @Test
+            @TestMetadata("unsafeAssignment.kt")
+            public void testUnsafeAssignment() throws Exception {
+                runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment.kt");
+            }
+
+            @Test
+            @TestMetadata("unsafeAssignmentExtra.kt")
+            public void testUnsafeAssignmentExtra() throws Exception {
+                runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignmentExtra.kt");
+            }
+
+            @Test
+            @TestMetadata("unsafeAssignment_noReport.kt")
+            public void testUnsafeAssignment_noReport() throws Exception {
+                runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment_noReport.kt");
+            }
+
+            @Test
             @TestMetadata("useInferenceInformationFromExtension.kt")
             public void testUseInferenceInformationFromExtension() throws Exception {
                 runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/useInferenceInformationFromExtension.kt");
diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java
index 0fbb189..8b41511 100644
--- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java
+++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java
@@ -20358,6 +20358,12 @@
                 }
 
                 @Test
+                @TestMetadata("stringConcatenationWithObject.kt")
+                public void testStringConcatenationWithObject() throws Exception {
+                    runTest("compiler/testData/diagnostics/tests/modifiers/const/stringConcatenationWithObject.kt");
+                }
+
+                @Test
                 @TestMetadata("types.kt")
                 public void testTypes() throws Exception {
                     runTest("compiler/testData/diagnostics/tests/modifiers/const/types.kt");
@@ -35539,6 +35545,24 @@
             }
 
             @Test
+            @TestMetadata("unsafeAssignment.kt")
+            public void testUnsafeAssignment() throws Exception {
+                runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment.kt");
+            }
+
+            @Test
+            @TestMetadata("unsafeAssignmentExtra.kt")
+            public void testUnsafeAssignmentExtra() throws Exception {
+                runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignmentExtra.kt");
+            }
+
+            @Test
+            @TestMetadata("unsafeAssignment_noReport.kt")
+            public void testUnsafeAssignment_noReport() throws Exception {
+                runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment_noReport.kt");
+            }
+
+            @Test
             @TestMetadata("useInferenceInformationFromExtension.kt")
             public void testUseInferenceInformationFromExtension() throws Exception {
                 runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/useInferenceInformationFromExtension.kt");
diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirConstChecks.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirConstChecks.kt
index b22c0ba..d8502ac 100644
--- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirConstChecks.kt
+++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirConstChecks.kt
@@ -63,8 +63,12 @@
             return checkConstantArguments(expression.compareToCall, session)
         }
         expression is FirStringConcatenationCall || expression is FirEqualityOperatorCall -> {
-            for (exp in (expression as FirCall).arguments)
+            for (exp in (expression as FirCall).arguments) {
+                if (exp is FirResolvedQualifier) {
+                    return ConstantArgumentKind.NOT_CONST
+                }
                 checkConstantArguments(exp, session).let { return it }
+            }
         }
         expression is FirGetClassCall -> {
             var coneType = (expression as? FirCall)?.argument?.typeRef?.coneType
diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt
index 92fc3a3..99ef5da 100644
--- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt
+++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt
@@ -6,7 +6,6 @@
 package org.jetbrains.kotlin.fir.backend.generators
 
 import org.jetbrains.kotlin.KtFakeSourceElementKind
-import org.jetbrains.kotlin.descriptors.ClassKind
 import org.jetbrains.kotlin.fir.*
 import org.jetbrains.kotlin.fir.backend.*
 import org.jetbrains.kotlin.fir.declarations.*
@@ -41,7 +40,10 @@
 import org.jetbrains.kotlin.ir.symbols.*
 import org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl
 import org.jetbrains.kotlin.ir.types.*
-import org.jetbrains.kotlin.ir.util.*
+import org.jetbrains.kotlin.ir.util.dump
+import org.jetbrains.kotlin.ir.util.isFunctionTypeOrSubtype
+import org.jetbrains.kotlin.ir.util.isInterface
+import org.jetbrains.kotlin.ir.util.isMethodOfAny
 import org.jetbrains.kotlin.name.Name
 import org.jetbrains.kotlin.psi2ir.generators.hasNoSideEffects
 import org.jetbrains.kotlin.psi2ir.generators.isUnchanging
@@ -254,29 +256,6 @@
         return null
     }
 
-    // Note: I don't like using super qualifier symbols to determine field receivers in bytecode properly.
-    // Would be much better to use super qualifiers only in case when it's used explicitly.
-    // However, FE 1.0 does it, and currently we have no better way to provide these receivers.
-    // See KT-49507 and KT-48954 as good examples for cases we try to handle here
-    private fun FirExpression.superQualifierSymbolForField(fieldSymbol: IrFieldSymbol): IrClassSymbol? {
-        if (this !is FirQualifiedAccess) return null
-        if (calleeReference is FirSuperReference) return superQualifierSymbol()
-        if (fieldSymbol.owner.correspondingPropertySymbol != null) return null
-        val originalContainingClass = fieldSymbol.owner.parentClassOrNull ?: return null
-        val ownContainingClass = typeRef.toIrType().classifierOrNull?.owner as? IrClass ?: return null
-        // For static field, we shouldn't unwrap fake override in any case
-        if (fieldSymbol.owner.isStatic) return ownContainingClass.symbol
-        // Find first Java super class to avoid possible visibility exposure & separate compilation problems
-        var superQualifierClass = ownContainingClass
-        while (!superQualifierClass.isFromJava() && superQualifierClass !== originalContainingClass) {
-            superQualifierClass = superQualifierClass.superTypes.find {
-                val kind = it.getClass()?.kind
-                kind == ClassKind.CLASS || kind == ClassKind.ENUM_CLASS
-            }?.getClass() ?: break
-        }
-        return superQualifierClass.symbol
-    }
-
     private fun FirExpression.superQualifierSymbol(): IrClassSymbol? {
         if (this !is FirQualifiedAccess) {
             return null
@@ -490,7 +469,7 @@
                         IrGetFieldImpl(
                             startOffset, endOffset, symbol, type,
                             origin = IrStatementOrigin.GET_PROPERTY.takeIf { calleeReference !is FirDelegateFieldReference },
-                            superQualifierSymbol = dispatchReceiver.superQualifierSymbolForField(symbol)
+                            superQualifierSymbol = dispatchReceiver.superQualifierSymbol()
                         )
                     }
                     is IrValueSymbol -> {
diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java
index a501d47..d2110ef 100644
--- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java
+++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java
@@ -4602,6 +4602,24 @@
         }
 
         @Test
+        @TestMetadata("arrayDowncastingContravariant.kt")
+        public void testArrayDowncastingContravariant() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/arrayDowncastingContravariant.kt");
+        }
+
+        @Test
+        @TestMetadata("arrayDowncatingInvariant.kt")
+        public void testArrayDowncatingInvariant() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/arrayDowncatingInvariant.kt");
+        }
+
+        @Test
+        @TestMetadata("arrayDownctingCovariant.kt")
+        public void testArrayDownctingCovariant() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/arrayDownctingCovariant.kt");
+        }
+
+        @Test
         @TestMetadata("as.kt")
         public void testAs() throws Exception {
             runTest("compiler/testData/codegen/box/casts/as.kt");
@@ -4728,6 +4746,36 @@
         }
 
         @Test
+        @TestMetadata("kt53146.kt")
+        public void testKt53146() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt53146.kt");
+        }
+
+        @Test
+        @TestMetadata("kt53677.kt")
+        public void testKt53677() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt53677.kt");
+        }
+
+        @Test
+        @TestMetadata("kt54581.kt")
+        public void testKt54581() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt54581.kt");
+        }
+
+        @Test
+        @TestMetadata("kt54707.kt")
+        public void testKt54707() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt54707.kt");
+        }
+
+        @Test
+        @TestMetadata("kt54802.kt")
+        public void testKt54802() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt54802.kt");
+        }
+
+        @Test
         @TestMetadata("lambdaToUnitCast.kt")
         public void testLambdaToUnitCast() throws Exception {
             runTest("compiler/testData/codegen/box/casts/lambdaToUnitCast.kt");
@@ -14805,6 +14853,12 @@
             }
 
             @Test
+            @TestMetadata("kt54463_platformType.kt")
+            public void testKt54463_platformType() throws Exception {
+                runTest("compiler/testData/codegen/box/delegatedProperty/delegateToFinalProperty/kt54463_platformType.kt");
+            }
+
+            @Test
             @TestMetadata("memberExtensionPropertyAndImportFromObject.kt")
             public void testMemberExtensionPropertyAndImportFromObject() throws Exception {
                 runTest("compiler/testData/codegen/box/delegatedProperty/delegateToFinalProperty/memberExtensionPropertyAndImportFromObject.kt");
@@ -16738,6 +16792,18 @@
         }
 
         @Test
+        @TestMetadata("stringConcatenationWithObject.kt")
+        public void testStringConcatenationWithObject() throws Exception {
+            runTest("compiler/testData/codegen/box/evaluate/stringConcatenationWithObject.kt");
+        }
+
+        @Test
+        @TestMetadata("thisPlusString.kt")
+        public void testThisPlusString() throws Exception {
+            runTest("compiler/testData/codegen/box/evaluate/thisPlusString.kt");
+        }
+
+        @Test
         @TestMetadata("unaryMinus.kt")
         public void testUnaryMinus() throws Exception {
             runTest("compiler/testData/codegen/box/evaluate/unaryMinus.kt");
@@ -17482,6 +17548,12 @@
         }
 
         @Test
+        @TestMetadata("javaFieldAndKotlinPrivateProperty.kt")
+        public void testJavaFieldAndKotlinPrivateProperty() throws Exception {
+            runTest("compiler/testData/codegen/box/fieldRename/javaFieldAndKotlinPrivateProperty.kt");
+        }
+
+        @Test
         @TestMetadata("javaFieldAndKotlinProperty.kt")
         public void testJavaFieldAndKotlinProperty() throws Exception {
             runTest("compiler/testData/codegen/box/fieldRename/javaFieldAndKotlinProperty.kt");
@@ -45168,6 +45240,12 @@
         }
 
         @Test
+        @TestMetadata("kt54600.kt")
+        public void testKt54600() throws Exception {
+            runTest("compiler/testData/codegen/box/sam/kt54600.kt");
+        }
+
+        @Test
         @TestMetadata("nonInlinedSamWrapper.kt")
         public void testNonInlinedSamWrapper() throws Exception {
             runTest("compiler/testData/codegen/box/sam/nonInlinedSamWrapper.kt");
diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBytecodeTextTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBytecodeTextTestGenerated.java
index 79da42d..1145b8c 100644
--- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBytecodeTextTestGenerated.java
+++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBytecodeTextTestGenerated.java
@@ -1087,6 +1087,12 @@
         }
 
         @Test
+        @TestMetadata("kt53465.kt")
+        public void testKt53465() throws Exception {
+            runTest("compiler/testData/codegen/bytecodeText/checkcast/kt53465.kt");
+        }
+
+        @Test
         @TestMetadata("noCheckcastOnDelegatingDefaultImplsCall.kt")
         public void testNoCheckcastOnDelegatingDefaultImplsCall() throws Exception {
             runTest("compiler/testData/codegen/bytecodeText/checkcast/noCheckcastOnDelegatingDefaultImplsCall.kt");
diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/LoweredIrInterpreterTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/LoweredIrInterpreterTestGenerated.java
index b87a414..2b52d4f 100644
--- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/LoweredIrInterpreterTestGenerated.java
+++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/LoweredIrInterpreterTestGenerated.java
@@ -135,5 +135,11 @@
         public void testUnsignedConst() throws Exception {
             runTest("compiler/testData/ir/loweredIr/interpreter/unsignedConst.kt");
         }
+
+        @Test
+        @TestMetadata("useCorrectToString.kt")
+        public void testUseCorrectToString() throws Exception {
+            runTest("compiler/testData/ir/loweredIr/interpreter/useCorrectToString.kt");
+        }
     }
 }
diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/PlatformConfiguratorBase.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/PlatformConfiguratorBase.kt
index c947604..9643bb0 100644
--- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/PlatformConfiguratorBase.kt
+++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/PlatformConfiguratorBase.kt
@@ -69,7 +69,8 @@
     UnitConversionCallChecker, FunInterfaceConstructorReferenceChecker, NullableExtensionOperatorWithSafeCallChecker,
     ReferencingToUnderscoreNamedParameterOfCatchBlockChecker, VarargWrongExecutionOrderChecker, SelfCallInNestedObjectConstructorChecker,
     NewSchemeOfIntegerOperatorResolutionChecker, EnumEntryVsCompanionPriorityCallChecker, CompanionInParenthesesLHSCallChecker,
-    ResolutionToPrivateConstructorOfSealedClassChecker, EqualityCallChecker, UnsupportedUntilOperatorChecker
+    ResolutionToPrivateConstructorOfSealedClassChecker, EqualityCallChecker, UnsupportedUntilOperatorChecker,
+    BuilderInferenceAssignmentChecker,
 )
 private val DEFAULT_TYPE_CHECKERS = emptyList<AdditionalTypeChecker>()
 private val DEFAULT_CLASSIFIER_USAGE_CHECKERS = listOf(
diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/checkers/BuilderInferenceAssignmentChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/checkers/BuilderInferenceAssignmentChecker.kt
new file mode 100644
index 0000000..00fa1f3
--- /dev/null
+++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/checkers/BuilderInferenceAssignmentChecker.kt
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.resolve.calls.checkers
+
+import com.intellij.psi.PsiElement
+import org.jetbrains.kotlin.config.LanguageFeature
+import org.jetbrains.kotlin.descriptors.PropertyDescriptor
+import org.jetbrains.kotlin.diagnostics.Errors
+import org.jetbrains.kotlin.lexer.KtTokens
+import org.jetbrains.kotlin.psi.KtBinaryExpression
+import org.jetbrains.kotlin.psi.KtNameReferenceExpression
+import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
+import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall
+import org.jetbrains.kotlin.resolve.calls.util.getType
+import org.jetbrains.kotlin.types.StubTypeForBuilderInference
+import org.jetbrains.kotlin.types.checker.KotlinTypeChecker
+import org.jetbrains.kotlin.types.expressions.BasicExpressionTypingVisitor
+import org.jetbrains.kotlin.types.isError
+
+object BuilderInferenceAssignmentChecker : CallChecker {
+    override fun check(resolvedCall: ResolvedCall<*>, reportOn: PsiElement, context: CallCheckerContext) {
+        val resultingDescriptor = resolvedCall.resultingDescriptor
+        if (resultingDescriptor !is PropertyDescriptor) return
+        if (context.languageVersionSettings.supportsFeature(LanguageFeature.NoBuilderInferenceWithoutAnnotationRestriction)) return
+        if (resolvedCall.candidateDescriptor.returnType !is StubTypeForBuilderInference) return
+        val callElement = resolvedCall.call.callElement
+        if (callElement !is KtNameReferenceExpression) return
+        val binaryExpression = callElement.getParentOfType<KtBinaryExpression>(strict = true) ?: return
+        if (binaryExpression.operationToken != KtTokens.EQ) return
+        if (!BasicExpressionTypingVisitor.isLValue(callElement, binaryExpression)) return
+
+        val leftType = resultingDescriptor.returnType?.takeIf { !it.isError } ?: return
+        val right = binaryExpression.right ?: return
+        val rightType = right.getType(context.trace.bindingContext) ?: return
+
+        if (!KotlinTypeChecker.DEFAULT.isSubtypeOf(rightType, leftType)) {
+            val dfi = context.dataFlowInfo
+            val dfvFactory = context.dataFlowValueFactory
+            val stableTypesFromDataFlow = dfi.getStableTypes(
+                dfvFactory.createDataFlowValue(right, rightType, context.trace.bindingContext, context.moduleDescriptor),
+                context.languageVersionSettings
+            )
+            if (stableTypesFromDataFlow.none {
+                    KotlinTypeChecker.DEFAULT.isSubtypeOf(it, leftType)
+                }
+            ) {
+                context.trace.report(Errors.TYPE_MISMATCH.on(right, leftType, rightType))
+            }
+        }
+    }
+}
diff --git a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/incrementalFirCacheUtils.kt b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/incrementalFirCacheUtils.kt
index be8629d..2fa16e6 100644
--- a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/incrementalFirCacheUtils.kt
+++ b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/incrementalFirCacheUtils.kt
@@ -142,5 +142,6 @@
         if (!alreadyCompiledSources.containsAll(forceToRecompileFiles)) {
             addAll(forceToRecompileFiles)
         }
+        removeAll { !it.exists() }
     }
 }
diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirICLightTreeJvmCompilerRunnerTestGenerated.java b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirICLightTreeJvmCompilerRunnerTestGenerated.java
index dcb3f9d..8859012 100644
--- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirICLightTreeJvmCompilerRunnerTestGenerated.java
+++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirICLightTreeJvmCompilerRunnerTestGenerated.java
@@ -64,7 +64,7 @@
         }
 
         public void testAllFilesPresentInPureKotlin() throws Exception {
-            KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), null, TargetBackend.JVM_IR, false);
+            KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), Pattern.compile("^.*Expect.*"), TargetBackend.JVM_IR, false);
         }
 
         @TestMetadata("annotations")
@@ -597,6 +597,11 @@
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddImplements/");
         }
 
+        @TestMetadata("sealedClassesAddIndirectInheritor")
+        public void testSealedClassesAddIndirectInheritor() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/");
+        }
+
         @TestMetadata("sealedClassesAddInheritor")
         public void testSealedClassesAddInheritor() throws Exception {
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddInheritor/");
@@ -612,9 +617,9 @@
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesRemoveInheritor/");
         }
 
-        @TestMetadata("sealedClassesUseSwitch")
-        public void testSealedClassesUseSwitch() throws Exception {
-            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/");
+        @TestMetadata("sealedClassesWhenExpression")
+        public void testSealedClassesWhenExpression() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/");
         }
 
         @TestMetadata("secondaryConstructorInlined")
diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunnerTestGenerated.java b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunnerTestGenerated.java
index 1512d60..ea627c8 100644
--- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunnerTestGenerated.java
+++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunnerTestGenerated.java
@@ -64,7 +64,7 @@
         }
 
         public void testAllFilesPresentInPureKotlin() throws Exception {
-            KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), null, TargetBackend.JVM_IR, false);
+            KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), Pattern.compile("^.*Expect.*"), TargetBackend.JVM_IR, false);
         }
 
         @TestMetadata("annotations")
@@ -597,6 +597,11 @@
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddImplements/");
         }
 
+        @TestMetadata("sealedClassesAddIndirectInheritor")
+        public void testSealedClassesAddIndirectInheritor() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/");
+        }
+
         @TestMetadata("sealedClassesAddInheritor")
         public void testSealedClassesAddInheritor() throws Exception {
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddInheritor/");
@@ -612,9 +617,9 @@
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesRemoveInheritor/");
         }
 
-        @TestMetadata("sealedClassesUseSwitch")
-        public void testSealedClassesUseSwitch() throws Exception {
-            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/");
+        @TestMetadata("sealedClassesWhenExpression")
+        public void testSealedClassesWhenExpression() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/");
         }
 
         @TestMetadata("secondaryConstructorInlined")
diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirLightTreeJvmCompilerRunnerTestGenerated.java b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirLightTreeJvmCompilerRunnerTestGenerated.java
index 31829bc..3367d29 100644
--- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirLightTreeJvmCompilerRunnerTestGenerated.java
+++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirLightTreeJvmCompilerRunnerTestGenerated.java
@@ -64,7 +64,7 @@
         }
 
         public void testAllFilesPresentInPureKotlin() throws Exception {
-            KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), null, TargetBackend.JVM_IR, false);
+            KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), Pattern.compile("^.*Expect.*"), TargetBackend.JVM_IR, false);
         }
 
         @TestMetadata("annotations")
@@ -597,6 +597,11 @@
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddImplements/");
         }
 
+        @TestMetadata("sealedClassesAddIndirectInheritor")
+        public void testSealedClassesAddIndirectInheritor() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/");
+        }
+
         @TestMetadata("sealedClassesAddInheritor")
         public void testSealedClassesAddInheritor() throws Exception {
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddInheritor/");
@@ -612,9 +617,9 @@
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesRemoveInheritor/");
         }
 
-        @TestMetadata("sealedClassesUseSwitch")
-        public void testSealedClassesUseSwitch() throws Exception {
-            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/");
+        @TestMetadata("sealedClassesWhenExpression")
+        public void testSealedClassesWhenExpression() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/");
         }
 
         @TestMetadata("secondaryConstructorInlined")
diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsCompilerRunnerTestGenerated.java b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsCompilerRunnerTestGenerated.java
index e296921..8496730 100644
--- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsCompilerRunnerTestGenerated.java
+++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsCompilerRunnerTestGenerated.java
@@ -596,6 +596,11 @@
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddImplements/");
         }
 
+        @TestMetadata("sealedClassesAddIndirectInheritor")
+        public void testSealedClassesAddIndirectInheritor() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/");
+        }
+
         @TestMetadata("sealedClassesAddInheritor")
         public void testSealedClassesAddInheritor() throws Exception {
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddInheritor/");
@@ -611,9 +616,14 @@
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesRemoveInheritor/");
         }
 
-        @TestMetadata("sealedClassesUseSwitch")
-        public void testSealedClassesUseSwitch() throws Exception {
-            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/");
+        @TestMetadata("sealedClassesWhenExpression")
+        public void testSealedClassesWhenExpression() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/");
+        }
+
+        @TestMetadata("sealedClassesWithExpectActual")
+        public void testSealedClassesWithExpectActual() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/");
         }
 
         @TestMetadata("secondaryConstructorInlined")
diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsCompilerRunnerWithMetadataOnlyTestGenerated.java b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsCompilerRunnerWithMetadataOnlyTestGenerated.java
index e33cb84..415c6ff 100644
--- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsCompilerRunnerWithMetadataOnlyTestGenerated.java
+++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsCompilerRunnerWithMetadataOnlyTestGenerated.java
@@ -596,6 +596,11 @@
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddImplements/");
         }
 
+        @TestMetadata("sealedClassesAddIndirectInheritor")
+        public void testSealedClassesAddIndirectInheritor() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/");
+        }
+
         @TestMetadata("sealedClassesAddInheritor")
         public void testSealedClassesAddInheritor() throws Exception {
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddInheritor/");
@@ -611,9 +616,14 @@
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesRemoveInheritor/");
         }
 
-        @TestMetadata("sealedClassesUseSwitch")
-        public void testSealedClassesUseSwitch() throws Exception {
-            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/");
+        @TestMetadata("sealedClassesWhenExpression")
+        public void testSealedClassesWhenExpression() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/");
+        }
+
+        @TestMetadata("sealedClassesWithExpectActual")
+        public void testSealedClassesWithExpectActual() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/");
         }
 
         @TestMetadata("secondaryConstructorInlined")
diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunnerTestGenerated.java b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunnerTestGenerated.java
index c639173..2264e4d 100644
--- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunnerTestGenerated.java
+++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunnerTestGenerated.java
@@ -597,6 +597,11 @@
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddImplements/");
         }
 
+        @TestMetadata("sealedClassesAddIndirectInheritor")
+        public void testSealedClassesAddIndirectInheritor() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/");
+        }
+
         @TestMetadata("sealedClassesAddInheritor")
         public void testSealedClassesAddInheritor() throws Exception {
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddInheritor/");
@@ -612,9 +617,14 @@
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesRemoveInheritor/");
         }
 
-        @TestMetadata("sealedClassesUseSwitch")
-        public void testSealedClassesUseSwitch() throws Exception {
-            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/");
+        @TestMetadata("sealedClassesWhenExpression")
+        public void testSealedClassesWhenExpression() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/");
+        }
+
+        @TestMetadata("sealedClassesWithExpectActual")
+        public void testSealedClassesWithExpectActual() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/");
         }
 
         @TestMetadata("secondaryConstructorInlined")
diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJvmOldBackendCompilerRunnerTestGenerated.java b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJvmOldBackendCompilerRunnerTestGenerated.java
index aa71158..276e237 100644
--- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJvmOldBackendCompilerRunnerTestGenerated.java
+++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJvmOldBackendCompilerRunnerTestGenerated.java
@@ -597,6 +597,11 @@
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddImplements/");
         }
 
+        @TestMetadata("sealedClassesAddIndirectInheritor")
+        public void testSealedClassesAddIndirectInheritor() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/");
+        }
+
         @TestMetadata("sealedClassesAddInheritor")
         public void testSealedClassesAddInheritor() throws Exception {
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddInheritor/");
@@ -612,9 +617,14 @@
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesRemoveInheritor/");
         }
 
-        @TestMetadata("sealedClassesUseSwitch")
-        public void testSealedClassesUseSwitch() throws Exception {
-            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/");
+        @TestMetadata("sealedClassesWhenExpression")
+        public void testSealedClassesWhenExpression() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/");
+        }
+
+        @TestMetadata("sealedClassesWithExpectActual")
+        public void testSealedClassesWithExpectActual() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/");
         }
 
         @TestMetadata("secondaryConstructorInlined")
diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt
index dce0a53..edd2d97 100644
--- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt
+++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt
@@ -8,13 +8,14 @@
 import org.jetbrains.kotlin.backend.common.BodyLoweringPass
 import org.jetbrains.kotlin.backend.common.CommonBackendContext
 import org.jetbrains.kotlin.backend.common.descriptors.synthesizedString
-import org.jetbrains.kotlin.backend.common.ir.*
 import org.jetbrains.kotlin.backend.common.lower.inline.isInlineParameter
 import org.jetbrains.kotlin.backend.common.runOnFilePostfix
 import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
 import org.jetbrains.kotlin.descriptors.DescriptorVisibility
 import org.jetbrains.kotlin.descriptors.Modality
-import org.jetbrains.kotlin.ir.*
+import org.jetbrains.kotlin.ir.IrElement
+import org.jetbrains.kotlin.ir.IrStatement
+import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
 import org.jetbrains.kotlin.ir.builders.declarations.buildConstructor
 import org.jetbrains.kotlin.ir.builders.declarations.buildFun
 import org.jetbrains.kotlin.ir.builders.declarations.buildValueParameter
@@ -25,7 +26,9 @@
 import org.jetbrains.kotlin.ir.symbols.IrValueParameterSymbol
 import org.jetbrains.kotlin.ir.symbols.IrValueSymbol
 import org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl
-import org.jetbrains.kotlin.ir.types.*
+import org.jetbrains.kotlin.ir.transformStatement
+import org.jetbrains.kotlin.ir.types.IrType
+import org.jetbrains.kotlin.ir.types.defaultType
 import org.jetbrains.kotlin.ir.util.*
 import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid
 import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
@@ -71,6 +74,7 @@
     val localNameSanitizer: (String) -> String = { it },
     val visibilityPolicy: VisibilityPolicy = VisibilityPolicy.DEFAULT,
     val suggestUniqueNames: Boolean = true, // When `true` appends a `$#index` suffix to lifted declaration names
+    val compatibilityModeForInlinedLocalDelegatedPropertyAccessors: Boolean = false, // Keep old names because of KT-49030
     val forceFieldsForInlineCaptures: Boolean = false, // See `LocalClassContext`
     private val postLocalDeclarationLoweringCallback: ((IntermediateDatastructures) -> Unit)? = null
 ) :
@@ -589,8 +593,16 @@
             val declarationName = localNameSanitizer(declaration.name.asString())
             localFunctions[declaration]?.let {
                 val baseName = if (declaration.name.isSpecial) "lambda" else declarationName
-                if (it.index >= 0)
-                    return if (suggestUniqueNames) "$baseName\$${it.index}" else baseName
+                if (it.index >= 0) {
+                    if (!suggestUniqueNames) return baseName
+
+                    val separator = if (
+                        compatibilityModeForInlinedLocalDelegatedPropertyAccessors &&
+                        declaration.origin == IrDeclarationOrigin.DELEGATED_PROPERTY_ACCESSOR &&
+                        container is IrFunction && container.isInline
+                    ) "-" else "$"
+                    return "$baseName$separator${it.index}"
+                }
             }
 
             return declarationName
diff --git a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/JvmLower.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/JvmLower.kt
index 8356fed..79bffff 100644
--- a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/JvmLower.kt
+++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/JvmLower.kt
@@ -138,6 +138,7 @@
                 private fun scopedVisibility(inInlineFunctionScope: Boolean): DescriptorVisibility =
                     if (inInlineFunctionScope) DescriptorVisibilities.PUBLIC else JavaDescriptorVisibilities.PACKAGE_VISIBILITY
             },
+            compatibilityModeForInlinedLocalDelegatedPropertyAccessors = true,
             forceFieldsForInlineCaptures = true,
             postLocalDeclarationLoweringCallback = context.localDeclarationsLoweringData?.let {
                 { data ->
diff --git a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/SingletonOrConstantDelegationLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/SingletonOrConstantDelegationLowering.kt
index 907f198..8265b9b 100644
--- a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/SingletonOrConstantDelegationLowering.kt
+++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/SingletonOrConstantDelegationLowering.kt
@@ -16,10 +16,7 @@
 import org.jetbrains.kotlin.ir.expressions.*
 import org.jetbrains.kotlin.ir.symbols.impl.IrAnonymousInitializerSymbolImpl
 import org.jetbrains.kotlin.ir.util.*
-import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
 import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid
-import org.jetbrains.kotlin.name.Name
-import org.jetbrains.kotlin.util.OperatorNameConventions
 
 internal val singletonOrConstantDelegationPhase = makeIrFilePhase(
     ::SingletonOrConstantDelegationLowering,
@@ -47,22 +44,14 @@
         if (!isDelegated || isFakeOverride || backingField == null) return null
         val delegate = backingField?.initializer?.expression?.takeIf { it.isInlineable() } ?: return null
         val originalThis = parentAsClass.thisReceiver
-        val receiverMapper = object : IrElementTransformer<Pair<Name, IrExpression>> {
-            override fun visitCall(expression: IrCall, data: Pair<Name, IrExpression>): IrExpression {
-                val (name, newReceiver) = data
-                if (expression.symbol.owner.name == name) {
-                    if ((expression.dispatchReceiver as? IrGetField)?.symbol == backingField?.symbol) {
-                        expression.dispatchReceiver = newReceiver
-                    } else if ((expression.extensionReceiver as? IrGetField)?.symbol == backingField?.symbol) {
-                        expression.extensionReceiver = newReceiver
-                    }
-                }
-                return expression
-            }
+
+        class DelegateFieldAccessTransformer(val newReceiver: IrExpression) : IrElementTransformerVoid() {
+            override fun visitGetField(expression: IrGetField): IrExpression =
+                if (expression.symbol == backingField?.symbol) newReceiver else super.visitGetField(expression)
         }
 
-        getter?.transform(receiverMapper,OperatorNameConventions.GET_VALUE to delegate.remapReceiver(originalThis, getter?.dispatchReceiverParameter))
-        setter?.transform(receiverMapper,OperatorNameConventions.SET_VALUE to delegate.remapReceiver(originalThis, setter?.dispatchReceiverParameter))
+        getter?.transform(DelegateFieldAccessTransformer(delegate.remapReceiver(originalThis, getter?.dispatchReceiverParameter)), null)
+        setter?.transform(DelegateFieldAccessTransformer(delegate.remapReceiver(originalThis, setter?.dispatchReceiverParameter)), null)
 
         backingField = null
 
diff --git a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/TypeOperatorLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/TypeOperatorLowering.kt
index 8aeb64d..e743176 100644
--- a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/TypeOperatorLowering.kt
+++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/TypeOperatorLowering.kt
@@ -19,6 +19,7 @@
 import org.jetbrains.kotlin.backend.jvm.ir.*
 import org.jetbrains.kotlin.backend.jvm.unboxInlineClass
 import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
+import org.jetbrains.kotlin.ir.IrBuiltIns
 import org.jetbrains.kotlin.ir.IrElement
 import org.jetbrains.kotlin.ir.IrStatement
 import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
@@ -36,6 +37,9 @@
 import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
 import org.jetbrains.kotlin.ir.visitors.acceptVoid
 import org.jetbrains.kotlin.name.Name
+import org.jetbrains.kotlin.types.Variance
+import org.jetbrains.kotlin.types.checker.SimpleClassicTypeSystemContext.getArgument
+import org.jetbrains.kotlin.types.checker.SimpleClassicTypeSystemContext.isTypeVariableType
 import org.jetbrains.kotlin.utils.addToStdlib.safeAs
 import org.jetbrains.org.objectweb.asm.Handle
 import org.jetbrains.org.objectweb.asm.Opcodes
@@ -88,6 +92,8 @@
                 builder.irAs(argument, type)
             argument.type.isInlineClassType() && argument.type.isSubtypeOfClass(type.erasedUpperBound.symbol) ->
                 argument
+            isCompatibleArrayType(argument.type, type) ->
+                argument
             type.isNullable() || argument.isDefinitelyNotNull() ->
                 builder.irAs(argument, type)
             else -> {
@@ -121,6 +127,22 @@
             }
         }
 
+    private fun isCompatibleArrayType(actualType: IrType, expectedType: IrType): Boolean {
+        var actual = actualType
+        var expected = expectedType
+        while ((actual.isArray() || actual.isNullableArray()) && (expected.isArray() || expected.isNullableArray())) {
+            actual = actual.getArrayElementLowerType()
+            expected = expected.getArrayElementLowerType()
+        }
+        if (actual == actualType || expected == expectedType) return false
+        return actual.isSubtypeOfClass(expected.erasedUpperBound.symbol)
+    }
+
+    private fun IrType.getArrayElementLowerType(): IrType =
+        if (isBoxedArray && this is IrSimpleType && (arguments.singleOrNull() as? IrTypeProjection)?.variance == Variance.IN_VARIANCE)
+            backendContext.irBuiltIns.anyNType
+        else getArrayElementType(backendContext.irBuiltIns)
+
     // TODO extract null check elimination on IR somewhere?
     private fun IrExpression.isDefinitelyNotNull(): Boolean =
         when (this) {
diff --git a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/EvaluationMode.kt b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/EvaluationMode.kt
index 1e6a0ef..0015734 100644
--- a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/EvaluationMode.kt
+++ b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/EvaluationMode.kt
@@ -103,7 +103,7 @@
     abstract fun canEvaluateEnumValue(enumEntry: IrGetEnumValue, context: IrCall? = null): Boolean
     abstract fun canEvaluateReference(reference: IrCallableReference<*>, context: IrCall? = null): Boolean
 
-    fun canEvaluateBody(function: IrFunction): Boolean {
+    fun mustCheckBodyOf(function: IrFunction): Boolean {
         if (function is IrSimpleFunction && function.correspondingPropertySymbol != null) return true
         return (mustCheckBody || function.isLocal) && !function.isContract() && !function.isMarkedAsEvaluateIntrinsic()
     }
diff --git a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/IrCompileTimeChecker.kt b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/IrCompileTimeChecker.kt
index b04e989..8142796 100644
--- a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/IrCompileTimeChecker.kt
+++ b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/IrCompileTimeChecker.kt
@@ -54,11 +54,14 @@
     private fun visitConstructor(expression: IrFunctionAccessExpression): Boolean {
         return when {
             !visitValueParameters(expression, null) || !mode.canEvaluateFunction(expression.symbol.owner, contextExpression) -> false
-            mode.canEvaluateBody(expression.symbol.owner) -> expression.symbol.owner.body?.accept(this, null) != false
-            else -> true
+            else -> expression.symbol.owner.visitBodyIfNeeded()
         }
     }
 
+    private fun IrFunction.visitBodyIfNeeded(): Boolean {
+        return this.asVisited { !mode.mustCheckBodyOf(this) || (this.body?.accept(this@IrCompileTimeChecker, null) ?: true) }
+    }
+
     override fun visitCall(expression: IrCall, data: Nothing?): Boolean {
         val owner = expression.symbol.owner
         if (!mode.canEvaluateFunction(owner, expression)) return false
@@ -67,7 +70,7 @@
             val dispatchReceiverComputable = expression.dispatchReceiver?.accept(this, null) ?: true
             val extensionReceiverComputable = expression.extensionReceiver?.accept(this, null) ?: true
             if (!visitValueParameters(expression, null)) return@saveContext false
-            val bodyComputable = owner.asVisited { if (mode.canEvaluateBody(owner)) owner.body?.accept(this, null) ?: true else true }
+            val bodyComputable = owner.visitBodyIfNeeded()
             return@saveContext dispatchReceiverComputable && extensionReceiverComputable && bodyComputable
         }
     }
@@ -126,7 +129,19 @@
     }
 
     override fun visitStringConcatenation(expression: IrStringConcatenation, data: Nothing?): Boolean {
-        return expression.arguments.all { it.accept(this, data) }
+        return expression.arguments.all { arg ->
+            when (arg) {
+                is IrGetObjectValue -> {
+                    val toString = arg.symbol.owner.declarations
+                        .filterIsInstance<IrSimpleFunction>()
+                        .single { it.name.asString() == "toString" && it.valueParameters.isEmpty() && it.extensionReceiverParameter == null }
+
+                    mode.canEvaluateFunction(toString, null) && toString.visitBodyIfNeeded()
+                }
+
+                else -> arg.accept(this, data)
+            }
+        }
     }
 
     override fun visitGetObjectValue(expression: IrGetObjectValue, data: Nothing?): Boolean {
@@ -218,7 +233,7 @@
 
         if (!mode.canEvaluateFunction(owner, contextExpression)) return false
 
-        val bodyComputable = owner.asVisited { if (mode.canEvaluateBody(owner)) owner.body?.accept(this, null) ?: true else true }
+        val bodyComputable = owner.visitBodyIfNeeded()
         return dispatchReceiverComputable && extensionReceiverComputable && bodyComputable
     }
 
diff --git a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/IrConstTransformer.kt b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/IrConstTransformer.kt
index b771947..b529f9c 100644
--- a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/IrConstTransformer.kt
+++ b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/IrConstTransformer.kt
@@ -55,8 +55,10 @@
         val result = try {
             interpreter.interpret(this, irFile)
         } catch (e: Throwable) {
-            if (!suppressExceptions) throw AssertionError("Error occurred while optimizing an expression:\n${this.dump()}", e)
-            return IrErrorExpressionImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET, this.type, e.message.toString()).warningIfError(this)
+            if (suppressExceptions) {
+                return this
+            }
+            throw AssertionError("Error occurred while optimizing an expression:\n${this.dump()}", e)
         }
 
         return if (failAsError) result.reportIfError(this) else result.warningIfError(this)
diff --git a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/proxy/CommonProxy.kt b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/proxy/CommonProxy.kt
index 83b3920..6298599 100644
--- a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/proxy/CommonProxy.kt
+++ b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/proxy/CommonProxy.kt
@@ -77,7 +77,7 @@
                 else -> arrayOf(extendFrom, Proxy::class.java)
             }
 
-            return java.lang.reflect.Proxy.newProxyInstance(ClassLoader.getSystemClassLoader(), interfaces)
+            return java.lang.reflect.Proxy.newProxyInstance(this::class.java.classLoader, interfaces)
             { /*proxy*/_, method, args ->
                 when {
                     method.declaringClass == Proxy::class.java && method.name == "getState" -> commonProxy.state
diff --git a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/state/Common.kt b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/state/Common.kt
index 9dafb97..f258d13 100644
--- a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/state/Common.kt
+++ b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/state/Common.kt
@@ -52,7 +52,7 @@
         return irClass.declarations
             .filterIsInstance<IrSimpleFunction>()
             .single {
-                it.name == Name.identifier("equals") && it.dispatchReceiverParameter != null
+                it.name == Name.identifier("equals") && it.dispatchReceiverParameter != null && it.extensionReceiverParameter == null
                         && it.valueParameters.size == 1 && it.valueParameters[0].type.isNullableAny()
             }
             .let { it.resolveFakeOverride() as IrSimpleFunction }
@@ -60,13 +60,13 @@
 
     fun getHashCodeFunction(): IrSimpleFunction {
         return irClass.declarations.filterIsInstance<IrSimpleFunction>()
-            .single { it.name.asString() == "hashCode" && it.valueParameters.isEmpty() }
+            .single { it.name.asString() == "hashCode" && it.valueParameters.isEmpty() && it.extensionReceiverParameter == null }
             .let { it.resolveFakeOverride() as IrSimpleFunction }
     }
 
     fun getToStringFunction(): IrSimpleFunction {
         return irClass.declarations.filterIsInstance<IrSimpleFunction>()
-            .single { it.name.asString() == "toString" && it.valueParameters.isEmpty() }
+            .single { it.name.asString() == "toString" && it.valueParameters.isEmpty() && it.extensionReceiverParameter == null }
             .let { it.resolveFakeOverride() as IrSimpleFunction }
     }
 
diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/CallGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/CallGenerator.kt
index 49c7598..bb2353d 100644
--- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/CallGenerator.kt
+++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/CallGenerator.kt
@@ -19,7 +19,6 @@
 import org.jetbrains.kotlin.descriptors.*
 import org.jetbrains.kotlin.descriptors.impl.LocalVariableDescriptor
 import org.jetbrains.kotlin.descriptors.impl.SyntheticFieldDescriptor
-import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB
 import org.jetbrains.kotlin.ir.declarations.IrVariable
 import org.jetbrains.kotlin.ir.expressions.*
 import org.jetbrains.kotlin.ir.expressions.impl.*
@@ -37,7 +36,6 @@
 import org.jetbrains.kotlin.resolve.calls.tasks.isDynamic
 import org.jetbrains.kotlin.resolve.calls.util.FakeCallableDescriptorForObject
 import org.jetbrains.kotlin.resolve.descriptorUtil.classValueType
-import org.jetbrains.kotlin.resolve.descriptorUtil.getSuperClassNotAny
 import org.jetbrains.kotlin.types.KotlinType
 
 class CallGenerator(statementGenerator: StatementGenerator) : StatementGeneratorExtension(statementGenerator) {
@@ -195,21 +193,6 @@
         }
     }
 
-    private fun PropertyDescriptor.containingClassForField(): ClassDescriptor? {
-        val ownContainingClass = containingDeclaration as? ClassDescriptor ?: return null
-        // For static field, we shouldn't unwrap fake override in any case
-        if (dispatchReceiverParameter == null) return ownContainingClass
-        val originalContainingClass = resolveFakeOverride().containingDeclaration as? ClassDescriptor ?: return ownContainingClass
-        // Find first Java super class to avoid possible visibility exposure & separate compilation problems
-        var containingClassForField = ownContainingClass
-        while (context.extensions.computeExternalDeclarationOrigin(containingClassForField) != IR_EXTERNAL_JAVA_DECLARATION_STUB &&
-            containingClassForField !== originalContainingClass
-        ) {
-            containingClassForField = containingClassForField.getSuperClassNotAny() ?: break
-        }
-        return containingClassForField
-    }
-
     private fun generatePropertyGetterCall(
         descriptor: PropertyDescriptor,
         startOffset: Int,
@@ -220,11 +203,10 @@
         val irType = descriptor.type.toIrType()
 
         return if (getMethodDescriptor == null) {
-            val superQualifierSymbol =
-                (call.superQualifier ?: descriptor.containingClassForField())?.let {
-                    if (it is ScriptDescriptor) null // otherwise it creates a reference to script as class; TODO: check if correct
-                    else context.symbolTable.referenceClass(it)
-                }
+            val superQualifierSymbol = (call.superQualifier ?: descriptor.containingDeclaration as? ClassDescriptor)?.let {
+                if (it is ScriptDescriptor) null // otherwise it creates a reference to script as class; TODO: check if correct
+                else context.symbolTable.referenceClass(it)
+            }
             val fieldSymbol =
                 context.symbolTable.referenceField(context.extensions.remapDebuggerFieldPropertyDescriptor(descriptor.resolveFakeOverride().original))
             call.callReceiver.call { dispatchReceiverValue, extensionReceiverValue, _ ->
diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/samConversions.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/samConversions.kt
index 3bb6910..657b534 100644
--- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/samConversions.kt
+++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/samConversions.kt
@@ -13,9 +13,7 @@
 import org.jetbrains.kotlin.descriptors.synthetic.FunctionInterfaceConstructorDescriptor
 import org.jetbrains.kotlin.resolve.sam.getFunctionTypeForAbstractMethod
 import org.jetbrains.kotlin.resolve.sam.getSingleAbstractMethodOrNull
-import org.jetbrains.kotlin.types.KotlinType
-import org.jetbrains.kotlin.types.TypeSubstitutor
-import org.jetbrains.kotlin.types.Variance
+import org.jetbrains.kotlin.types.*
 
 fun GeneratorExtensions.SamConversion.isSamType(kotlinType: KotlinType): Boolean {
     val descriptor = kotlinType.constructor.declarationDescriptor
@@ -35,12 +33,23 @@
             null
     }
 
-fun KotlinType.getSubstitutedFunctionTypeForSamType(): KotlinType {
+fun KotlinType.getSubstitutedFunctionTypeForSamType(): KotlinType =
+    when (val unwrapped = this.unwrap()) {
+        is SimpleType -> unwrapped.getSubstitutedFunctionTypeForSamType()
+        is FlexibleType -> KotlinTypeFactory.flexibleType(
+            unwrapped.lowerBound.getSubstitutedFunctionTypeForSamType(),
+            unwrapped.upperBound.getSubstitutedFunctionTypeForSamType(),
+        )
+    }
+
+private fun SimpleType.getSubstitutedFunctionTypeForSamType(): SimpleType {
     val descriptor = constructor.declarationDescriptor as? ClassDescriptor
         ?: throw AssertionError("SAM should be represented by a class: $this")
     val singleAbstractMethod = getSingleAbstractMethodOrNull(descriptor)
         ?: throw AssertionError("$descriptor should have a single abstract method")
-    val unsubstitutedFunctionType = getFunctionTypeForAbstractMethod(singleAbstractMethod, false)
-    return TypeSubstitutor.create(this).substitute(unsubstitutedFunctionType, Variance.INVARIANT)
+    val unsubstitutedFunctionType = getFunctionTypeForAbstractMethod(singleAbstractMethod, false).makeNullableAsSpecified(isMarkedNullable)
+    val result = TypeSubstitutor.create(this).substitute(unsubstitutedFunctionType, Variance.INVARIANT)
         ?: throw AssertionError("Failed to substitute function type $unsubstitutedFunctionType corresponding to $this")
+    return result as? SimpleType
+        ?: throw AssertionError("SAM type substitution result is not a simple type: $this -> $result")
 }
diff --git a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt
index a0a671a..395ff75 100644
--- a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt
+++ b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt
@@ -741,6 +741,7 @@
     val compatibilityMode = CompatibilityMode(abiVersion)
     val sourceBaseDirs = configuration[CommonConfigurationKeys.KLIB_RELATIVE_PATH_BASES] ?: emptyList()
     val absolutePathNormalization = configuration[CommonConfigurationKeys.KLIB_NORMALIZE_ABSOLUTE_PATH] ?: false
+    val signatureClashChecks = configuration[CommonConfigurationKeys.PRODUCE_KLIB_SIGNATURES_CLASH_CHECKS] ?: false
 
     val serializedIr =
         JsIrModuleSerializer(
@@ -750,7 +751,8 @@
             compatibilityMode,
             skipExpects = !configuration.expectActualLinker,
             normalizeAbsolutePaths = absolutePathNormalization,
-            sourceBaseDirs = sourceBaseDirs
+            sourceBaseDirs = sourceBaseDirs,
+            signatureClashChecks
         ).serializedIrModule(moduleFragment)
 
     val moduleDescriptor = moduleFragment.descriptor
diff --git a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsIrModuleSerializer.kt b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsIrModuleSerializer.kt
index de08c95..64b2088 100644
--- a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsIrModuleSerializer.kt
+++ b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsIrModuleSerializer.kt
@@ -7,6 +7,7 @@
 
 import org.jetbrains.kotlin.backend.common.serialization.CompatibilityMode
 import org.jetbrains.kotlin.backend.common.serialization.DeclarationTable
+import org.jetbrains.kotlin.backend.common.serialization.IdSignatureClashTracker
 import org.jetbrains.kotlin.backend.common.serialization.IrModuleSerializer
 import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
 import org.jetbrains.kotlin.ir.IrBuiltIns
@@ -21,10 +22,14 @@
     compatibilityMode: CompatibilityMode,
     val skipExpects: Boolean,
     normalizeAbsolutePaths: Boolean,
-    sourceBaseDirs: Collection<String>
+    sourceBaseDirs: Collection<String>,
+    shouldCheckSignaturesOnUniqueness: Boolean = true
 ) : IrModuleSerializer<JsIrFileSerializer>(messageLogger, compatibilityMode, normalizeAbsolutePaths, sourceBaseDirs) {
 
-    private val globalDeclarationTable = JsGlobalDeclarationTable(irBuiltIns)
+    private val globalDeclarationTable = JsGlobalDeclarationTable(
+        irBuiltIns,
+        if (shouldCheckSignaturesOnUniqueness) JsUniqIdClashTracker() else IdSignatureClashTracker.DEFAULT_TRACKER
+    )
 
     override fun createSerializerForFile(file: IrFile): JsIrFileSerializer =
         JsIrFileSerializer(
diff --git a/compiler/testData/cli/js/jsExtraHelp.out b/compiler/testData/cli/js/jsExtraHelp.out
index 7815c84..bc638bd 100644
--- a/compiler/testData/cli/js/jsExtraHelp.out
+++ b/compiler/testData/cli/js/jsExtraHelp.out
@@ -66,6 +66,8 @@
   -Xeffect-system            Enable experimental language feature: effect system
   -Xenable-builder-inference Use the builder inference by default, for all calls with lambdas which can't be resolved without it.
                              The corresponding calls' declarations may not be marked with @BuilderInference.
+  -Xklib-enable-signature-clash-checks
+                             Enable the checks on uniqueness of signatures
   -Xexpect-actual-linker     Enable experimental expect/actual linker
   -Xexplicit-api={strict|warning|disable}
                              Force compiler to report errors on all public API declarations without explicit visibility or return type.
diff --git a/compiler/testData/cli/jvm/extraHelp.out b/compiler/testData/cli/jvm/extraHelp.out
index c1a78bb..2e0b8ae 100644
--- a/compiler/testData/cli/jvm/extraHelp.out
+++ b/compiler/testData/cli/jvm/extraHelp.out
@@ -173,6 +173,8 @@
   -Xeffect-system            Enable experimental language feature: effect system
   -Xenable-builder-inference Use the builder inference by default, for all calls with lambdas which can't be resolved without it.
                              The corresponding calls' declarations may not be marked with @BuilderInference.
+  -Xklib-enable-signature-clash-checks
+                             Enable the checks on uniqueness of signatures
   -Xexpect-actual-linker     Enable experimental expect/actual linker
   -Xexplicit-api={strict|warning|disable}
                              Force compiler to report errors on all public API declarations without explicit visibility or return type.
diff --git a/compiler/testData/codegen/box/casts/arrayDowncastingContravariant.kt b/compiler/testData/codegen/box/casts/arrayDowncastingContravariant.kt
new file mode 100644
index 0000000..162cec4
--- /dev/null
+++ b/compiler/testData/codegen/box/casts/arrayDowncastingContravariant.kt
@@ -0,0 +1,10 @@
+// TARGET_BACKEND: JVM
+
+inline fun <reified T : CharSequence> f(x: Array<in String>) = x as Array<T>
+
+fun box(): String = try {
+    f<String>(arrayOf<Any>(42))
+    "Fail"
+} catch (e: Exception) {
+    "OK"
+}
\ No newline at end of file
diff --git a/compiler/testData/codegen/box/casts/arrayDowncatingInvariant.kt b/compiler/testData/codegen/box/casts/arrayDowncatingInvariant.kt
new file mode 100644
index 0000000..2964c1a
--- /dev/null
+++ b/compiler/testData/codegen/box/casts/arrayDowncatingInvariant.kt
@@ -0,0 +1,10 @@
+// TARGET_BACKEND: JVM
+
+inline fun <reified T : CharSequence> f(x: Array<Any>) = x as Array<T>
+
+fun box(): String = try {
+    f<String>(arrayOf<Any>(42))
+    "Fail"
+} catch (e: Exception) {
+    "OK"
+}
\ No newline at end of file
diff --git a/compiler/testData/codegen/box/casts/arrayDownctingCovariant.kt b/compiler/testData/codegen/box/casts/arrayDownctingCovariant.kt
new file mode 100644
index 0000000..5acb0ad
--- /dev/null
+++ b/compiler/testData/codegen/box/casts/arrayDownctingCovariant.kt
@@ -0,0 +1,10 @@
+// TARGET_BACKEND: JVM
+
+inline fun <reified T : CharSequence> f(x: Array<out Any>) = x as Array<T>
+
+fun box(): String = try {
+    f<String>(arrayOf<Int>(42))
+    "Fail"
+} catch (e: Exception) {
+    "OK"
+}
\ No newline at end of file
diff --git a/compiler/testData/codegen/box/casts/kt48927_privateMethodOnDerivedCastToBase.kt b/compiler/testData/codegen/box/casts/kt48927_privateMethodOnDerivedCastToBase.kt
index 7a9a73e..04fab3a 100644
--- a/compiler/testData/codegen/box/casts/kt48927_privateMethodOnDerivedCastToBase.kt
+++ b/compiler/testData/codegen/box/casts/kt48927_privateMethodOnDerivedCastToBase.kt
@@ -2,8 +2,13 @@
     private fun test(): String = "OK"
 
     fun test(d: Derived): String = (d as Base).test()
+
+    fun test(d: Array<out Derived>) = (d as Array<out Base>)[0].test()
 }
 
 class Derived : Base()
 
-fun box(): String = Derived().test(Derived())
+fun box(): String {
+    Derived().test(arrayOf(Derived()))
+    return Derived().test(Derived())
+}
diff --git a/compiler/testData/codegen/box/casts/kt53146.kt b/compiler/testData/codegen/box/casts/kt53146.kt
new file mode 100644
index 0000000..13d90fc
--- /dev/null
+++ b/compiler/testData/codegen/box/casts/kt53146.kt
@@ -0,0 +1,18 @@
+// TARGET_BACKEND: JVM_IR
+// WITH_STDLIB
+// FULL_JDK
+// CHECK_BYTECODE_TEXT
+
+class A
+
+fun box(): String {
+    val a = try {
+        A()
+    } catch (e: NoClassDefFoundError) {
+        null
+    }
+
+    return "OK"
+}
+
+// 0 CHECKCAST
diff --git a/compiler/testData/codegen/box/casts/kt53677.kt b/compiler/testData/codegen/box/casts/kt53677.kt
new file mode 100644
index 0000000..9c82fdd
--- /dev/null
+++ b/compiler/testData/codegen/box/casts/kt53677.kt
@@ -0,0 +1,29 @@
+// WITH_STDLIB
+// WITH_COROUTINES
+// DONT_TARGET_EXACT_BACKEND: JVM
+// DONT_TARGET_EXACT_BACKEND: JS
+
+import kotlin.coroutines.*
+
+public inline fun <reified T> myEmptyArray(): Array<T> = arrayOfNulls<T>(0) as Array<T>
+
+inline fun <reified T> Array<out T>?.myOrEmpty(): Array<out T> = this ?: myEmptyArray<T>()
+
+fun <T> runBlocking(c: suspend () -> T): T {
+    var res: T? = null
+    c.startCoroutine(Continuation(EmptyCoroutineContext) {
+        res = it.getOrThrow()
+    })
+    return res!!
+}
+
+suspend fun suspendHere(x: String) {}
+
+suspend fun main() {
+    arrayOf("1").myOrEmpty().forEach { suspendHere(it) }
+}
+
+fun box(): String {
+    runBlocking(::main)
+    return "OK"
+}
\ No newline at end of file
diff --git a/compiler/testData/codegen/box/casts/kt54581.kt b/compiler/testData/codegen/box/casts/kt54581.kt
new file mode 100644
index 0000000..dc1533e
--- /dev/null
+++ b/compiler/testData/codegen/box/casts/kt54581.kt
@@ -0,0 +1,17 @@
+// TARGET_BACKEND: JVM
+
+fun box(): String {
+    val k = tryOrNull { "K" }
+    return "O$k"
+}
+
+private inline fun <T> tryOrNull(action: () -> T): T? =
+    try {
+        action()
+    } catch (e: Throwable) {
+        when {
+            else -> {
+                null
+            }
+        }
+    }
\ No newline at end of file
diff --git a/compiler/testData/codegen/box/casts/kt54707.kt b/compiler/testData/codegen/box/casts/kt54707.kt
new file mode 100644
index 0000000..74a48eb
--- /dev/null
+++ b/compiler/testData/codegen/box/casts/kt54707.kt
@@ -0,0 +1,11 @@
+fun box(): String =
+    g(arrayOf("O"))
+
+fun g(x: Array<String>?): String =
+    x.orEmpty0().f { it + "K" }
+
+inline fun <T> Array<out T>.f(lambda: (T) -> T): T =
+    lambda(this[0])
+
+inline fun <reified T> Array<out T>?.orEmpty0(): Array<out T> =
+    this ?: (arrayOfNulls<T>(0) as Array<T>)
diff --git a/compiler/testData/codegen/box/casts/kt54802.kt b/compiler/testData/codegen/box/casts/kt54802.kt
new file mode 100644
index 0000000..dc66bf4
--- /dev/null
+++ b/compiler/testData/codegen/box/casts/kt54802.kt
@@ -0,0 +1,14 @@
+class K {
+    val x: String = "OK"
+}
+
+inline fun <T> Array<out T>.ifEmpty(body: () -> Array<out T>): Array<out T> =
+    if (size == 0) body() else this
+
+inline fun <T> Array<out T>.f(p: (T) -> String): String =
+    p(this[0])
+
+fun box(): String =
+    emptyArray<K>()
+        .ifEmpty { arrayOf(K()) }
+        .f(K::x)
diff --git a/compiler/testData/codegen/box/delegatedProperty/delegateToFinalProperty/kt54463_platformType.kt b/compiler/testData/codegen/box/delegatedProperty/delegateToFinalProperty/kt54463_platformType.kt
new file mode 100644
index 0000000..9c3af5b
--- /dev/null
+++ b/compiler/testData/codegen/box/delegatedProperty/delegateToFinalProperty/kt54463_platformType.kt
@@ -0,0 +1,22 @@
+// TARGET_BACKEND: JVM
+// FILE: A.java
+
+public class A {
+    public static A create() { return new A(); }
+}
+
+// FILE: box.kt
+
+import kotlin.reflect.KProperty
+
+class C {
+    private val valueState = A.create()
+    private val value by valueState
+
+    fun get(): String = value
+}
+
+operator fun A.getValue(thisRef: Any?, property: KProperty<*>): String = "OK"
+
+fun box(): String =
+    C().get()
diff --git a/compiler/testData/codegen/box/evaluate/stringConcatenationWithObject.kt b/compiler/testData/codegen/box/evaluate/stringConcatenationWithObject.kt
new file mode 100644
index 0000000..d8fac86
--- /dev/null
+++ b/compiler/testData/codegen/box/evaluate/stringConcatenationWithObject.kt
@@ -0,0 +1,15 @@
+// TARGET_BACKEND: JVM_IR
+
+object K : Code("K")
+
+open class Code(val x: String) {
+    override fun toString() = "$x"
+}
+
+class O {
+    companion object: Code("O")
+}
+
+fun box(): String {
+    return "$O" + "$K" // must not be evaluated during compile time
+}
\ No newline at end of file
diff --git a/compiler/testData/codegen/box/evaluate/thisPlusString.kt b/compiler/testData/codegen/box/evaluate/thisPlusString.kt
new file mode 100644
index 0000000..96254ec
--- /dev/null
+++ b/compiler/testData/codegen/box/evaluate/thisPlusString.kt
@@ -0,0 +1,17 @@
+// TARGET_BACKEND: JVM_IR
+// WITH_STDLIB
+
+object Test {
+    fun foo(): String = "foo " + this
+
+    fun bar(): String = "bar $this"
+
+    fun baz(): String = "baz " + this.toString()
+}
+
+fun box(): String {
+    if (!Test.foo().startsWith("foo ")) return "Fail ${Test.foo()}"
+    if (!Test.bar().startsWith("bar ")) return "Fail ${Test.bar()}"
+    if (!Test.baz().startsWith("baz ")) return "Fail ${Test.baz()}"
+    return "OK"
+}
diff --git a/compiler/testData/codegen/box/fieldRename/javaFieldAndCompanionProperty.kt b/compiler/testData/codegen/box/fieldRename/javaFieldAndCompanionProperty.kt
index 92e95b0..b126161 100644
--- a/compiler/testData/codegen/box/fieldRename/javaFieldAndCompanionProperty.kt
+++ b/compiler/testData/codegen/box/fieldRename/javaFieldAndCompanionProperty.kt
@@ -1,4 +1,7 @@
 // TARGET_BACKEND: JVM_IR
+// IGNORE_BACKEND: JVM_IR
+// IGNORE_BACKEND_FIR: JVM_IR
+// FIR_STATUS: accesses companion property backing field statically and fails (does not work in K1/JVM too)
 
 // FILE: Base.java
 public class Base {
diff --git a/compiler/testData/codegen/box/fieldRename/javaFieldAndKotlinPrivateProperty.kt b/compiler/testData/codegen/box/fieldRename/javaFieldAndKotlinPrivateProperty.kt
new file mode 100644
index 0000000..95c432f
--- /dev/null
+++ b/compiler/testData/codegen/box/fieldRename/javaFieldAndKotlinPrivateProperty.kt
@@ -0,0 +1,18 @@
+// TARGET_BACKEND: JVM_IR
+// Note: works accidentally via backing field access
+// Field VS property: case 4.2
+// More or less duplicates the case in KT-34943/KT-54393
+
+// FILE: BaseJava.java
+public class BaseJava {
+    public String a = "FAIL";
+}
+
+// FILE: Derived.kt
+class Derived : BaseJava() {
+    private val a = "OK"
+
+    fun x() = a
+}
+
+fun box() = Derived().x()
diff --git a/compiler/testData/codegen/box/fieldRename/javaFieldAndKotlinProperty.fir.ir.txt b/compiler/testData/codegen/box/fieldRename/javaFieldAndKotlinProperty.fir.ir.txt
deleted file mode 100644
index 4676708..0000000
--- a/compiler/testData/codegen/box/fieldRename/javaFieldAndKotlinProperty.fir.ir.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-FILE fqName:<root> fileName:/Derived.kt
-  CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[<root>.BaseJava]
-    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Derived
-    CONSTRUCTOR visibility:public <> () returnType:<root>.Derived [primary]
-      BLOCK_BODY
-        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.BaseJava'
-        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[<root>.BaseJava]'
-    PROPERTY name:a visibility:public modality:FINAL [val]
-      FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.String visibility:private [final]
-        EXPRESSION_BODY
-          CONST String type=kotlin.String value="FAIL"
-      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-a> visibility:public modality:FINAL <> ($this:<root>.Derived) returnType:kotlin.String
-        correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val]
-        $this: VALUE_PARAMETER name:<this> type:<root>.Derived
-        BLOCK_BODY
-          RETURN type=kotlin.Nothing from='public final fun <get-a> (): kotlin.String declared in <root>.Derived'
-            GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
-              receiver: GET_VAR '<this>: <root>.Derived declared in <root>.Derived.<get-a>' type=<root>.Derived origin=null
-    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
-      overridden:
-        public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in <root>.BaseJava
-      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
-      VALUE_PARAMETER name:other index:0 type:kotlin.Any?
-    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
-      overridden:
-        public open fun hashCode (): kotlin.Int [fake_override] declared in <root>.BaseJava
-      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
-    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
-      overridden:
-        public open fun toString (): kotlin.String [fake_override] declared in <root>.BaseJava
-      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
-  FUN name:box visibility:public modality:FINAL <> () returnType:@[FlexibleNullability] kotlin.String?
-    BLOCK_BODY
-      RETURN type=kotlin.Nothing from='public final fun box (): @[FlexibleNullability] kotlin.String? declared in <root>'
-        GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=GET_PROPERTY
-          receiver: CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.Derived' type=<root>.Derived origin=null
diff --git a/compiler/testData/codegen/box/fieldRename/javaFieldAndKotlinProperty.ir.txt b/compiler/testData/codegen/box/fieldRename/javaFieldAndKotlinProperty.ir.txt
deleted file mode 100644
index bee2c05..0000000
--- a/compiler/testData/codegen/box/fieldRename/javaFieldAndKotlinProperty.ir.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-FILE fqName:<root> fileName:/Derived.kt
-  CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[<root>.BaseJava]
-    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Derived
-    CONSTRUCTOR visibility:public <> () returnType:<root>.Derived [primary]
-      BLOCK_BODY
-        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.BaseJava'
-        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[<root>.BaseJava]'
-    PROPERTY name:a visibility:public modality:FINAL [val]
-      FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.String visibility:private [final]
-        EXPRESSION_BODY
-          CONST String type=kotlin.String value="FAIL"
-      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-a> visibility:public modality:FINAL <> ($this:<root>.Derived) returnType:kotlin.String
-        correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val]
-        $this: VALUE_PARAMETER name:<this> type:<root>.Derived
-        BLOCK_BODY
-          RETURN type=kotlin.Nothing from='public final fun <get-a> (): kotlin.String declared in <root>.Derived'
-            GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
-              receiver: GET_VAR '<this>: <root>.Derived declared in <root>.Derived.<get-a>' type=<root>.Derived origin=null
-    PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var]
-      overridden:
-        public final a: @[FlexibleNullability] kotlin.String? [var]
-    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
-      overridden:
-        public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in <root>.BaseJava
-      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
-      VALUE_PARAMETER name:other index:0 type:kotlin.Any?
-    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
-      overridden:
-        public open fun hashCode (): kotlin.Int [fake_override] declared in <root>.BaseJava
-      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
-    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
-      overridden:
-        public open fun toString (): kotlin.String [fake_override] declared in <root>.BaseJava
-      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
-  FUN name:box visibility:public modality:FINAL <> () returnType:@[FlexibleNullability] kotlin.String?
-    BLOCK_BODY
-      RETURN type=kotlin.Nothing from='public final fun box (): @[FlexibleNullability] kotlin.String? declared in <root>'
-        GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=GET_PROPERTY
-          receiver: CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.Derived' type=<root>.Derived origin=null
diff --git a/compiler/testData/codegen/box/fieldRename/javaFieldAndKotlinProperty.kt b/compiler/testData/codegen/box/fieldRename/javaFieldAndKotlinProperty.kt
index 6eac6bc..645cbbd 100644
--- a/compiler/testData/codegen/box/fieldRename/javaFieldAndKotlinProperty.kt
+++ b/compiler/testData/codegen/box/fieldRename/javaFieldAndKotlinProperty.kt
@@ -1,5 +1,9 @@
 // TARGET_BACKEND: JVM_IR
-// DUMP_IR
+// IGNORE_BACKEND: JVM_IR
+// IGNORE_BACKEND_FIR: JVM_IR
+// FIR_STATUS: accesses property backing field accidentally and fails with exception (does not work in K1/JVM too)
+// Field VS property: case 4.1
+// See KT-54393 for details
 
 // FILE: BaseJava.java
 public class BaseJava {
diff --git a/compiler/testData/codegen/box/sam/kt54600.fir.ir.txt b/compiler/testData/codegen/box/sam/kt54600.fir.ir.txt
new file mode 100644
index 0000000..d01302d
--- /dev/null
+++ b/compiler/testData/codegen/box/sam/kt54600.fir.ir.txt
@@ -0,0 +1,15 @@
+FILE fqName:<root> fileName:/box.kt
+  FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String
+    BLOCK_BODY
+      RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
+        CALL 'public final fun foo (filter: kotlin.Function1<kotlin.String, kotlin.Boolean>?): kotlin.String declared in <root>' type=kotlin.String origin=null
+          filter: CONST Null type=kotlin.Nothing? value=null
+  FUN name:foo visibility:public modality:FINAL <> (filter:kotlin.Function1<kotlin.String, kotlin.Boolean>?) returnType:kotlin.String
+    VALUE_PARAMETER name:filter index:0 type:kotlin.Function1<kotlin.String, kotlin.Boolean>?
+    BLOCK_BODY
+      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
+        CONSTRUCTOR_CALL 'public constructor <init> (filter: @[FlexibleNullability] <root>.Condition<in @[FlexibleNullability] kotlin.String?>?) declared in <root>.J' type=<root>.J origin=null
+          filter: TYPE_OP type=@[FlexibleNullability] <root>.Condition<@[FlexibleNullability] kotlin.String?>? origin=SAM_CONVERSION typeOperand=@[FlexibleNullability] <root>.Condition<@[FlexibleNullability] kotlin.String?>?
+            GET_VAR 'filter: kotlin.Function1<kotlin.String, kotlin.Boolean>? declared in <root>.foo' type=kotlin.Function1<kotlin.String, kotlin.Boolean>? origin=null
+      RETURN type=kotlin.Nothing from='public final fun foo (filter: kotlin.Function1<kotlin.String, kotlin.Boolean>?): kotlin.String declared in <root>'
+        CONST String type=kotlin.String value="OK"
diff --git a/compiler/testData/codegen/box/sam/kt54600.ir.txt b/compiler/testData/codegen/box/sam/kt54600.ir.txt
new file mode 100644
index 0000000..97f44ae
--- /dev/null
+++ b/compiler/testData/codegen/box/sam/kt54600.ir.txt
@@ -0,0 +1,16 @@
+FILE fqName:<root> fileName:/box.kt
+  FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String
+    BLOCK_BODY
+      RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
+        CALL 'public final fun foo (filter: kotlin.Function1<kotlin.String, kotlin.Boolean>?): kotlin.String declared in <root>' type=kotlin.String origin=null
+          filter: CONST Null type=kotlin.Nothing? value=null
+  FUN name:foo visibility:public modality:FINAL <> (filter:kotlin.Function1<kotlin.String, kotlin.Boolean>?) returnType:kotlin.String
+    VALUE_PARAMETER name:filter index:0 type:kotlin.Function1<kotlin.String, kotlin.Boolean>?
+    BLOCK_BODY
+      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
+        CONSTRUCTOR_CALL 'public constructor <init> (filter: @[FlexibleNullability] <root>.Condition<in @[FlexibleNullability] kotlin.String?>?) declared in <root>.J' type=<root>.J origin=null
+          filter: TYPE_OP type=@[FlexibleNullability] <root>.Condition<kotlin.Any?>? origin=SAM_CONVERSION typeOperand=@[FlexibleNullability] <root>.Condition<kotlin.Any?>?
+            TYPE_OP type=@[FlexibleNullability] kotlin.Function1<@[ParameterName(name = 't')] kotlin.Any?, kotlin.Boolean>? origin=IMPLICIT_CAST typeOperand=@[FlexibleNullability] kotlin.Function1<@[ParameterName(name = 't')] kotlin.Any?, kotlin.Boolean>?
+              GET_VAR 'filter: kotlin.Function1<kotlin.String, kotlin.Boolean>? declared in <root>.foo' type=kotlin.Function1<kotlin.String, kotlin.Boolean>? origin=null
+      RETURN type=kotlin.Nothing from='public final fun foo (filter: kotlin.Function1<kotlin.String, kotlin.Boolean>?): kotlin.String declared in <root>'
+        CONST String type=kotlin.String value="OK"
diff --git a/compiler/testData/codegen/box/sam/kt54600.kt b/compiler/testData/codegen/box/sam/kt54600.kt
new file mode 100644
index 0000000..7b96d0a
--- /dev/null
+++ b/compiler/testData/codegen/box/sam/kt54600.kt
@@ -0,0 +1,27 @@
+// TARGET_BACKEND: JVM
+// DUMP_IR
+// FILE: box.kt
+
+fun box(): String =
+    foo(null)
+
+fun foo(filter: ((String) -> Boolean)?): String {
+    J(filter)
+    return "OK"
+}
+
+// FILE: J.java
+
+public class J {
+    public J(Condition<? super String> filter) {
+        if (filter != null) {
+            filter.value("");
+        }
+    }
+}
+
+// FILE: Condition.java
+
+public interface Condition<T> {
+    boolean value(T t);
+}
diff --git a/compiler/testData/codegen/bytecodeListing/delegatedProperty/localDelegatedProperty.kt b/compiler/testData/codegen/bytecodeListing/delegatedProperty/localDelegatedProperty.kt
new file mode 100644
index 0000000..fe9991b
--- /dev/null
+++ b/compiler/testData/codegen/bytecodeListing/delegatedProperty/localDelegatedProperty.kt
@@ -0,0 +1,10 @@
+// This test checks that we use the `...$lambda-0` method name, instead of `...$lambda$0`, for extracted accessors of local delegated properties.
+// It's important to keep these names until we fix the binary compatibility issue KT-49030.
+
+operator fun String.getValue(thisRef: Any?, prop: Any?): String = this
+operator fun String.setValue(thisRef: Any?, prop: Any?, value: String) {}
+
+inline fun foo(): String {
+    var x by "OK"
+    return x
+}
diff --git a/compiler/testData/codegen/bytecodeListing/delegatedProperty/localDelegatedProperty.txt b/compiler/testData/codegen/bytecodeListing/delegatedProperty/localDelegatedProperty.txt
new file mode 100644
index 0000000..076966a
--- /dev/null
+++ b/compiler/testData/codegen/bytecodeListing/delegatedProperty/localDelegatedProperty.txt
@@ -0,0 +1,20 @@
+@kotlin.Metadata
+public final class LocalDelegatedPropertyKt$foo$x$1 {
+    // source: 'localDelegatedProperty.kt'
+    public final static field INSTANCE: kotlin.reflect.KMutableProperty0
+    static method <clinit>(): void
+    method <init>(): void
+    public method getName(): java.lang.String
+    public method getOwner(): kotlin.reflect.KDeclarationContainer
+    public method getSignature(): java.lang.String
+}
+
+@kotlin.Metadata
+public final class LocalDelegatedPropertyKt {
+    // source: 'localDelegatedProperty.kt'
+    synthetic final static field $$delegatedProperties: kotlin.reflect.KProperty[]
+    static method <clinit>(): void
+    public final static @org.jetbrains.annotations.NotNull method foo(): java.lang.String
+    public final static @org.jetbrains.annotations.NotNull method getValue(@org.jetbrains.annotations.NotNull p0: java.lang.String, @org.jetbrains.annotations.Nullable p1: java.lang.Object, @org.jetbrains.annotations.Nullable p2: java.lang.Object): java.lang.String
+    public final static method setValue(@org.jetbrains.annotations.NotNull p0: java.lang.String, @org.jetbrains.annotations.Nullable p1: java.lang.Object, @org.jetbrains.annotations.Nullable p2: java.lang.Object, @org.jetbrains.annotations.NotNull p3: java.lang.String): void
+}
diff --git a/compiler/testData/codegen/bytecodeListing/delegatedProperty/localDelegatedProperty_ir.txt b/compiler/testData/codegen/bytecodeListing/delegatedProperty/localDelegatedProperty_ir.txt
new file mode 100644
index 0000000..9220aaa
--- /dev/null
+++ b/compiler/testData/codegen/bytecodeListing/delegatedProperty/localDelegatedProperty_ir.txt
@@ -0,0 +1,12 @@
+@kotlin.Metadata
+public final class LocalDelegatedPropertyKt {
+    // source: 'localDelegatedProperty.kt'
+    synthetic final static field $$delegatedProperties: kotlin.reflect.KProperty[]
+    static method <clinit>(): void
+    public synthetic final static method access$foo$lambda-0(p0: java.lang.String): java.lang.String
+    private final static method foo$lambda-0(p0: java.lang.String): java.lang.String
+    private final static method foo$lambda-1(p0: java.lang.String, p1: java.lang.String): void
+    public final static @org.jetbrains.annotations.NotNull method foo(): java.lang.String
+    public final static @org.jetbrains.annotations.NotNull method getValue(@org.jetbrains.annotations.NotNull p0: java.lang.String, @org.jetbrains.annotations.Nullable p1: java.lang.Object, @org.jetbrains.annotations.Nullable p2: java.lang.Object): java.lang.String
+    public final static method setValue(@org.jetbrains.annotations.NotNull p0: java.lang.String, @org.jetbrains.annotations.Nullable p1: java.lang.Object, @org.jetbrains.annotations.Nullable p2: java.lang.Object, @org.jetbrains.annotations.NotNull p3: java.lang.String): void
+}
diff --git a/compiler/testData/codegen/bytecodeText/checkcast/kt53465.kt b/compiler/testData/codegen/bytecodeText/checkcast/kt53465.kt
new file mode 100644
index 0000000..36e6e31
--- /dev/null
+++ b/compiler/testData/codegen/bytecodeText/checkcast/kt53465.kt
@@ -0,0 +1,15 @@
+// TARGET_BACKEND: JVM_IR
+
+public inline fun <reified T> myEmptyArray(): Array<T> = arrayOfNulls<T>(0) as Array<T>
+
+inline fun <reified T> Array<out T>?.myOrEmpty(): Array<out T> = this ?: myEmptyArray<T>()
+
+fun foo(a : Array<String>?) = a.myOrEmpty()
+
+val a = arrayOf<Int>(1) as Array<Any>
+
+val b = arrayOf<Int>(1) as Array<Int>
+
+val c = arrayOf(arrayOf<Int>(1)) as Array<Array<Any>?>
+
+// 0 CHECKCAST
\ No newline at end of file
diff --git a/compiler/testData/codegen/bytecodeText/javaFields.kt b/compiler/testData/codegen/bytecodeText/javaFields.kt
index cbb3edc..a3afb7b 100644
--- a/compiler/testData/codegen/bytecodeText/javaFields.kt
+++ b/compiler/testData/codegen/bytecodeText/javaFields.kt
@@ -16,18 +16,8 @@
 
 fun test1(j: Kotlin2) = j.f
 
-// JVM_IR_TEMPLATES
-// @Kotlin2.class:
-// 2 GETFIELD Java2.f : I
-
-// JVM_IR_TEMPLATES
-// @TestKt.class:
-// 2 GETFIELD Java2.f : I
-
-// JVM_TEMPLATES
 // @Kotlin2.class:
 // 1 GETFIELD Java2.f : I
 
-// JVM_TEMPLATES
 // @TestKt.class:
-// 1 GETFIELD Java2.f : I
\ No newline at end of file
+// 1 GETFIELD Kotlin2.f : I
\ No newline at end of file
diff --git a/compiler/testData/codegen/bytecodeText/javaFieldsWithIntersectionTypes.kt b/compiler/testData/codegen/bytecodeText/javaFieldsWithIntersectionTypes.kt
index ac29c48..93bcb38 100644
--- a/compiler/testData/codegen/bytecodeText/javaFieldsWithIntersectionTypes.kt
+++ b/compiler/testData/codegen/bytecodeText/javaFieldsWithIntersectionTypes.kt
@@ -31,13 +31,7 @@
 }
 
 // @TestKt.class:
-// 1 PUTFIELD JFieldOwner.f : I
-// 1 PUTFIELD Mid.f : I
-
-// JVM_IR_TEMPLATES
-// 2 GETFIELD JFieldOwner.f : I
-// 0 GETFIELD Mid.f : I
-
-// JVM_TEMPLATES
 // 1 GETFIELD JFieldOwner.f : I
+// 1 PUTFIELD JFieldOwner.f : I
 // 1 GETFIELD Mid.f : I
+// 1 PUTFIELD Mid.f : I
diff --git a/compiler/testData/diagnostics/tests/modifiers/const/stringConcatenationWithObject.kt b/compiler/testData/diagnostics/tests/modifiers/const/stringConcatenationWithObject.kt
new file mode 100644
index 0000000..d45298b
--- /dev/null
+++ b/compiler/testData/diagnostics/tests/modifiers/const/stringConcatenationWithObject.kt
@@ -0,0 +1,18 @@
+// FIR_IDENTICAL
+
+object O : Code(0)
+
+open class Code(val x: Int) {
+    override fun toString() = "$x"
+}
+
+class A {
+    companion object: Code(0)
+}
+
+const val toString1 = <!CONST_VAL_WITH_NON_CONST_INITIALIZER!>O.toString()<!>
+const val toString2 = <!CONST_VAL_WITH_NON_CONST_INITIALIZER!>A.toString()<!>
+const val plusString1 = <!CONST_VAL_WITH_NON_CONST_INITIALIZER!>"string" + O<!>
+const val plusString2 = <!CONST_VAL_WITH_NON_CONST_INITIALIZER!>"string" + A<!>
+const val stringConcat1 = <!CONST_VAL_WITH_NON_CONST_INITIALIZER!>"$O"<!>
+const val stringConcat2 = <!CONST_VAL_WITH_NON_CONST_INITIALIZER!>"$A"<!>
diff --git a/compiler/testData/diagnostics/tests/modifiers/const/stringConcatenationWithObject.txt b/compiler/testData/diagnostics/tests/modifiers/const/stringConcatenationWithObject.txt
new file mode 100644
index 0000000..aa9727da
--- /dev/null
+++ b/compiler/testData/diagnostics/tests/modifiers/const/stringConcatenationWithObject.txt
@@ -0,0 +1,40 @@
+package
+
+public const val plusString1: kotlin.String
+public const val plusString2: kotlin.String
+public const val stringConcat1: kotlin.String
+public const val stringConcat2: kotlin.String
+public const val toString1: kotlin.String
+public const val toString2: kotlin.String
+
+public final class A {
+    public constructor A()
+    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
+    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
+    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
+
+    public companion object Companion : Code {
+        private constructor Companion()
+        public final override /*1*/ /*fake_override*/ val x: kotlin.Int
+        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
+        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
+        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
+    }
+}
+
+public open class Code {
+    public constructor Code(/*0*/ x: kotlin.Int)
+    public final val x: kotlin.Int
+    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
+    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
+    public open override /*1*/ fun toString(): kotlin.String
+}
+
+public object O : Code {
+    private constructor O()
+    public final override /*1*/ /*fake_override*/ val x: kotlin.Int
+    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
+    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
+    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
+}
+
diff --git a/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment.fir.kt b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment.fir.kt
new file mode 100644
index 0000000..dfdcf24
--- /dev/null
+++ b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment.fir.kt
@@ -0,0 +1,24 @@
+class Foo<T : Any> {
+    fun doSmthng(arg: T) {}
+    var a: T? = null
+}
+
+fun <T : Any> myBuilder(block: Foo<T>.() -> Unit) : Foo<T> = Foo<T>().apply(block)
+
+fun main(arg: Any) {
+    val x = 57
+    val value = myBuilder {
+        doSmthng("one ")
+        run { a; this }.a = <!ASSIGNMENT_TYPE_MISMATCH!>10<!>
+        a += 1
+        this.a = <!ASSIGNMENT_TYPE_MISMATCH!>57<!>
+        this.(a) = 57
+        a = <!ASSIGNMENT_TYPE_MISMATCH!>x<!>
+        (a) = <!ASSIGNMENT_TYPE_MISMATCH!>x<!>
+        a.<!FUNCTION_CALL_EXPECTED!>hashCode<!> = 99
+        if (arg is String) {
+            a = arg
+        }
+    }
+    println(value.a?.count { it in 'l' .. 'q' })
+}
diff --git a/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment.kt b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment.kt
new file mode 100644
index 0000000..08aa7d2c
--- /dev/null
+++ b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment.kt
@@ -0,0 +1,24 @@
+class Foo<T : Any> {
+    fun doSmthng(arg: T) {}
+    var a: T? = null
+}
+
+fun <T : Any> myBuilder(block: Foo<T>.() -> Unit) : Foo<T> = Foo<T>().apply(block)
+
+fun main(arg: Any) {
+    val x = 57
+    val value = myBuilder {
+        doSmthng("one ")
+        run { a; this }.a = <!TYPE_MISMATCH, TYPE_MISMATCH!>10<!>
+        <!BUILDER_INFERENCE_STUB_RECEIVER, STUB_TYPE_IN_RECEIVER_CAUSES_AMBIGUITY, TYPE_MISMATCH, TYPE_MISMATCH!>a<!> <!OVERLOAD_RESOLUTION_AMBIGUITY_BECAUSE_OF_STUB_TYPES!>+=<!> 1
+        this.a = <!TYPE_MISMATCH!>57<!>
+        this.<!ILLEGAL_SELECTOR, VARIABLE_EXPECTED!>(a)<!> = <!TYPE_MISMATCH!>57<!>
+        a = <!TYPE_MISMATCH!>x<!>
+        (a) = <!TYPE_MISMATCH!>x<!>
+        <!TYPE_MISMATCH!>a<!>.<!FUNCTION_CALL_EXPECTED, VARIABLE_EXPECTED!>hashCode<!> = <!TYPE_MISMATCH, TYPE_MISMATCH!>99<!>
+        if (arg is String) {
+            a = arg
+        }
+    }
+    println(value.a?.count { it in 'l' .. 'q' })
+}
diff --git a/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment.txt b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment.txt
new file mode 100644
index 0000000..15fed74
--- /dev/null
+++ b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment.txt
@@ -0,0 +1,14 @@
+package
+
+public fun main(/*0*/ arg: kotlin.Any): kotlin.Unit
+public fun </*0*/ T : kotlin.Any> myBuilder(/*0*/ block: Foo<T>.() -> kotlin.Unit): Foo<T>
+
+public final class Foo</*0*/ T : kotlin.Any> {
+    public constructor Foo</*0*/ T : kotlin.Any>()
+    public final var a: T?
+    public final fun doSmthng(/*0*/ arg: T): kotlin.Unit
+    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
+    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
+    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
+}
+
diff --git a/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignmentExtra.fir.kt b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignmentExtra.fir.kt
new file mode 100644
index 0000000..8fad616
--- /dev/null
+++ b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignmentExtra.fir.kt
@@ -0,0 +1,77 @@
+// WITH_REFLECT
+// FIR_DUMP
+import kotlin.reflect.*
+
+interface Foo<T : Any> {
+    var a: T
+    val b: Array<T>
+
+    fun accept(arg: T)
+}
+
+<!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class FooImpl<!><T : Any> : Foo<T>
+
+fun bar(p: KMutableProperty0<Int>) {
+    p.set(100)
+}
+
+fun <T : Any> myBuilder(block: Foo<T>.() -> Unit): Foo<T> = FooImpl<T>().apply(block)
+
+fun <T : Any> Foo<T>.change(block: Foo<T>.() -> Unit): Foo<T> {
+    this.block()
+    return this
+}
+
+fun main(arg: Any, condition: Boolean) {
+    val value = myBuilder {
+        b[0] = 123
+        a = 45
+        a<!OVERLOAD_RESOLUTION_AMBIGUITY!>++<!>
+        bar(::a)
+        if (<!USELESS_IS_CHECK!>a is Int<!>) {
+            a = 67
+            a<!OVERLOAD_RESOLUTION_AMBIGUITY!>--<!>
+            bar(::a)
+        }
+        when (condition) {
+            true -> a = 87
+            false -> a = 65
+        }
+        val x by <!DELEGATE_SPECIAL_FUNCTION_AMBIGUITY!>a<!>
+
+        change {
+            a = 99
+        }
+    }
+
+    val value2 = myBuilder {
+        accept("")
+        a = <!ASSIGNMENT_TYPE_MISMATCH!>45<!>
+        when (condition) {
+            true -> a = <!ASSIGNMENT_TYPE_MISMATCH!>87<!>
+            false -> a = <!ASSIGNMENT_TYPE_MISMATCH!>65<!>
+        }
+        change {
+            a = <!ASSIGNMENT_TYPE_MISMATCH!>99<!>
+        }
+        if (a is Int) {
+            a = <!ASSIGNMENT_TYPE_MISMATCH!>67<!>
+        }
+    }
+
+    // See KT-54664
+    val value3 = myBuilder {
+        accept("")
+        a = 45
+        bar(::a)
+    }
+
+    fun baz(t: Int) {}
+
+    val value4 = myBuilder {
+        accept("")
+        a = 45
+        b[0] = 123
+        baz(a)
+    }
+}
diff --git a/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignmentExtra.fir.txt b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignmentExtra.fir.txt
new file mode 100644
index 0000000..2189bd1
--- /dev/null
+++ b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignmentExtra.fir.txt
@@ -0,0 +1,103 @@
+FILE: unsafeAssignmentExtra.fir.kt
+    public abstract interface Foo<T : R|kotlin/Any|> : R|kotlin/Any| {
+        public abstract var a: R|T|
+            public get(): R|T|
+            public set(value: R|T|): R|kotlin/Unit|
+
+        public abstract val b: R|kotlin/Array<T>|
+            public get(): R|kotlin/Array<T>|
+
+        public abstract fun accept(arg: R|T|): R|kotlin/Unit|
+
+    }
+    public final class FooImpl<T : R|kotlin/Any|> : R|Foo<T>| {
+        public constructor<T : R|kotlin/Any|>(): R|FooImpl<T>| {
+            super<R|kotlin/Any|>()
+        }
+
+    }
+    public final fun bar(p: R|kotlin/reflect/KMutableProperty0<kotlin/Int>|): R|kotlin/Unit| {
+        R|<local>/p|.R|SubstitutionOverride<kotlin/reflect/KMutableProperty0.set: R|kotlin/Unit|>|(Int(100))
+    }
+    public final fun <T : R|kotlin/Any|> myBuilder(block: R|Foo<T>.() -> kotlin/Unit|): R|Foo<T>| {
+        ^myBuilder R|/FooImpl.FooImpl|<R|T|>().R|kotlin/apply|<R|FooImpl<T>|>(R|<local>/block|)
+    }
+    public final fun <T : R|kotlin/Any|> R|Foo<T>|.change(block: R|Foo<T>.() -> kotlin/Unit|): R|Foo<T>| {
+        R|<local>/block|.R|SubstitutionOverride<kotlin/Function1.invoke: R|kotlin/Unit|>|(this@R|/change|)
+        ^change this@R|/change|
+    }
+    public final fun main(arg: R|kotlin/Any|, condition: R|kotlin/Boolean|): R|kotlin/Unit| {
+        lval value: R|Foo<kotlin/Int>| = R|/myBuilder|<R|kotlin/Int|>(<L> = myBuilder@fun R|Foo<kotlin/Int>|.<anonymous>(): R|kotlin/Unit| <inline=NoInline>  {
+            this@R|special/anonymous|.R|SubstitutionOverride</Foo.b: R|kotlin/Array<Stub (chain inference): TypeVariable(T)>|>|.R|SubstitutionOverride<kotlin/Array.set: R|kotlin/Unit|>|(Int(0), Int(123))
+            this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>| = Int(45)
+            lval <unary>: R|kotlin/Int| = this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>|
+            this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>| = R|<local>/<unary>|.<Ambiguity: inc, [kotlin/inc, kotlin/inc]>#()
+            R|<local>/<unary>|
+            R|/bar|(::R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>|)
+            when () {
+                (this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>| is R|kotlin/Int|) ->  {
+                    this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>| = Int(67)
+                    lval <unary>: R|kotlin/Int| = this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>|
+                    this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>| = R|<local>/<unary>|.<Ambiguity: dec, [kotlin/dec, kotlin/dec]>#()
+                    R|<local>/<unary>|
+                    R|/bar|(::R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>|)
+                }
+            }
+
+            when (R|<local>/condition|) {
+                ==($subj$, Boolean(true)) ->  {
+                    this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>| = Int(87)
+                }
+                ==($subj$, Boolean(false)) ->  {
+                    this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>| = Int(65)
+                }
+            }
+
+            lval x: <ERROR TYPE REF: Ambiguity: getValue, [kotlin/getValue, kotlin/getValue, kotlin/getValue, kotlin/collections/getValue, kotlin/collections/getValue]>by this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>|
+            this@R|special/anonymous|.R|/change|<R|kotlin/Int|>(<L> = change@fun R|Foo<kotlin/Int>|.<anonymous>(): R|kotlin/Unit| <inline=NoInline>  {
+                this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>| = Int(99)
+            }
+            )
+        }
+        )
+        lval value2: R|Foo<kotlin/String>| = R|/myBuilder|<R|kotlin/String|>(<L> = myBuilder@fun R|Foo<kotlin/String>|.<anonymous>(): R|kotlin/Unit| <inline=NoInline>  {
+            this@R|special/anonymous|.R|SubstitutionOverride</Foo.accept: R|kotlin/Unit|>|(String())
+            this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>| = Int(45)
+            when (R|<local>/condition|) {
+                ==($subj$, Boolean(true)) ->  {
+                    this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>| = Int(87)
+                }
+                ==($subj$, Boolean(false)) ->  {
+                    this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>| = Int(65)
+                }
+            }
+
+            this@R|special/anonymous|.R|/change|<R|kotlin/String|>(<L> = change@fun R|Foo<kotlin/String>|.<anonymous>(): R|kotlin/Unit| <inline=NoInline>  {
+                this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>| = Int(99)
+            }
+            )
+            when () {
+                (this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>| is R|kotlin/Int|) ->  {
+                    this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>| = Int(67)
+                }
+            }
+
+        }
+        )
+        lval value3: R|Foo<kotlin/Int>| = R|/myBuilder|<R|kotlin/Int|>(<L> = myBuilder@fun R|Foo<kotlin/Int>|.<anonymous>(): R|kotlin/Unit| <inline=NoInline>  {
+            this@R|special/anonymous|.R|SubstitutionOverride</Foo.accept: R|kotlin/Unit|>|(String())
+            this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>| = Int(45)
+            R|/bar|(::R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>|)
+        }
+        )
+        local final fun baz(t: R|kotlin/Int|): R|kotlin/Unit| {
+        }
+
+        lval value4: R|Foo<it(kotlin/Comparable<*> & java/io/Serializable)>| = R|/myBuilder|<R|it(kotlin/Comparable<*> & java/io/Serializable)|>(<L> = myBuilder@fun R|Foo<it(kotlin/Comparable<*> & java/io/Serializable)>|.<anonymous>(): R|kotlin/Unit| <inline=NoInline>  {
+            this@R|special/anonymous|.R|SubstitutionOverride</Foo.accept: R|kotlin/Unit|>|(String())
+            this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>| = Int(45)
+            this@R|special/anonymous|.R|SubstitutionOverride</Foo.b: R|kotlin/Array<Stub (chain inference): TypeVariable(T)>|>|.R|SubstitutionOverride<kotlin/Array.set: R|kotlin/Unit|>|(Int(0), Int(123))
+            R|<local>/baz|(this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)|>|)
+        }
+        )
+    }
diff --git a/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignmentExtra.kt b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignmentExtra.kt
new file mode 100644
index 0000000..e33c3c3
--- /dev/null
+++ b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignmentExtra.kt
@@ -0,0 +1,77 @@
+// WITH_REFLECT
+// FIR_DUMP
+import kotlin.reflect.*
+
+interface Foo<T : Any> {
+    var a: T
+    val b: Array<T>
+
+    fun accept(arg: T)
+}
+
+<!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class FooImpl<!><T : Any> : Foo<T>
+
+fun bar(p: KMutableProperty0<Int>) {
+    p.set(100)
+}
+
+fun <T : Any> myBuilder(block: Foo<T>.() -> Unit): Foo<T> = FooImpl<T>().apply(block)
+
+fun <T : Any> Foo<T>.change(block: Foo<T>.() -> Unit): Foo<T> {
+    this.block()
+    return this
+}
+
+fun main(arg: Any, condition: Boolean) {
+    val value = myBuilder {
+        b[0] = 123
+        a = 45
+        <!STUB_TYPE_IN_RECEIVER_CAUSES_AMBIGUITY!>a<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE, OVERLOAD_RESOLUTION_AMBIGUITY, OVERLOAD_RESOLUTION_AMBIGUITY_BECAUSE_OF_STUB_TYPES!>++<!>
+        bar(::a)
+        if (<!USELESS_IS_CHECK, USELESS_IS_CHECK!>a is Int<!>) {
+            a = 67
+            <!STUB_TYPE_IN_RECEIVER_CAUSES_AMBIGUITY!>a<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE, OVERLOAD_RESOLUTION_AMBIGUITY, OVERLOAD_RESOLUTION_AMBIGUITY_BECAUSE_OF_STUB_TYPES!>--<!>
+            bar(::a)
+        }
+        when (condition) {
+            true -> a = 87
+            false -> a = 65
+        }
+        val x by <!DELEGATE_SPECIAL_FUNCTION_AMBIGUITY!>a<!>
+
+        change {
+            a = 99
+        }
+    }
+
+    val value2 = myBuilder {
+        accept("")
+        a = <!TYPE_MISMATCH!>45<!>
+        when (condition) {
+            true -> a = <!TYPE_MISMATCH!>87<!>
+            false -> a = <!TYPE_MISMATCH!>65<!>
+        }
+        change {
+            a = <!TYPE_MISMATCH!>99<!>
+        }
+        if (<!USELESS_IS_CHECK, USELESS_IS_CHECK!>a is Int<!>) {
+            a = <!TYPE_MISMATCH!>67<!>
+        }
+    }
+
+    // See KT-54664
+    val value3 = myBuilder {
+        accept(<!TYPE_MISMATCH!>""<!>)
+        a = 45
+        bar(<!TYPE_MISMATCH!>::a<!>)
+    }
+
+    fun baz(t: Int) {}
+
+    val value4 = myBuilder {
+        accept("")
+        a = 45
+        b[0] = 123
+        baz(<!TYPE_MISMATCH, TYPE_MISMATCH!>a<!>)
+    }
+}
diff --git a/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignmentExtra.txt b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignmentExtra.txt
new file mode 100644
index 0000000..0a8a8c1
--- /dev/null
+++ b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignmentExtra.txt
@@ -0,0 +1,26 @@
+package
+
+public fun bar(/*0*/ p: kotlin.reflect.KMutableProperty0<kotlin.Int>): kotlin.Unit
+public fun main(/*0*/ arg: kotlin.Any, /*1*/ condition: kotlin.Boolean): kotlin.Unit
+public fun </*0*/ T : kotlin.Any> myBuilder(/*0*/ block: Foo<T>.() -> kotlin.Unit): Foo<T>
+public fun </*0*/ T : kotlin.Any> Foo<T>.change(/*0*/ block: Foo<T>.() -> kotlin.Unit): Foo<T>
+
+public interface Foo</*0*/ T : kotlin.Any> {
+    public abstract var a: T
+    public abstract val b: kotlin.Array<T>
+    public abstract fun accept(/*0*/ arg: T): kotlin.Unit
+    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
+    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
+    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
+}
+
+public final class FooImpl</*0*/ T : kotlin.Any> : Foo<T> {
+    public constructor FooImpl</*0*/ T : kotlin.Any>()
+    public abstract override /*1*/ /*fake_override*/ var a: T
+    public abstract override /*1*/ /*fake_override*/ val b: kotlin.Array<T>
+    public abstract override /*1*/ /*fake_override*/ fun accept(/*0*/ arg: T): kotlin.Unit
+    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
+    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
+    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
+}
+
diff --git a/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment_noReport.fir.kt b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment_noReport.fir.kt
new file mode 100644
index 0000000..8d3e441
--- /dev/null
+++ b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment_noReport.fir.kt
@@ -0,0 +1,21 @@
+// !LANGUAGE: +NoBuilderInferenceWithoutAnnotationRestriction
+
+class Foo<T : Any> {
+    fun doSmthng(arg: T) {}
+    var a: T? = null
+}
+
+fun <T : Any> myBuilder(block: Foo<T>.() -> Unit) : Foo<T> = Foo<T>().apply(block)
+
+fun main(arg: Any) {
+    val x = 57
+    val value = myBuilder {
+        doSmthng("one ")
+        a = <!ASSIGNMENT_TYPE_MISMATCH!>57<!>
+        a = <!ASSIGNMENT_TYPE_MISMATCH!>x<!>
+        if (arg is String) {
+            a = arg
+        }
+    }
+    println(value.a?.count { it in 'l' .. 'q' })
+}
diff --git a/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment_noReport.kt b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment_noReport.kt
new file mode 100644
index 0000000..78d6520
--- /dev/null
+++ b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment_noReport.kt
@@ -0,0 +1,21 @@
+// !LANGUAGE: +NoBuilderInferenceWithoutAnnotationRestriction
+
+class Foo<T : Any> {
+    fun doSmthng(arg: T) {}
+    var a: T? = null
+}
+
+fun <T : Any> myBuilder(block: Foo<T>.() -> Unit) : Foo<T> = Foo<T>().apply(block)
+
+fun main(arg: Any) {
+    val x = 57
+    val value = myBuilder {
+        doSmthng("one ")
+        a = 57
+        a = x
+        if (arg is String) {
+            a = arg
+        }
+    }
+    println(value.a?.count { it in 'l' .. 'q' })
+}
diff --git a/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment_noReport.txt b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment_noReport.txt
new file mode 100644
index 0000000..f920da6
--- /dev/null
+++ b/compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment_noReport.txt
@@ -0,0 +1,13 @@
+package
+
+public fun main(/*0*/ arg: kotlin.Any): kotlin.Unit
+public fun </*0*/ T : kotlin.Any> myBuilder(/*0*/ block: Foo<T>.() -> kotlin.Unit): Foo<T>
+
+public final class Foo</*0*/ T : kotlin.Any> {
+    public constructor Foo</*0*/ T : kotlin.Any>()
+    public final var a: T?
+    public final fun doSmthng(/*0*/ arg: T): kotlin.Unit
+    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
+    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
+    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
+}
diff --git a/compiler/testData/ir/irText/expressions/ambiguousFieldAccess.fir.kt.txt b/compiler/testData/ir/irText/expressions/ambiguousFieldAccess.fir.kt.txt
index 2643c43..bbc7828 100644
--- a/compiler/testData/ir/irText/expressions/ambiguousFieldAccess.fir.kt.txt
+++ b/compiler/testData/ir/irText/expressions/ambiguousFieldAccess.fir.kt.txt
@@ -13,14 +13,14 @@
 
   fun f(): @FlexibleNullability String? {
     return eval<@FlexibleNullability String?>(f = local fun <anonymous>(): @FlexibleNullability String? {
-      return <this>(super<B>).#x
+      return <this>.#x
     }
 )
   }
 
   fun g(): @FlexibleNullability String? {
     return eval<@FlexibleNullability String?>(f = local fun <anonymous>(): @FlexibleNullability String? {
-      return <this>(super<B>).#y
+      return <this>.#y
     }
 )
   }
diff --git a/compiler/testData/ir/irText/expressions/ambiguousFieldAccess.kt.txt b/compiler/testData/ir/irText/expressions/ambiguousFieldAccess.kt.txt
index 2643c43..9ca60a6 100644
--- a/compiler/testData/ir/irText/expressions/ambiguousFieldAccess.kt.txt
+++ b/compiler/testData/ir/irText/expressions/ambiguousFieldAccess.kt.txt
@@ -13,14 +13,14 @@
 
   fun f(): @FlexibleNullability String? {
     return eval<@FlexibleNullability String?>(f = local fun <anonymous>(): @FlexibleNullability String? {
-      return <this>(super<B>).#x
+      return <this>(super<C>).#x
     }
 )
   }
 
   fun g(): @FlexibleNullability String? {
     return eval<@FlexibleNullability String?>(f = local fun <anonymous>(): @FlexibleNullability String? {
-      return <this>(super<B>).#y
+      return <this>(super<C>).#y
     }
 )
   }
diff --git a/compiler/testData/ir/irText/expressions/jvmFieldReferenceWithIntersectionTypes.fir.kt.txt b/compiler/testData/ir/irText/expressions/jvmFieldReferenceWithIntersectionTypes.fir.kt.txt
index 941453d..ff523da 100644
--- a/compiler/testData/ir/irText/expressions/jvmFieldReferenceWithIntersectionTypes.fir.kt.txt
+++ b/compiler/testData/ir/irText/expressions/jvmFieldReferenceWithIntersectionTypes.fir.kt.txt
@@ -55,7 +55,7 @@
     else -> d2
   }
   k.#f = 42
-  k(super<JFieldOwner>).#f /*~> Unit */
+  k.#f /*~> Unit */
   val md1: DerivedThroughMid1 = DerivedThroughMid1()
   val md2: DerivedThroughMid2 = DerivedThroughMid2()
   val mk: Mid = when {
@@ -63,6 +63,6 @@
     else -> md2
   }
   mk.#f = 44
-  mk(super<JFieldOwner>).#f /*~> Unit */
+  mk.#f /*~> Unit */
 }
 
diff --git a/compiler/testData/ir/irText/expressions/jvmFieldReferenceWithIntersectionTypes.kt.txt b/compiler/testData/ir/irText/expressions/jvmFieldReferenceWithIntersectionTypes.kt.txt
index 9829e97..37ac60f 100644
--- a/compiler/testData/ir/irText/expressions/jvmFieldReferenceWithIntersectionTypes.kt.txt
+++ b/compiler/testData/ir/irText/expressions/jvmFieldReferenceWithIntersectionTypes.kt.txt
@@ -63,6 +63,6 @@
     else -> md2
   }
   mk /*as Mid */(super<Mid>).#f = 44
-  mk /*as Mid */(super<JFieldOwner>).#f /*~> Unit */
+  mk /*as Mid */(super<Mid>).#f /*~> Unit */
 }
 
diff --git a/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.fir.kt.txt b/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.fir.kt.txt
index bdc1eb9..b8d23df 100644
--- a/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.fir.kt.txt
+++ b/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.fir.kt.txt
@@ -10,7 +10,7 @@
   }
 
   fun getValue(): Int {
-    return <this>(super<Base>).#value
+    return <this>.#value
   }
 
   fun setValue(value: Int) {
diff --git a/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.kt.txt b/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.kt.txt
index 564bed8..0a51e83 100644
--- a/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.kt.txt
+++ b/compiler/testData/ir/irText/expressions/jvmInstanceFieldReference.kt.txt
@@ -10,7 +10,7 @@
   }
 
   fun getValue(): Int {
-    return <this>(super<Base>).#value
+    return <this>(super<Derived>).#value
   }
 
   fun setValue(value: Int) {
diff --git a/compiler/testData/ir/irText/expressions/sam/samConversionsWithSmartCasts.ir.txt b/compiler/testData/ir/irText/expressions/sam/samConversionsWithSmartCasts.ir.txt
index 90f4639..21037d8 100644
--- a/compiler/testData/ir/irText/expressions/sam/samConversionsWithSmartCasts.ir.txt
+++ b/compiler/testData/ir/irText/expressions/sam/samConversionsWithSmartCasts.ir.txt
@@ -106,10 +106,9 @@
       CALL 'public open fun run1 (r: @[FlexibleNullability] java.lang.Runnable?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
         $this: CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.J' type=<root>.J origin=null
         r: TYPE_OP type=@[FlexibleNullability] java.lang.Runnable? origin=SAM_CONVERSION typeOperand=@[FlexibleNullability] java.lang.Runnable?
-          TYPE_OP type=kotlin.Function0<kotlin.Unit> origin=IMPLICIT_NOTNULL typeOperand=kotlin.Function0<kotlin.Unit>
-            CALL 'public open fun id <T> (x: @[FlexibleNullability] T of <root>.J.id?): @[FlexibleNullability] T of <root>.J.id? declared in <root>.J' type=@[FlexibleNullability] kotlin.Function0<kotlin.Unit>? origin=null
-              <T>: @[FlexibleNullability] kotlin.Function0<kotlin.Unit>?
-              x: GET_VAR 'a: kotlin.Function0<kotlin.Unit> declared in <root>.test8' type=kotlin.Function0<kotlin.Unit> origin=null
+          CALL 'public open fun id <T> (x: @[FlexibleNullability] T of <root>.J.id?): @[FlexibleNullability] T of <root>.J.id? declared in <root>.J' type=@[FlexibleNullability] kotlin.Function0<kotlin.Unit>? origin=null
+            <T>: @[FlexibleNullability] kotlin.Function0<kotlin.Unit>?
+            x: GET_VAR 'a: kotlin.Function0<kotlin.Unit> declared in <root>.test8' type=kotlin.Function0<kotlin.Unit> origin=null
   FUN name:test9 visibility:public modality:FINAL <> () returnType:kotlin.Unit
     BLOCK_BODY
       CALL 'public open fun run1 (r: @[FlexibleNullability] java.lang.Runnable?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
diff --git a/compiler/testData/ir/irText/expressions/sam/samConversionsWithSmartCasts.kt.txt b/compiler/testData/ir/irText/expressions/sam/samConversionsWithSmartCasts.kt.txt
index c0b6482..a2b263c 100644
--- a/compiler/testData/ir/irText/expressions/sam/samConversionsWithSmartCasts.kt.txt
+++ b/compiler/testData/ir/irText/expressions/sam/samConversionsWithSmartCasts.kt.txt
@@ -58,9 +58,10 @@
 }
 
 fun test8(a: Function0<Unit>) {
-  J().run1(r = id<@FlexibleNullability Function0<Unit>?>(x = a) /*!! Function0<Unit> */ /*-> @FlexibleNullability Runnable? */)
+  J().run1(r = id<@FlexibleNullability Function0<Unit>?>(x = a) /*-> @FlexibleNullability Runnable? */)
 }
 
 fun test9() {
   J().run1(r = ::test9 /*-> @FlexibleNullability Runnable? */)
 }
+
diff --git a/compiler/testData/ir/irText/firProblems/JCTree.fir.kt.txt b/compiler/testData/ir/irText/firProblems/JCTree.fir.kt.txt
index 72d8be5..d7e0748 100644
--- a/compiler/testData/ir/irText/firProblems/JCTree.fir.kt.txt
+++ b/compiler/testData/ir/irText/firProblems/JCTree.fir.kt.txt
@@ -13,7 +13,7 @@
     get(): String {
       var tree: JCTree = <this>.<get-tree>()
       when {
-        tree is JCTypeApply -> return tree /*as JCTypeApply */(super<JCTypeApply>).#clazz /*!! String */
+        tree is JCTypeApply -> return tree /*as JCTypeApply */.#clazz /*!! String */
       }
       return ""
     }
diff --git a/compiler/testData/ir/irText/firProblems/typeParameterFromJavaClass.fir.kt.txt b/compiler/testData/ir/irText/firProblems/typeParameterFromJavaClass.fir.kt.txt
index 72870f5..9575285 100644
--- a/compiler/testData/ir/irText/firProblems/typeParameterFromJavaClass.fir.kt.txt
+++ b/compiler/testData/ir/irText/firProblems/typeParameterFromJavaClass.fir.kt.txt
@@ -1,6 +1,6 @@
 fun foo(movedPaths: MutableList<Couple<FilePath>>) {
   movedPaths.forEach<Couple<FilePath>>(action = local fun <anonymous>(it: Couple<FilePath>) {
-    it(super<Couple>).#second.getName() /*~> Unit */
+    it.#second.getName() /*~> Unit */
   }
 )
 }
diff --git a/compiler/testData/ir/irText/types/smartCastOnFieldReceiverOfGenericType.fir.kt.txt b/compiler/testData/ir/irText/types/smartCastOnFieldReceiverOfGenericType.fir.kt.txt
index 5bf439c..5cff33b 100644
--- a/compiler/testData/ir/irText/types/smartCastOnFieldReceiverOfGenericType.fir.kt.txt
+++ b/compiler/testData/ir/irText/types/smartCastOnFieldReceiverOfGenericType.fir.kt.txt
@@ -6,6 +6,6 @@
 
 fun testGetField(a: Any): String {
   a as JCell<String> /*~> Unit */
-  return a /*as JCell<String> */(super<JCell>).#value /*!! String */
+  return a /*as JCell<String> */.#value /*!! String */
 }
 
diff --git a/compiler/testData/ir/loweredIr/interpreter/useCorrectToString.kt b/compiler/testData/ir/loweredIr/interpreter/useCorrectToString.kt
new file mode 100644
index 0000000..e1579b2
--- /dev/null
+++ b/compiler/testData/ir/loweredIr/interpreter/useCorrectToString.kt
@@ -0,0 +1,13 @@
+// This test is needed to check that IrCompileTimeChecker will not fail trying to find and analyze correct toString method
+
+object Obj {
+    override fun toString(): String = "OK"
+
+    fun Int.toString(): String = "Not OK"
+}
+
+const val a = 1 // this is a dummy const to avoid check in IrInterpreterDumpHandler
+
+fun box(): String {
+    return "" + "$Obj" // force a call
+}
diff --git a/compiler/testData/launcher/interpreterClassLoader.kt b/compiler/testData/launcher/interpreterClassLoader.kt
new file mode 100644
index 0000000..2db5da9
--- /dev/null
+++ b/compiler/testData/launcher/interpreterClassLoader.kt
@@ -0,0 +1,14 @@
+package test
+
+// for more information see KT-54509
+object Test {
+    fun foo(): String = "foo " + this
+
+    fun bar(): String = "bar $this"
+
+    fun baz(): String = "baz " + this.toString()
+}
+
+fun main() {
+    println(Test.foo() + Test.bar() + Test.baz())
+}
diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java
index 8d545fa..729d469 100644
--- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java
+++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java
@@ -20364,6 +20364,12 @@
                 }
 
                 @Test
+                @TestMetadata("stringConcatenationWithObject.kt")
+                public void testStringConcatenationWithObject() throws Exception {
+                    runTest("compiler/testData/diagnostics/tests/modifiers/const/stringConcatenationWithObject.kt");
+                }
+
+                @Test
                 @TestMetadata("types.kt")
                 public void testTypes() throws Exception {
                     runTest("compiler/testData/diagnostics/tests/modifiers/const/types.kt");
@@ -35629,6 +35635,24 @@
             }
 
             @Test
+            @TestMetadata("unsafeAssignment.kt")
+            public void testUnsafeAssignment() throws Exception {
+                runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment.kt");
+            }
+
+            @Test
+            @TestMetadata("unsafeAssignmentExtra.kt")
+            public void testUnsafeAssignmentExtra() throws Exception {
+                runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignmentExtra.kt");
+            }
+
+            @Test
+            @TestMetadata("unsafeAssignment_noReport.kt")
+            public void testUnsafeAssignment_noReport() throws Exception {
+                runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/unsafeAssignment_noReport.kt");
+            }
+
+            @Test
             @TestMetadata("useInferenceInformationFromExtension.kt")
             public void testUseInferenceInformationFromExtension() throws Exception {
                 runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/useInferenceInformationFromExtension.kt");
diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java
index 510d40d..9d4b750 100644
--- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java
+++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java
@@ -4488,6 +4488,24 @@
         }
 
         @Test
+        @TestMetadata("arrayDowncastingContravariant.kt")
+        public void testArrayDowncastingContravariant() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/arrayDowncastingContravariant.kt");
+        }
+
+        @Test
+        @TestMetadata("arrayDowncatingInvariant.kt")
+        public void testArrayDowncatingInvariant() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/arrayDowncatingInvariant.kt");
+        }
+
+        @Test
+        @TestMetadata("arrayDownctingCovariant.kt")
+        public void testArrayDownctingCovariant() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/arrayDownctingCovariant.kt");
+        }
+
+        @Test
         @TestMetadata("as.kt")
         public void testAs() throws Exception {
             runTest("compiler/testData/codegen/box/casts/as.kt");
@@ -4614,6 +4632,24 @@
         }
 
         @Test
+        @TestMetadata("kt54581.kt")
+        public void testKt54581() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt54581.kt");
+        }
+
+        @Test
+        @TestMetadata("kt54707.kt")
+        public void testKt54707() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt54707.kt");
+        }
+
+        @Test
+        @TestMetadata("kt54802.kt")
+        public void testKt54802() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt54802.kt");
+        }
+
+        @Test
         @TestMetadata("lambdaToUnitCast.kt")
         public void testLambdaToUnitCast() throws Exception {
             runTest("compiler/testData/codegen/box/casts/lambdaToUnitCast.kt");
@@ -14667,6 +14703,12 @@
             }
 
             @Test
+            @TestMetadata("kt54463_platformType.kt")
+            public void testKt54463_platformType() throws Exception {
+                runTest("compiler/testData/codegen/box/delegatedProperty/delegateToFinalProperty/kt54463_platformType.kt");
+            }
+
+            @Test
             @TestMetadata("memberExtensionPropertyAndImportFromObject.kt")
             public void testMemberExtensionPropertyAndImportFromObject() throws Exception {
                 runTest("compiler/testData/codegen/box/delegatedProperty/delegateToFinalProperty/memberExtensionPropertyAndImportFromObject.kt");
@@ -44544,6 +44586,12 @@
         }
 
         @Test
+        @TestMetadata("kt54600.kt")
+        public void testKt54600() throws Exception {
+            runTest("compiler/testData/codegen/box/sam/kt54600.kt");
+        }
+
+        @Test
         @TestMetadata("nonInlinedSamWrapper.kt")
         public void testNonInlinedSamWrapper() throws Exception {
             runTest("compiler/testData/codegen/box/sam/nonInlinedSamWrapper.kt");
diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BytecodeListingTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BytecodeListingTestGenerated.java
index 0987f13..0a79945 100644
--- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BytecodeListingTestGenerated.java
+++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BytecodeListingTestGenerated.java
@@ -1037,6 +1037,12 @@
         public void testDelegatedPropertiesInCompanionObject() throws Exception {
             runTest("compiler/testData/codegen/bytecodeListing/delegatedProperty/delegatedPropertiesInCompanionObject.kt");
         }
+
+        @Test
+        @TestMetadata("localDelegatedProperty.kt")
+        public void testLocalDelegatedProperty() throws Exception {
+            runTest("compiler/testData/codegen/bytecodeListing/delegatedProperty/localDelegatedProperty.kt");
+        }
     }
 
     @Nested
diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java
index b5a4057..8fe7795 100644
--- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java
+++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java
@@ -4602,6 +4602,24 @@
         }
 
         @Test
+        @TestMetadata("arrayDowncastingContravariant.kt")
+        public void testArrayDowncastingContravariant() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/arrayDowncastingContravariant.kt");
+        }
+
+        @Test
+        @TestMetadata("arrayDowncatingInvariant.kt")
+        public void testArrayDowncatingInvariant() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/arrayDowncatingInvariant.kt");
+        }
+
+        @Test
+        @TestMetadata("arrayDownctingCovariant.kt")
+        public void testArrayDownctingCovariant() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/arrayDownctingCovariant.kt");
+        }
+
+        @Test
         @TestMetadata("as.kt")
         public void testAs() throws Exception {
             runTest("compiler/testData/codegen/box/casts/as.kt");
@@ -4728,6 +4746,36 @@
         }
 
         @Test
+        @TestMetadata("kt53146.kt")
+        public void testKt53146() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt53146.kt");
+        }
+
+        @Test
+        @TestMetadata("kt53677.kt")
+        public void testKt53677() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt53677.kt");
+        }
+
+        @Test
+        @TestMetadata("kt54581.kt")
+        public void testKt54581() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt54581.kt");
+        }
+
+        @Test
+        @TestMetadata("kt54707.kt")
+        public void testKt54707() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt54707.kt");
+        }
+
+        @Test
+        @TestMetadata("kt54802.kt")
+        public void testKt54802() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt54802.kt");
+        }
+
+        @Test
         @TestMetadata("lambdaToUnitCast.kt")
         public void testLambdaToUnitCast() throws Exception {
             runTest("compiler/testData/codegen/box/casts/lambdaToUnitCast.kt");
@@ -14805,6 +14853,12 @@
             }
 
             @Test
+            @TestMetadata("kt54463_platformType.kt")
+            public void testKt54463_platformType() throws Exception {
+                runTest("compiler/testData/codegen/box/delegatedProperty/delegateToFinalProperty/kt54463_platformType.kt");
+            }
+
+            @Test
             @TestMetadata("memberExtensionPropertyAndImportFromObject.kt")
             public void testMemberExtensionPropertyAndImportFromObject() throws Exception {
                 runTest("compiler/testData/codegen/box/delegatedProperty/delegateToFinalProperty/memberExtensionPropertyAndImportFromObject.kt");
@@ -16738,6 +16792,18 @@
         }
 
         @Test
+        @TestMetadata("stringConcatenationWithObject.kt")
+        public void testStringConcatenationWithObject() throws Exception {
+            runTest("compiler/testData/codegen/box/evaluate/stringConcatenationWithObject.kt");
+        }
+
+        @Test
+        @TestMetadata("thisPlusString.kt")
+        public void testThisPlusString() throws Exception {
+            runTest("compiler/testData/codegen/box/evaluate/thisPlusString.kt");
+        }
+
+        @Test
         @TestMetadata("unaryMinus.kt")
         public void testUnaryMinus() throws Exception {
             runTest("compiler/testData/codegen/box/evaluate/unaryMinus.kt");
@@ -17482,6 +17548,12 @@
         }
 
         @Test
+        @TestMetadata("javaFieldAndKotlinPrivateProperty.kt")
+        public void testJavaFieldAndKotlinPrivateProperty() throws Exception {
+            runTest("compiler/testData/codegen/box/fieldRename/javaFieldAndKotlinPrivateProperty.kt");
+        }
+
+        @Test
         @TestMetadata("javaFieldAndKotlinProperty.kt")
         public void testJavaFieldAndKotlinProperty() throws Exception {
             runTest("compiler/testData/codegen/box/fieldRename/javaFieldAndKotlinProperty.kt");
@@ -45168,6 +45240,12 @@
         }
 
         @Test
+        @TestMetadata("kt54600.kt")
+        public void testKt54600() throws Exception {
+            runTest("compiler/testData/codegen/box/sam/kt54600.kt");
+        }
+
+        @Test
         @TestMetadata("nonInlinedSamWrapper.kt")
         public void testNonInlinedSamWrapper() throws Exception {
             runTest("compiler/testData/codegen/box/sam/nonInlinedSamWrapper.kt");
diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeListingTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeListingTestGenerated.java
index 5d9f39b..6493459 100644
--- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeListingTestGenerated.java
+++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeListingTestGenerated.java
@@ -1133,6 +1133,12 @@
         public void testDelegatedPropertiesInCompanionObject() throws Exception {
             runTest("compiler/testData/codegen/bytecodeListing/delegatedProperty/delegatedPropertiesInCompanionObject.kt");
         }
+
+        @Test
+        @TestMetadata("localDelegatedProperty.kt")
+        public void testLocalDelegatedProperty() throws Exception {
+            runTest("compiler/testData/codegen/bytecodeListing/delegatedProperty/localDelegatedProperty.kt");
+        }
     }
 
     @Nested
diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeTextTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeTextTestGenerated.java
index 71637d8..9255ac2 100644
--- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeTextTestGenerated.java
+++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeTextTestGenerated.java
@@ -1087,6 +1087,12 @@
         }
 
         @Test
+        @TestMetadata("kt53465.kt")
+        public void testKt53465() throws Exception {
+            runTest("compiler/testData/codegen/bytecodeText/checkcast/kt53465.kt");
+        }
+
+        @Test
         @TestMetadata("noCheckcastOnDelegatingDefaultImplsCall.kt")
         public void testNoCheckcastOnDelegatingDefaultImplsCall() throws Exception {
             runTest("compiler/testData/codegen/bytecodeText/checkcast/noCheckcastOnDelegatingDefaultImplsCall.kt");
diff --git a/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/codegen/D8Checker.java b/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/codegen/D8Checker.java
index 2f15191..27fcbd7 100644
--- a/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/codegen/D8Checker.java
+++ b/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/codegen/D8Checker.java
@@ -7,6 +7,7 @@
 
 import com.android.tools.r8.*;
 import com.android.tools.r8.origin.PathOrigin;
+import com.android.tools.r8.utils.ExceptionDiagnostic;
 import kotlin.Pair;
 import org.jetbrains.kotlin.backend.common.output.OutputFile;
 import org.jetbrains.kotlin.test.KtAssert;
diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java
index 22bfeb0..157411a 100644
--- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java
+++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java
@@ -3921,6 +3921,21 @@
             KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/casts"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true);
         }
 
+        @TestMetadata("arrayDowncastingContravariant.kt")
+        public void testArrayDowncastingContravariant() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/arrayDowncastingContravariant.kt");
+        }
+
+        @TestMetadata("arrayDowncatingInvariant.kt")
+        public void testArrayDowncatingInvariant() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/arrayDowncatingInvariant.kt");
+        }
+
+        @TestMetadata("arrayDownctingCovariant.kt")
+        public void testArrayDownctingCovariant() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/arrayDownctingCovariant.kt");
+        }
+
         @TestMetadata("as.kt")
         public void testAs() throws Exception {
             runTest("compiler/testData/codegen/box/casts/as.kt");
@@ -4026,6 +4041,21 @@
             runTest("compiler/testData/codegen/box/casts/kt50577.kt");
         }
 
+        @TestMetadata("kt54581.kt")
+        public void testKt54581() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt54581.kt");
+        }
+
+        @TestMetadata("kt54707.kt")
+        public void testKt54707() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt54707.kt");
+        }
+
+        @TestMetadata("kt54802.kt")
+        public void testKt54802() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt54802.kt");
+        }
+
         @TestMetadata("lambdaToUnitCast.kt")
         public void testLambdaToUnitCast() throws Exception {
             runTest("compiler/testData/codegen/box/casts/lambdaToUnitCast.kt");
@@ -11985,6 +12015,11 @@
                 runTest("compiler/testData/codegen/box/delegatedProperty/delegateToFinalProperty/initializeContainerOfTopLevelProperties.kt");
             }
 
+            @TestMetadata("kt54463_platformType.kt")
+            public void testKt54463_platformType() throws Exception {
+                runTest("compiler/testData/codegen/box/delegatedProperty/delegateToFinalProperty/kt54463_platformType.kt");
+            }
+
             @TestMetadata("memberExtensionPropertyAndImportFromObject.kt")
             public void testMemberExtensionPropertyAndImportFromObject() throws Exception {
                 runTest("compiler/testData/codegen/box/delegatedProperty/delegateToFinalProperty/memberExtensionPropertyAndImportFromObject.kt");
@@ -36006,6 +36041,11 @@
             runTest("compiler/testData/codegen/box/sam/kt52417.kt");
         }
 
+        @TestMetadata("kt54600.kt")
+        public void testKt54600() throws Exception {
+            runTest("compiler/testData/codegen/box/sam/kt54600.kt");
+        }
+
         @TestMetadata("nonInlinedSamWrapper.kt")
         public void testNonInlinedSamWrapper() throws Exception {
             runTest("compiler/testData/codegen/box/sam/nonInlinedSamWrapper.kt");
diff --git a/compiler/tests/org/jetbrains/kotlin/cli/LauncherScriptTest.kt b/compiler/tests/org/jetbrains/kotlin/cli/LauncherScriptTest.kt
index f8dc017..7bb9712 100644
--- a/compiler/tests/org/jetbrains/kotlin/cli/LauncherScriptTest.kt
+++ b/compiler/tests/org/jetbrains/kotlin/cli/LauncherScriptTest.kt
@@ -444,4 +444,10 @@
             workDirectory = subDir
         )
     }
+
+    fun testInterpreterClassLoader() {
+        runProcess(
+            "kotlinc", "$testDataDirectory/interpreterClassLoader.kt", "-d", tmpdir.path
+        )
+    }
 }
diff --git a/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt b/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt
index 4d57de3..9dd1a99 100644
--- a/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt
+++ b/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt
@@ -286,6 +286,10 @@
     ApproximateIntegerLiteralTypesInReceiverPosition(sinceVersion = null),
 
     // Disabled for indefinite time. Disables restrictions of builder inference without annotation
+    // Note: In 1.7.0, builder inference without annotation was introduced.
+    // However, later we encountered various situations when it works incorrectly, and decided to forbid them.
+    // When this feature is disabled, various errors are reported which are related to these incorrect situations.
+    // When this feature is enabled, no such errors are reported.
     NoBuilderInferenceWithoutAnnotationRestriction(sinceVersion = null, kind = OTHER, defaultState = State.DISABLED),
 
     // Experimental features
diff --git a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt
index fecceb2..31fc34a 100644
--- a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt
+++ b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt
@@ -44,8 +44,8 @@
     System.setProperty("java.awt.headless", "true")
     generateTestGroupSuite(args) {
         testGroup("compiler/incremental-compilation-impl/test", "jps/jps-plugin/testData") {
-            fun incrementalJvmTestData(targetBackend: TargetBackend): TestGroup.TestClass.() -> Unit = {
-                model("incremental/pureKotlin", extension = null, recursive = false, targetBackend = targetBackend)
+            fun incrementalJvmTestData(targetBackend: TargetBackend, excludePattern: String? = null): TestGroup.TestClass.() -> Unit = {
+                model("incremental/pureKotlin", extension = null, recursive = false, targetBackend = targetBackend, excludedPattern = excludePattern)
                 model("incremental/classHierarchyAffected", extension = null, recursive = false, targetBackend = targetBackend)
                 model("incremental/inlineFunCallSite", extension = null, excludeParentDirs = true, targetBackend = targetBackend)
                 model("incremental/withJava", extension = null, excludeParentDirs = true, targetBackend = targetBackend)
@@ -53,9 +53,9 @@
             }
             testClass<AbstractIncrementalJvmCompilerRunnerTest>(init = incrementalJvmTestData(TargetBackend.JVM_IR))
             testClass<AbstractIncrementalJvmOldBackendCompilerRunnerTest>(init = incrementalJvmTestData(TargetBackend.JVM))
-            testClass<AbstractIncrementalFirJvmCompilerRunnerTest>(init = incrementalJvmTestData(TargetBackend.JVM_IR))
-            testClass<AbstractIncrementalFirICLightTreeJvmCompilerRunnerTest>(init = incrementalJvmTestData(TargetBackend.JVM_IR))
-            testClass<AbstractIncrementalFirLightTreeJvmCompilerRunnerTest>(init = incrementalJvmTestData(TargetBackend.JVM_IR))
+            testClass<AbstractIncrementalFirJvmCompilerRunnerTest>(init = incrementalJvmTestData(TargetBackend.JVM_IR, excludePattern = "^.*Expect.*"))
+            testClass<AbstractIncrementalFirICLightTreeJvmCompilerRunnerTest>(init = incrementalJvmTestData(TargetBackend.JVM_IR, excludePattern = "^.*Expect.*"))
+            testClass<AbstractIncrementalFirLightTreeJvmCompilerRunnerTest>(init = incrementalJvmTestData(TargetBackend.JVM_IR, excludePattern = "^.*Expect.*"))
 
             testClass<AbstractIncrementalJsCompilerRunnerTest> {
                 model("incremental/pureKotlin", extension = null, recursive = false)
diff --git a/gradle.properties b/gradle.properties
index 550cd54..83e36c3 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -19,7 +19,7 @@
 #maven.repository.mirror=http://repository.jetbrains.com/remote-repos/
 #bootstrap.kotlin.repo=https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap
 #bootstrap.kotlin.version=1.1.50-dev-1451
-bootstrap.kotlin.default.version=1.7.20-dev-2726
+bootstrap.kotlin.default.version=1.7.21
 
 kotlin.build.publishing.attempts=20
 #signingRequired=true
diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt
index 55f68956..30b0ed1 100644
--- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt
+++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt
@@ -62,6 +62,7 @@
 import java.io.File
 import java.io.PrintStream
 import java.util.*
+import kotlin.collections.ArrayList
 import kotlin.reflect.jvm.javaField
 
 abstract class AbstractIncrementalJpsTest(
@@ -532,7 +533,7 @@
         }
 
         override fun chunkBuildStarted(context: CompileContext, chunk: ModuleChunk) {
-            logDirtyFiles(markedDirtyBeforeRound) // files can be marked as dirty during build start (KotlinCompileContext initialization)
+            logDirtyFiles(markedDirtyBeforeRound, "ChunkBuildStarted") // files can be marked as dirty during build start (KotlinCompileContext initialization)
 
             if (!chunk.isDummy(context) && context.projectDescriptor.project.modules.size > 1) {
                 logLine("Building ${chunk.modules.sortedBy { it.name }.joinToString { it.name }}")
@@ -540,7 +541,11 @@
         }
 
         override fun afterChunkBuildStarted(context: CompileContext, chunk: ModuleChunk) {
-            logDirtyFiles(markedDirtyBeforeRound)
+            logDirtyFiles(markedDirtyBeforeRound, "After chunkBuildStarted")
+        }
+
+        override fun markedAsComplementaryFiles(files: Collection<File>) {
+            logDirtyFiles(ArrayList(files), "Complementary files")
         }
 
         override fun addCustomMessage(message: String) {
@@ -552,15 +557,15 @@
                 logLine(it)
             }
             customMessages.clear()
-            logDirtyFiles(markedDirtyAfterRound)
+            logDirtyFiles(markedDirtyAfterRound, "After build round")
             logLine("Exit code: $exitCode")
             logLine("------------------------------------------")
         }
 
-        private fun logDirtyFiles(files: MutableList<File>) {
+        private fun logDirtyFiles(files: MutableList<File>, phase: String) {
             if (files.isEmpty()) return
 
-            logLine("Marked as dirty by Kotlin:")
+            logLine("$phase. Marked as dirty by Kotlin:")
             files.apply {
                 map { FileUtil.toSystemIndependentName(it.path) }
                     .sorted()
diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJvmJpsTestGenerated.java b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJvmJpsTestGenerated.java
index 18f1a0a..e8bfb97 100644
--- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJvmJpsTestGenerated.java
+++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJvmJpsTestGenerated.java
@@ -1266,6 +1266,11 @@
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddImplements/");
         }
 
+        @TestMetadata("sealedClassesAddIndirectInheritor")
+        public void testSealedClassesAddIndirectInheritor() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/");
+        }
+
         @TestMetadata("sealedClassesAddInheritor")
         public void testSealedClassesAddInheritor() throws Exception {
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddInheritor/");
@@ -1281,9 +1286,14 @@
             runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesRemoveInheritor/");
         }
 
-        @TestMetadata("sealedClassesUseSwitch")
-        public void testSealedClassesUseSwitch() throws Exception {
-            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/");
+        @TestMetadata("sealedClassesWhenExpression")
+        public void testSealedClassesWhenExpression() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/");
+        }
+
+        @TestMetadata("sealedClassesWithExpectActual")
+        public void testSealedClassesWithExpectActual() throws Exception {
+            runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/");
         }
 
         @TestMetadata("secondaryConstructorInlined")
diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt
index 3feb184..2660850 100644
--- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt
+++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt
@@ -908,6 +908,7 @@
                 }
 
                 override fun afterChunkBuildStarted(context: CompileContext, chunk: ModuleChunk) {}
+                override fun markedAsComplementaryFiles(files: Collection<File>) {}
                 override fun invalidOrUnusedCache(
                     chunk: KotlinChunk?,
                     target: KotlinModuleBuildTarget<*>?,
diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt
index 206d77d..ded9acd 100644
--- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt
+++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt
@@ -52,6 +52,7 @@
 import org.jetbrains.kotlin.utils.PathUtil
 import java.io.File
 import java.util.*
+import kotlin.collections.ArrayList
 import kotlin.collections.HashSet
 import kotlin.system.measureTimeMillis
 
@@ -595,7 +596,7 @@
                 val targetDirtyFiles = dirtyFilesHolder.byTarget[jpsTarget]
                 if (cache != null && targetDirtyFiles != null) {
                     val complementaryFiles = cache.getComplementaryFilesRecursive(targetDirtyFiles.dirty.keys + targetDirtyFiles.removed)
-
+                    context.testingContext?.buildLogger?.markedAsComplementaryFiles(ArrayList(complementaryFiles))
                     fsOperations.markFilesForCurrentRound(jpsTarget, complementaryFiles)
 
                     cache.markDirty(targetDirtyFiles.dirty.keys + targetDirtyFiles.removed)
diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/TestingBuildLogger.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/TestingBuildLogger.kt
index 9beec30..4016110 100644
--- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/TestingBuildLogger.kt
+++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/TestingBuildLogger.kt
@@ -29,6 +29,7 @@
     fun invalidOrUnusedCache(chunk: KotlinChunk?, target: KotlinModuleBuildTarget<*>?, attributesDiff: CacheAttributesDiff<*>) = Unit
     fun chunkBuildStarted(context: CompileContext, chunk: org.jetbrains.jps.ModuleChunk) = Unit
     fun afterChunkBuildStarted(context: CompileContext, chunk: org.jetbrains.jps.ModuleChunk) = Unit
+    fun markedAsComplementaryFiles(files: Collection<File>) = Unit
     fun compilingFiles(files: Collection<File>, allRemovedFilesFiles: Collection<File>) = Unit
     fun addCustomMessage(message: String) = Unit
     fun buildFinished(exitCode: ModuleLevelBuilder.ExitCode) = Unit
diff --git a/jps/jps-plugin/testData/incremental/cacheVersionChanged/exportedModule/build.log b/jps/jps-plugin/testData/incremental/cacheVersionChanged/exportedModule/build.log
index d02fa1e..b32f770 100644
--- a/jps/jps-plugin/testData/incremental/cacheVersionChanged/exportedModule/build.log
+++ b/jps/jps-plugin/testData/incremental/cacheVersionChanged/exportedModule/build.log
@@ -2,7 +2,7 @@
 
 Building module1
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module1' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module1/src/A.kt
 Cleaning output files:
   out/production/module1/META-INF/module1.kotlin_module
@@ -15,7 +15,7 @@
 ------------------------------------------
 Building module2
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module2' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module2/src/B.kt
 Cleaning output files:
   out/production/module2/META-INF/module2.kotlin_module
@@ -28,7 +28,7 @@
 ------------------------------------------
 Building module3
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module3' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module3/src/C.kt
 Cleaning output files:
   out/production/module3/META-INF/module3.kotlin_module
@@ -41,7 +41,7 @@
 ------------------------------------------
 Building module4
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module4' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module4/src/D.kt
 Cleaning output files:
   out/production/module4/D/D.class
diff --git a/jps/jps-plugin/testData/incremental/cacheVersionChanged/exportedModule/data-container-version-build.log b/jps/jps-plugin/testData/incremental/cacheVersionChanged/exportedModule/data-container-version-build.log
index 7090b81..af4bcba 100644
--- a/jps/jps-plugin/testData/incremental/cacheVersionChanged/exportedModule/data-container-version-build.log
+++ b/jps/jps-plugin/testData/incremental/cacheVersionChanged/exportedModule/data-container-version-build.log
@@ -1,7 +1,7 @@
 ================ Step #1 =================
 
 Lookups cache are INVALID
-Marked as dirty by Kotlin:
+ChunkBuildStarted. Marked as dirty by Kotlin:
   module1/src/A.kt
   module2/src/B.kt
   module3/src/C.kt
diff --git a/jps/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/build.log b/jps/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/build.log
index cb094cc..c0788ed 100644
--- a/jps/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/build.log
+++ b/jps/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/build.log
@@ -5,7 +5,7 @@
 ------------------------------------------
 Building module4
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module4' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module4/src/d.kt
 Cleaning output files:
   out/production/module4/META-INF/module4.kotlin_module
@@ -18,7 +18,7 @@
 ------------------------------------------
 Building module1
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module1' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module1/src/a.kt
 Cleaning output files:
   out/production/module1/META-INF/module1.kotlin_module
@@ -32,7 +32,7 @@
 ------------------------------------------
 Building module2
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module2' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module2/src/b.kt
 Cleaning output files:
   out/production/module2/META-INF/module2.kotlin_module
@@ -45,7 +45,7 @@
 ------------------------------------------
 Building module3
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module3' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module3/src/c.kt
 Cleaning output files:
   out/production/module3/META-INF/module3.kotlin_module
diff --git a/jps/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/data-container-version-build.log b/jps/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/data-container-version-build.log
index ed687a7..fef6001 100644
--- a/jps/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/data-container-version-build.log
+++ b/jps/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/data-container-version-build.log
@@ -1,7 +1,7 @@
 ================ Step #1 =================
 
 Lookups cache are INVALID
-Marked as dirty by Kotlin:
+ChunkBuildStarted. Marked as dirty by Kotlin:
   module1/src/a.kt
   module2/src/b.kt
   module3/src/c.kt
diff --git a/jps/jps-plugin/testData/incremental/cacheVersionChanged/module2Modified/build.log b/jps/jps-plugin/testData/incremental/cacheVersionChanged/module2Modified/build.log
index ab0f369..3ee7a5b 100644
--- a/jps/jps-plugin/testData/incremental/cacheVersionChanged/module2Modified/build.log
+++ b/jps/jps-plugin/testData/incremental/cacheVersionChanged/module2Modified/build.log
@@ -2,7 +2,7 @@
 
 Building module1
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module1' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module1/src/a.kt
 Cleaning output files:
   out/production/module1/META-INF/module1.kotlin_module
@@ -16,7 +16,7 @@
 ------------------------------------------
 Building module2
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module2' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module2/src/b.kt
 Cleaning output files:
   out/production/module2/META-INF/module2.kotlin_module
diff --git a/jps/jps-plugin/testData/incremental/cacheVersionChanged/module2Modified/data-container-version-build.log b/jps/jps-plugin/testData/incremental/cacheVersionChanged/module2Modified/data-container-version-build.log
index 06ec947..2f44936 100644
--- a/jps/jps-plugin/testData/incremental/cacheVersionChanged/module2Modified/data-container-version-build.log
+++ b/jps/jps-plugin/testData/incremental/cacheVersionChanged/module2Modified/data-container-version-build.log
@@ -1,7 +1,7 @@
 ================ Step #1 =================
 
 Lookups cache are INVALID
-Marked as dirty by Kotlin:
+ChunkBuildStarted. Marked as dirty by Kotlin:
   module1/src/a.kt
   module2/src/b.kt
 Building module1
diff --git a/jps/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithConstantModified/build.log b/jps/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithConstantModified/build.log
index 91b9331..ef02751 100644
--- a/jps/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithConstantModified/build.log
+++ b/jps/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithConstantModified/build.log
@@ -2,7 +2,7 @@
 
 Building module1
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module1' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module1/src/A.kt
 Cleaning output files:
   out/production/module1/META-INF/module1.kotlin_module
@@ -15,7 +15,7 @@
 ------------------------------------------
 Building module2
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module2' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module2/src/B.kt
 Cleaning output files:
   out/production/module2/META-INF/module2.kotlin_module
diff --git a/jps/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithConstantModified/data-container-version-build.log b/jps/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithConstantModified/data-container-version-build.log
index 4cc059a..42104b2 100644
--- a/jps/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithConstantModified/data-container-version-build.log
+++ b/jps/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithConstantModified/data-container-version-build.log
@@ -1,7 +1,7 @@
 ================ Step #1 =================
 
 Lookups cache are INVALID
-Marked as dirty by Kotlin:
+ChunkBuildStarted. Marked as dirty by Kotlin:
   module1/src/A.kt
   module2/src/B.kt
 Building module1
diff --git a/jps/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithInlineModified/build.log b/jps/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithInlineModified/build.log
index 782a86c..fb4166f 100644
--- a/jps/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithInlineModified/build.log
+++ b/jps/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithInlineModified/build.log
@@ -2,7 +2,7 @@
 
 Building module1
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module1' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module1/src/A.kt
 Cleaning output files:
   out/production/module1/META-INF/module1.kotlin_module
@@ -16,7 +16,7 @@
 ------------------------------------------
 Building module2
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module2' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module2/src/B.kt
 Cleaning output files:
   out/production/module2/META-INF/module2.kotlin_module
diff --git a/jps/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithInlineModified/data-container-version-build.log b/jps/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithInlineModified/data-container-version-build.log
index 7f894f1..99bdf1e 100644
--- a/jps/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithInlineModified/data-container-version-build.log
+++ b/jps/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithInlineModified/data-container-version-build.log
@@ -1,7 +1,7 @@
 ================ Step #1 =================
 
 Lookups cache are INVALID
-Marked as dirty by Kotlin:
+ChunkBuildStarted. Marked as dirty by Kotlin:
   module1/src/A.kt
   module2/src/B.kt
 Building module1
diff --git a/jps/jps-plugin/testData/incremental/cacheVersionChanged/touchedFile/build.log b/jps/jps-plugin/testData/incremental/cacheVersionChanged/touchedFile/build.log
index e20f957..5cbb2be 100644
--- a/jps/jps-plugin/testData/incremental/cacheVersionChanged/touchedFile/build.log
+++ b/jps/jps-plugin/testData/incremental/cacheVersionChanged/touchedFile/build.log
@@ -1,7 +1,7 @@
 ================ Step #1 =================
 
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   src/a.kt
   src/b.kt
   src/other.kt
diff --git a/jps/jps-plugin/testData/incremental/cacheVersionChanged/touchedFile/data-container-version-build.log b/jps/jps-plugin/testData/incremental/cacheVersionChanged/touchedFile/data-container-version-build.log
index 74e2feb..111ad0a 100644
--- a/jps/jps-plugin/testData/incremental/cacheVersionChanged/touchedFile/data-container-version-build.log
+++ b/jps/jps-plugin/testData/incremental/cacheVersionChanged/touchedFile/data-container-version-build.log
@@ -1,7 +1,7 @@
 ================ Step #1 =================
 
 Lookups cache are INVALID
-Marked as dirty by Kotlin:
+ChunkBuildStarted. Marked as dirty by Kotlin:
   src/a.kt
   src/b.kt
   src/other.kt
diff --git a/jps/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/build.log b/jps/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/build.log
index 5c83283..7f98df8 100644
--- a/jps/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/build.log
+++ b/jps/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/build.log
@@ -1,7 +1,7 @@
 ================ Step #1 =================
 
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   src/a.kt
   src/b.kt
   src/other.kt
diff --git a/jps/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/data-container-version-build.log b/jps/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/data-container-version-build.log
index 53226e3..bb8773e 100644
--- a/jps/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/data-container-version-build.log
+++ b/jps/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/data-container-version-build.log
@@ -1,7 +1,7 @@
 ================ Step #1 =================
 
 Lookups cache are INVALID
-Marked as dirty by Kotlin:
+ChunkBuildStarted. Marked as dirty by Kotlin:
   src/a.kt
   src/b.kt
   src/other.kt
diff --git a/jps/jps-plugin/testData/incremental/cacheVersionChanged/untouchedFiles/build.log b/jps/jps-plugin/testData/incremental/cacheVersionChanged/untouchedFiles/build.log
index f8e9946..2893ee2 100644
--- a/jps/jps-plugin/testData/incremental/cacheVersionChanged/untouchedFiles/build.log
+++ b/jps/jps-plugin/testData/incremental/cacheVersionChanged/untouchedFiles/build.log
@@ -1,7 +1,7 @@
 ================ Step #1 =================
 
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   src/a.kt
   src/b.kt
 Cleaning output files:
diff --git a/jps/jps-plugin/testData/incremental/cacheVersionChanged/untouchedFiles/data-container-version-build.log b/jps/jps-plugin/testData/incremental/cacheVersionChanged/untouchedFiles/data-container-version-build.log
index 62e214f..fce3457 100644
--- a/jps/jps-plugin/testData/incremental/cacheVersionChanged/untouchedFiles/data-container-version-build.log
+++ b/jps/jps-plugin/testData/incremental/cacheVersionChanged/untouchedFiles/data-container-version-build.log
@@ -1,7 +1,7 @@
 ================ Step #1 =================
 
 Lookups cache are INVALID
-Marked as dirty by Kotlin:
+ChunkBuildStarted. Marked as dirty by Kotlin:
   src/a.kt
   src/b.kt
 Cleaning output files:
diff --git a/jps/jps-plugin/testData/incremental/cacheVersionChanged/withError/build.log b/jps/jps-plugin/testData/incremental/cacheVersionChanged/withError/build.log
index 867b055..5aa5907 100644
--- a/jps/jps-plugin/testData/incremental/cacheVersionChanged/withError/build.log
+++ b/jps/jps-plugin/testData/incremental/cacheVersionChanged/withError/build.log
@@ -5,7 +5,7 @@
 ------------------------------------------
 Building module4
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module4' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module4/src/d.kt
 Cleaning output files:
   out/production/module4/META-INF/module4.kotlin_module
@@ -18,7 +18,7 @@
 ------------------------------------------
 Building module1
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module1' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module1/src/a.kt
   module1/src/f.kt
 Cleaning output files:
@@ -53,7 +53,7 @@
 ------------------------------------------
 Building module2
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module2' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module2/src/b.kt
 Cleaning output files:
   out/production/module2/META-INF/module2.kotlin_module
@@ -66,7 +66,7 @@
 ------------------------------------------
 Building module3
 Local cache for KotlinChunk<KotlinJvmModuleBuildTarget>(Module 'module3' production) are INVALID
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module3/src/c.kt
 Cleaning output files:
   out/production/module3/META-INF/module3.kotlin_module
diff --git a/jps/jps-plugin/testData/incremental/cacheVersionChanged/withError/data-container-version-build.log b/jps/jps-plugin/testData/incremental/cacheVersionChanged/withError/data-container-version-build.log
index 1ca540d..d3574a1 100644
--- a/jps/jps-plugin/testData/incremental/cacheVersionChanged/withError/data-container-version-build.log
+++ b/jps/jps-plugin/testData/incremental/cacheVersionChanged/withError/data-container-version-build.log
@@ -1,7 +1,7 @@
 ================ Step #1 add file with compilation error to module1 =================
 
 Lookups cache are INVALID
-Marked as dirty by Kotlin:
+ChunkBuildStarted. Marked as dirty by Kotlin:
   module1/src/a.kt
   module1/src/f.kt
   module2/src/b.kt
diff --git a/jps/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/build.log b/jps/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/build.log
index f02b9c5..ac6b379 100644
--- a/jps/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/build.log
+++ b/jps/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/build.log
@@ -36,7 +36,7 @@
 ================ Step #2 =================
 
 Lookups cache are INVALID
-Marked as dirty by Kotlin:
+ChunkBuildStarted. Marked as dirty by Kotlin:
   module1/src/z.kt
   module2/src/a.kt
   module2/src/b.kt
@@ -101,7 +101,7 @@
 Compiling files:
   module2/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/b.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOnJavaChanged/build.log b/jps/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOnJavaChanged/build.log
index 046b885..6367912 100644
--- a/jps/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOnJavaChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOnJavaChanged/build.log
@@ -17,7 +17,7 @@
 ================ Step #2 =================
 
 Lookups cache are INVALID
-Marked as dirty by Kotlin:
+ChunkBuildStarted. Marked as dirty by Kotlin:
   module1/src/a.kt
   module2/src/c.kt
   module3/src/d.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/annotationFlagRemoved/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/annotationFlagRemoved/build.log
index b70458d..f4fd280 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/annotationFlagRemoved/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/annotationFlagRemoved/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/Ann1.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/UseAnn1Class.kt
   src/useAnn1Fun.kt
   src/useAnn1Val.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/annotationListChanged/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/annotationListChanged/build.log
index ab20a6a..9904e04 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/annotationListChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/annotationListChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AChild.kt
   src/AGrandChild.kt
   src/ATypeParameter.kt
@@ -62,7 +62,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AChild.kt
   src/AGrandChild.kt
   src/ATypeParameter.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/bridgeGenerated/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/bridgeGenerated/build.log
index 8bed89d..819e20f 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/bridgeGenerated/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/bridgeGenerated/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/AChild.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/useAChild.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/classBecameFinal/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/classBecameFinal/build.log
index 885ef88..2cf96e9 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/classBecameFinal/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/classBecameFinal/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AChild.kt
   src/AGrandChild.kt
   src/ATypeParameter.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/classBecameInterface/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/classBecameInterface/build.log
index 302867e..3dcaacf 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/classBecameInterface/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/classBecameInterface/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AChild.kt
   src/AGrandChild.kt
   src/ATypeParameter.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/classBecamePrivate/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/classBecamePrivate/build.log
index 0ce14b0..c651af6 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/classBecamePrivate/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/classBecamePrivate/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AChild.kt
   src/AGrandChild.kt
   src/ATypeParameter.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/classMovedIntoOtherClass/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/classMovedIntoOtherClass/build.log
index fce0dad..0b0fcc0 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/classMovedIntoOtherClass/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/classMovedIntoOtherClass/build.log
@@ -1,6 +1,6 @@
 ================ Step #1 =================
 
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   src/A.kt
   src/B.kt
   src/C.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/build.log
index 924010e..69ad0a4 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/build.log
@@ -4,7 +4,7 @@
   out/production/module/META-INF/module.kotlin_module
   out/production/module/foo/A.class
 End of files
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   src/B.kt
   src/C.kt
   src/createA.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/build.log
index 0b22828..a81a6d8 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/build.log
@@ -4,7 +4,7 @@
   out/production/module/META-INF/module.kotlin_module
   out/production/module/foo/A.class
 End of files
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   src/B.kt
   src/createA.kt
   src/createB.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectInheritedMemberChanged/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectInheritedMemberChanged/build.log
index 880e216..f86aeef 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectInheritedMemberChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectInheritedMemberChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/B.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/A.kt
   src/companionExtension.kt
   src/companionReferenceExplicit.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectMemberChanged/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectMemberChanged/build.log
index db1bb1a..3e63373 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectMemberChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectMemberChanged/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/companionExtension.kt
   src/companionReferenceExplicit.kt
   src/companionReferenceImplicit.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectNameChanged/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectNameChanged/build.log
index 6ac7ec0..f1ad4e0 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectNameChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectNameChanged/build.log
@@ -1,6 +1,6 @@
 ================ Step #1 =================
 
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   src/A.kt
   src/companionExtension.kt
   src/companionReferenceExplicit.kt
@@ -29,7 +29,7 @@
   src/companionExtension.kt
   src/companionReferenceExplicit.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/companionReferenceImplicit.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectToSimpleObject/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectToSimpleObject/build.log
index 7f1637a..da893e5 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectToSimpleObject/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectToSimpleObject/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/companionExtension.kt
   src/companionReferenceExplicit.kt
   src/companionReferenceImplicit.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/constructorVisibilityChanged/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/constructorVisibilityChanged/build.log
index a58d772..8767e4b 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/constructorVisibilityChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/constructorVisibilityChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AChild.kt
   src/createA.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/enumEntryAdded/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/enumEntryAdded/build.log
index 9b457f3..19ba525 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/enumEntryAdded/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/enumEntryAdded/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/Enum.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/getRandomEnumEntry.kt
   src/use.kt
   src/useEnumImplicitly.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/enumEntryRemoved/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/enumEntryRemoved/build.log
index 625f716..c6af34a 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/enumEntryRemoved/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/enumEntryRemoved/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/Enum.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/getRandomEnumEntry.kt
   src/use.kt
   src/useEnumImplicitly.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/enumMemberChanged/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/enumMemberChanged/build.log
index de046be..2129e5b 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/enumMemberChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/enumMemberChanged/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   src/Enum.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/useBecameNullable.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/flagsAndMemberInDifferentClassesChanged/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/flagsAndMemberInDifferentClassesChanged/build.log
index 0f6b6b5..c474625 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/flagsAndMemberInDifferentClassesChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/flagsAndMemberInDifferentClassesChanged/build.log
@@ -10,7 +10,7 @@
   src/AParent.kt
   src/B.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AChild.kt
   src/importA.kt
   src/importAChild.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/flagsAndMemberInSameClassChanged/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/flagsAndMemberInSameClassChanged/build.log
index 354e1d4a..10b35c3 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/flagsAndMemberInSameClassChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/flagsAndMemberInSameClassChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/B.kt
   src/getA.kt
   src/getB.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/implcitUpcast/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/implcitUpcast/build.log
index 96b6b83..0a6b34a 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/implcitUpcast/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/implcitUpcast/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/B.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/C.kt
   src/callUseAWithB.kt
   src/callUseAWithC.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/inferredTypeArgumentChanged/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/inferredTypeArgumentChanged/build.log
index 6f82612..a961bc4 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/inferredTypeArgumentChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/inferredTypeArgumentChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/B.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/C.kt
   src/getListOfB.kt
   src/getListOfC.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/inferredTypeChanged/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/inferredTypeChanged/build.log
index 5db82eb..a83b19f 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/inferredTypeChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/inferredTypeChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/B.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/C.kt
   src/getB.kt
   src/getBorC.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/lambdaParameterAffected/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/lambdaParameterAffected/build.log
index c9d58c7..824a9ab 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/lambdaParameterAffected/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/lambdaParameterAffected/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/B.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/consumeBExtLambda.kt
   src/consumeBLambda.kt
   src/useConsumeBExtLambda.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodAdded/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodAdded/build.log
index 42d665f..ca47384 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodAdded/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodAdded/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AChild.kt
   src/useAChild.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodAnnotationAdded/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodAnnotationAdded/build.log
index 42d665f..ca47384 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodAnnotationAdded/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodAnnotationAdded/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AChild.kt
   src/useAChild.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodNullabilityChanged/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodNullabilityChanged/build.log
index 09190cc..63dec95a 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodNullabilityChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodNullabilityChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AChild.kt
   src/useAChild.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodParameterWithDefaultValueAdded/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodParameterWithDefaultValueAdded/build.log
index 42d665f..ca47384 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodParameterWithDefaultValueAdded/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodParameterWithDefaultValueAdded/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AChild.kt
   src/useAChild.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodRemoved/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodRemoved/build.log
index 98d534a..9e00f5a 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodRemoved/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/methodRemoved/build.log
@@ -8,7 +8,7 @@
   src/A.kt
   src/utils.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AChild.kt
   src/useAChild.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/overrideExplicit/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/overrideExplicit/build.log
index 2d9097f7..b406a6e 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/overrideExplicit/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/overrideExplicit/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/B.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/overrideImplicit/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/overrideImplicit/build.log
index 6c6feca..f212374 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/overrideImplicit/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/overrideImplicit/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/B.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/BA.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/propertyNullabilityChanged/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/propertyNullabilityChanged/build.log
index 24ab5d1..9ed7cdb 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/propertyNullabilityChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/propertyNullabilityChanged/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AChild.kt
   src/useAChild.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/sealedClassImplAdded/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/sealedClassImplAdded/build.log
index 9595fe1..96fb1e4 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/sealedClassImplAdded/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/sealedClassImplAdded/build.log
@@ -9,7 +9,7 @@
 Compiling files:
   src/Base.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/use.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/sealedClassIndirectImplAdded/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/sealedClassIndirectImplAdded/build.log
index 81586cc..84ed09e 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/sealedClassIndirectImplAdded/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/sealedClassIndirectImplAdded/build.log
@@ -9,7 +9,7 @@
 Compiling files:
   src/Base.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/use.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/sealedClassNestedImplAdded/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/sealedClassNestedImplAdded/build.log
index 251ff31..037ce16 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/sealedClassNestedImplAdded/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/sealedClassNestedImplAdded/build.log
@@ -9,7 +9,7 @@
 Compiling files:
   src/Base.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/use.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/secondaryConstructorAdded/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/secondaryConstructorAdded/build.log
index e6347e4..9bcb313 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/secondaryConstructorAdded/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/secondaryConstructorAdded/build.log
@@ -24,7 +24,7 @@
   src/A.kt
   src/createAFromString.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AChild.kt
   src/createAFromInt.kt
   src/useA.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/secondaryConstructorAdded/fir-ic-build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/secondaryConstructorAdded/fir-ic-build.log
index 87cfda8c..f2a4dad 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/secondaryConstructorAdded/fir-ic-build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/secondaryConstructorAdded/fir-ic-build.log
@@ -24,7 +24,6 @@
 Compiling files:
   src/A.kt
   src/AChild.kt
-  src/AConstructorFunction.kt
   src/createAFromInt.kt
   src/createAFromString.kt
   src/useA.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/starProjectionUpperBoundChanged/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/starProjectionUpperBoundChanged/build.log
index 15d6c05..485cf85 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/starProjectionUpperBoundChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/starProjectionUpperBoundChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AStarDeclaration.kt
   src/CallGetAStar.kt
   src/getAStar.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/supertypesListChanged/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/supertypesListChanged/build.log
index 247b87b..0809861 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/supertypesListChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/supertypesListChanged/build.log
@@ -8,7 +8,7 @@
   src/A.kt
   src/AParent.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AChild.kt
   src/AGrandChild.kt
   src/ATypeParameter.kt
@@ -62,7 +62,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AChild.kt
   src/AGrandChild.kt
   src/ATypeParameter.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/typeParameterListChanged/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/typeParameterListChanged/build.log
index 4779b93..ac196c0 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/typeParameterListChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/typeParameterListChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AChild.kt
   src/AGrandChild.kt
   src/ATypeParameter.kt
diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/varianceChanged/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/varianceChanged/build.log
index 6cc3c6f..ee581a7 100644
--- a/jps/jps-plugin/testData/incremental/classHierarchyAffected/varianceChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/varianceChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/D.kt
   src/useA.kt
   src/useD.kt
diff --git a/jps/jps-plugin/testData/incremental/inlineFunCallSite/classProperty/build.log b/jps/jps-plugin/testData/incremental/inlineFunCallSite/classProperty/build.log
index 70b880e..b8907a5 100644
--- a/jps/jps-plugin/testData/incremental/inlineFunCallSite/classProperty/build.log
+++ b/jps/jps-plugin/testData/incremental/inlineFunCallSite/classProperty/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/Usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/inlineFunCallSite/companionObjectProperty/build.log b/jps/jps-plugin/testData/incremental/inlineFunCallSite/companionObjectProperty/build.log
index ac49f40..8e4e51e 100644
--- a/jps/jps-plugin/testData/incremental/inlineFunCallSite/companionObjectProperty/build.log
+++ b/jps/jps-plugin/testData/incremental/inlineFunCallSite/companionObjectProperty/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/Usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/inlineFunCallSite/coroutine/build.log b/jps/jps-plugin/testData/incremental/inlineFunCallSite/coroutine/build.log
index bc387a97..6ee5042 100644
--- a/jps/jps-plugin/testData/incremental/inlineFunCallSite/coroutine/build.log
+++ b/jps/jps-plugin/testData/incremental/inlineFunCallSite/coroutine/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/inlineFunCallSite/function/build.log b/jps/jps-plugin/testData/incremental/inlineFunCallSite/function/build.log
index 98c5e9e..a99704b 100644
--- a/jps/jps-plugin/testData/incremental/inlineFunCallSite/function/build.log
+++ b/jps/jps-plugin/testData/incremental/inlineFunCallSite/function/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/inlineFunCallSite/getter/build.log b/jps/jps-plugin/testData/incremental/inlineFunCallSite/getter/build.log
index 3aee887..ef833dc 100644
--- a/jps/jps-plugin/testData/incremental/inlineFunCallSite/getter/build.log
+++ b/jps/jps-plugin/testData/incremental/inlineFunCallSite/getter/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/Usage.kt
   src/topLevelUsage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/inlineFunCallSite/lambda/build.log b/jps/jps-plugin/testData/incremental/inlineFunCallSite/lambda/build.log
index 83eeb57..6603a3d 100644
--- a/jps/jps-plugin/testData/incremental/inlineFunCallSite/lambda/build.log
+++ b/jps/jps-plugin/testData/incremental/inlineFunCallSite/lambda/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/inlineFunCallSite/localFun/build.log b/jps/jps-plugin/testData/incremental/inlineFunCallSite/localFun/build.log
index 98c5e9e..a99704b 100644
--- a/jps/jps-plugin/testData/incremental/inlineFunCallSite/localFun/build.log
+++ b/jps/jps-plugin/testData/incremental/inlineFunCallSite/localFun/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/inlineFunCallSite/method/build.log b/jps/jps-plugin/testData/incremental/inlineFunCallSite/method/build.log
index 70b880e..b8907a5 100644
--- a/jps/jps-plugin/testData/incremental/inlineFunCallSite/method/build.log
+++ b/jps/jps-plugin/testData/incremental/inlineFunCallSite/method/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/Usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/inlineFunCallSite/parameterDefaultValue/build.log b/jps/jps-plugin/testData/incremental/inlineFunCallSite/parameterDefaultValue/build.log
index 98c5e9e..a99704b 100644
--- a/jps/jps-plugin/testData/incremental/inlineFunCallSite/parameterDefaultValue/build.log
+++ b/jps/jps-plugin/testData/incremental/inlineFunCallSite/parameterDefaultValue/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/inlineFunCallSite/primaryConstructorParameterDefaultValue/build.log b/jps/jps-plugin/testData/incremental/inlineFunCallSite/primaryConstructorParameterDefaultValue/build.log
index 70b880e..b8907a5 100644
--- a/jps/jps-plugin/testData/incremental/inlineFunCallSite/primaryConstructorParameterDefaultValue/build.log
+++ b/jps/jps-plugin/testData/incremental/inlineFunCallSite/primaryConstructorParameterDefaultValue/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/Usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/inlineFunCallSite/superCall/build.log b/jps/jps-plugin/testData/incremental/inlineFunCallSite/superCall/build.log
index 70b880e..b8907a5 100644
--- a/jps/jps-plugin/testData/incremental/inlineFunCallSite/superCall/build.log
+++ b/jps/jps-plugin/testData/incremental/inlineFunCallSite/superCall/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/Usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/inlineFunCallSite/thisCall/build.log b/jps/jps-plugin/testData/incremental/inlineFunCallSite/thisCall/build.log
index 70b880e..b8907a5 100644
--- a/jps/jps-plugin/testData/incremental/inlineFunCallSite/thisCall/build.log
+++ b/jps/jps-plugin/testData/incremental/inlineFunCallSite/thisCall/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/Usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/inlineFunCallSite/topLevelObjectProperty/build.log b/jps/jps-plugin/testData/incremental/inlineFunCallSite/topLevelObjectProperty/build.log
index 70b880e..b8907a5 100644
--- a/jps/jps-plugin/testData/incremental/inlineFunCallSite/topLevelObjectProperty/build.log
+++ b/jps/jps-plugin/testData/incremental/inlineFunCallSite/topLevelObjectProperty/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/Usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/inlineFunCallSite/topLevelProperty/build.log b/jps/jps-plugin/testData/incremental/inlineFunCallSite/topLevelProperty/build.log
index 98c5e9e..a99704b 100644
--- a/jps/jps-plugin/testData/incremental/inlineFunCallSite/topLevelProperty/build.log
+++ b/jps/jps-plugin/testData/incremental/inlineFunCallSite/topLevelProperty/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/lazyKotlinCaches/constant/build.log b/jps/jps-plugin/testData/incremental/lazyKotlinCaches/constant/build.log
index f7eb1e8..9953aba 100644
--- a/jps/jps-plugin/testData/incremental/lazyKotlinCaches/constant/build.log
+++ b/jps/jps-plugin/testData/incremental/lazyKotlinCaches/constant/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/constant.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/lazyKotlinCaches/inlineFunctionWithUsage/build.log b/jps/jps-plugin/testData/incremental/lazyKotlinCaches/inlineFunctionWithUsage/build.log
index 98c5e9e..a99704b 100644
--- a/jps/jps-plugin/testData/incremental/lazyKotlinCaches/inlineFunctionWithUsage/build.log
+++ b/jps/jps-plugin/testData/incremental/lazyKotlinCaches/inlineFunctionWithUsage/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/classAdded/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/classAdded/build.log
index 7836e2f..939425a 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/classAdded/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/classAdded/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   module2/src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/B.kt
   module2/src/createA.kt
   module2/src/createB.kt
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/classAdded/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/classAdded/js-jps-build.log
index 3df78bc..804f985 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/classAdded/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/classAdded/js-jps-build.log
@@ -7,7 +7,7 @@
 Compiling files:
   module2/src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/B.kt
   module2/src/createA.kt
   module2/src/createB.kt
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/classRemoved/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/classRemoved/build.log
index f062010..e704c12 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/classRemoved/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/classRemoved/build.log
@@ -8,7 +8,7 @@
   out/production/module2/foo/A.class
 End of files
 Building module2
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module2/src/B.kt
   module2/src/createA.kt
   module2/src/createB.kt
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/classRemoved/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/classRemoved/js-jps-build.log
index 70c139a..3ca4406 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/classRemoved/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/classRemoved/js-jps-build.log
@@ -4,7 +4,7 @@
 Exit code: NOTHING_DONE
 ------------------------------------------
 Building module2
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module2/src/B.kt
   module2/src/createA.kt
   module2/src/createB.kt
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/constantValueChanged/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/constantValueChanged/build.log
index 5c1d1a5..b00d9ff 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/constantValueChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/constantValueChanged/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   module1/src/const.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/constantValueChanged/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/constantValueChanged/js-jps-build.log
index 4a577ac..2aeed36 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/constantValueChanged/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/constantValueChanged/js-jps-build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/const.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/copyFileToAnotherModule/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/copyFileToAnotherModule/build.log
index b10de0a..749859d 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/copyFileToAnotherModule/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/copyFileToAnotherModule/build.log
@@ -4,7 +4,7 @@
 Compiling files:
   module1/src/b.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/b.kt
   module2/src/useClassB.kt
   module2/src/useFunB.kt
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/copyFileToAnotherModule/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/copyFileToAnotherModule/js-jps-build.log
index 52437a4d..f5a9419 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/copyFileToAnotherModule/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/copyFileToAnotherModule/js-jps-build.log
@@ -4,7 +4,7 @@
 Compiling files:
   module1/src/b.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/b.kt
   module2/src/useClassB.kt
   module2/src/useFunB.kt
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/defaultArgumentInConstructorRemoved/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/defaultArgumentInConstructorRemoved/build.log
index eeeb3ad..a367b8b 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/defaultArgumentInConstructorRemoved/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/defaultArgumentInConstructorRemoved/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   module1/src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/createADefault.kt
   module2/src/createANonDefault.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/defaultArgumentInConstructorRemoved/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/defaultArgumentInConstructorRemoved/js-jps-build.log
index e2af6fd..df58489 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/defaultArgumentInConstructorRemoved/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/defaultArgumentInConstructorRemoved/js-jps-build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/createADefault.kt
   module2/src/createANonDefault.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterAdded/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterAdded/build.log
index 3641d30..a76a10c 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterAdded/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterAdded/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   module1/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterAdded/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterAdded/js-jps-build.log
index 96900e7..f29645f 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterAdded/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterAdded/js-jps-build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterAddedForTopLevelFun/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterAddedForTopLevelFun/build.log
index 341318a..8bfbb29 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterAddedForTopLevelFun/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterAddedForTopLevelFun/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   module1/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterAddedForTopLevelFun/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterAddedForTopLevelFun/js-jps-build.log
index 96900e7..f29645f 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterAddedForTopLevelFun/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterAddedForTopLevelFun/js-jps-build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterRemoved/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterRemoved/build.log
index 3641d30..a76a10c 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterRemoved/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterRemoved/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   module1/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterRemoved/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterRemoved/js-jps-build.log
index 96900e7..f29645f 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterRemoved/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterRemoved/js-jps-build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterRemovedForTopLevelFun/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterRemovedForTopLevelFun/build.log
index 341318a..8bfbb29 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterRemovedForTopLevelFun/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterRemovedForTopLevelFun/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   module1/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterRemovedForTopLevelFun/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterRemovedForTopLevelFun/js-jps-build.log
index 96900e7..f29645f 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterRemovedForTopLevelFun/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/defaultParameterRemovedForTopLevelFun/js-jps-build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/defaultValueInConstructorRemoved/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/defaultValueInConstructorRemoved/build.log
index 73dd59f..01cf8b8 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/defaultValueInConstructorRemoved/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/defaultValueInConstructorRemoved/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   module1/src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/createADefault.kt
   module2/src/createANonDefault.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/defaultValueInConstructorRemoved/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/defaultValueInConstructorRemoved/js-jps-build.log
index e2fa2d0..fa2dc82 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/defaultValueInConstructorRemoved/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/defaultValueInConstructorRemoved/js-jps-build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/createADefault.kt
   module2/src/createANonDefault.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/exportedDependency/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/exportedDependency/build.log
index 6f49ab1..b45f085 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/exportedDependency/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/exportedDependency/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   module1/src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/AChild.kt
   module3/src/AGrandChild.kt
   module3/src/importAGrandChild.kt
@@ -41,7 +41,7 @@
 Compiling files:
   module1/src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/AChild.kt
   module3/src/AGrandChild.kt
   module3/src/importAGrandChild.kt
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/exportedDependency/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/exportedDependency/js-jps-build.log
index 8bdfe13..035801b 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/exportedDependency/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/exportedDependency/js-jps-build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/AChild.kt
   module3/src/AGrandChild.kt
   module3/src/importAGrandChild.kt
@@ -44,7 +44,7 @@
 Compiling files:
   module1/src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/AChild.kt
   module3/src/AGrandChild.kt
   module3/src/importAGrandChild.kt
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/build.log
index 676df62..a7d1e36 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   module1/src/foo.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/useFoo.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/js-jps-build.log
index af9ede2..51645bf 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/js-jps-build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/foo.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/useFoo.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/inlineFunctionInlined/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/inlineFunctionInlined/build.log
index 55bc9b6..dc42992 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/inlineFunctionInlined/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/inlineFunctionInlined/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   module1/src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/inlineFunctionInlined/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/inlineFunctionInlined/js-jps-build.log
index d8abf06..2c8fb84 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/inlineFunctionInlined/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/inlineFunctionInlined/js-jps-build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/inlineFunctionTwoPackageParts/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/inlineFunctionTwoPackageParts/build.log
index ef3b395..080cc7a 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/inlineFunctionTwoPackageParts/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/inlineFunctionTwoPackageParts/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   module1/src/inlineF.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/usageF.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
@@ -35,7 +35,7 @@
 Compiling files:
   module1/src/inlineG.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/usageG.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/inlineFunctionTwoPackageParts/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/inlineFunctionTwoPackageParts/js-jps-build.log
index b847314..27f2ade 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/inlineFunctionTwoPackageParts/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/inlineFunctionTwoPackageParts/js-jps-build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/inlineF.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/usageF.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
@@ -38,7 +38,7 @@
 Compiling files:
   module1/src/inlineG.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/usageG.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/moveFileToAnotherModule/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/moveFileToAnotherModule/build.log
index 45d7dfb..91948733 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/moveFileToAnotherModule/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/moveFileToAnotherModule/build.log
@@ -4,7 +4,7 @@
 Compiling files:
   module1/src/b.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/useClassB.kt
   module2/src/useFunB.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
@@ -17,7 +17,7 @@
   out/production/module2/b/BKt.class
 End of files
 Building module2
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module2/src/useClassB.kt
 Cleaning output files:
   out/production/module2/usage/UseClassBKt.class
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/moveFileToAnotherModule/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/moveFileToAnotherModule/js-jps-build.log
index f9e2f1d..aa59d60 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/moveFileToAnotherModule/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/moveFileToAnotherModule/js-jps-build.log
@@ -4,7 +4,7 @@
 Compiling files:
   module1/src/b.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/useClassB.kt
   module2/src/useFunB.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
@@ -12,7 +12,7 @@
 Exit code: NOTHING_DONE
 ------------------------------------------
 Building module2
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module2/src/useClassB.kt
 Cleaning output files:
   out/production/module2/module2.js
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/simple/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/simple/build.log
index fe9147a..bf2d6f7 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/simple/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/simple/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   module1/src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/AChild.kt
   module2/src/importA.kt
   module3/src/importAChild.kt
@@ -42,7 +42,7 @@
 Compiling files:
   module1/src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/AChild.kt
   module2/src/importA.kt
   module3/src/importAChild.kt
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/simple/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/simple/js-jps-build.log
index 0fbb2d9..0765876 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/simple/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/simple/js-jps-build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/AChild.kt
   module2/src/importA.kt
   module3/src/importAChild.kt
@@ -45,7 +45,7 @@
 Compiling files:
   module1/src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/AChild.kt
   module2/src/importA.kt
   module3/src/importAChild.kt
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependency/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependency/build.log
index 6ddaba7..4da3427 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependency/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependency/build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/b.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependency/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependency/js-jps-build.log
index 2301a16..284f592 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependency/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependency/js-jps-build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/b.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependencyErrorOnAccessToInternal1/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependencyErrorOnAccessToInternal1/build.log
index 21e1a57..2e5555a 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependencyErrorOnAccessToInternal1/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependencyErrorOnAccessToInternal1/build.log
@@ -11,7 +11,7 @@
 Compiling files:
   module1/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/b.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependencyErrorOnAccessToInternal1/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependencyErrorOnAccessToInternal1/js-jps-build.log
index 654c739..b6574c8 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependencyErrorOnAccessToInternal1/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependencyErrorOnAccessToInternal1/js-jps-build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/b.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependencyErrorOnAccessToInternal2/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependencyErrorOnAccessToInternal2/build.log
index c2879e0..8ca8f24 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependencyErrorOnAccessToInternal2/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependencyErrorOnAccessToInternal2/build.log
@@ -1,7 +1,7 @@
 ================ Step #1 =================
 
 Building module1
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module1/src/a.kt
 Cleaning output files:
   out/production/module1/META-INF/module1.kotlin_module
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependencyErrorOnAccessToInternal2/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependencyErrorOnAccessToInternal2/js-jps-build.log
index 52ab460..23af5c3 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependencyErrorOnAccessToInternal2/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/simpleDependencyErrorOnAccessToInternal2/js-jps-build.log
@@ -1,7 +1,7 @@
 ================ Step #1 =================
 
 Building module1
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   module1/src/a.kt
 Cleaning output files:
   out/production/module1/module1.js
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/transitiveDependency/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/transitiveDependency/build.log
index 4efd215..2880a9d 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/transitiveDependency/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/transitiveDependency/build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/b.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/transitiveDependency/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/transitiveDependency/js-jps-build.log
index 13f1146..1f3b690 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/transitiveDependency/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/transitiveDependency/js-jps-build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/b.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/transitiveInlining/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/transitiveInlining/build.log
index a164a0f..8005361 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/transitiveInlining/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/transitiveInlining/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   module1/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/b.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
@@ -22,7 +22,7 @@
 Compiling files:
   module2/src/b.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module3/src/c.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/transitiveInlining/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/transitiveInlining/js-jps-build.log
index e3aee07..9d04979 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/transitiveInlining/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/transitiveInlining/js-jps-build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/b.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
@@ -24,7 +24,7 @@
 Compiling files:
   module2/src/b.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module3/src/c.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/twoDependants/build.log b/jps/jps-plugin/testData/incremental/multiModule/common/twoDependants/build.log
index e15db13..80d0b5f 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/twoDependants/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/twoDependants/build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/b.kt
   module3/src/c.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/multiModule/common/twoDependants/js-jps-build.log b/jps/jps-plugin/testData/incremental/multiModule/common/twoDependants/js-jps-build.log
index 89c5bf4..31895a3 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/common/twoDependants/js-jps-build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/common/twoDependants/js-jps-build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module1/src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module2/src/b.kt
   module3/src/c.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/multiModule/jvm/circular/build.log b/jps/jps-plugin/testData/incremental/multiModule/jvm/circular/build.log
index 2174506..0316a69 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/jvm/circular/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/jvm/circular/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   module1/src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module1/src/D.kt
   module2/src/B.kt
   module3/src/C.kt
@@ -54,7 +54,7 @@
 Compiling files:
   module3/src/C.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module4/src/E.kt
   module5/src/F.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/multiModule/jvm/circularDependencyClasses/build.log b/jps/jps-plugin/testData/incremental/multiModule/jvm/circularDependencyClasses/build.log
index c779a39..db72cae 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/jvm/circularDependencyClasses/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/jvm/circularDependencyClasses/build.log
@@ -9,7 +9,7 @@
 Compiling files:
   module2/src/b.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   module1/src/a.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/multiModule/multiplatform/custom/buildError/build.log b/jps/jps-plugin/testData/incremental/multiModule/multiplatform/custom/buildError/build.log
index 104fae8..5a5c9d5 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/multiplatform/custom/buildError/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/multiplatform/custom/buildError/build.log
@@ -7,6 +7,8 @@
   out/production/pJs/pJs.meta.js
   out/production/pJs/pJs/root-package.kjsm
 End of files
+Complementary files. Marked as dirty by Kotlin:
+  pJs/src/fJs.kt
 Compiling files:
   c/src/f.kt
   pJs/src/fJs.kt
@@ -31,6 +33,8 @@
 Cleaning output files:
   out/production/pJvm/META-INF/pJvm.kotlin_module
 End of files
+Complementary files. Marked as dirty by Kotlin:
+  pJvm/src/fJvm.kt
 Cleaning output files:
   out/production/pJvm/FJvmKt.class
 End of files
diff --git a/jps/jps-plugin/testData/incremental/multiModule/multiplatform/custom/buildError2Levels/build.log b/jps/jps-plugin/testData/incremental/multiModule/multiplatform/custom/buildError2Levels/build.log
index 75f18a0..95b7cff 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/multiplatform/custom/buildError2Levels/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/multiplatform/custom/buildError2Levels/build.log
@@ -7,6 +7,9 @@
   out/production/pJs/pJs.meta.js
   out/production/pJs/pJs/root-package.kjsm
 End of files
+Complementary files. Marked as dirty by Kotlin:
+  c/src/g.kt
+  pJs/src/fg.kt
 Compiling files:
   c/src/f.kt
   c/src/g.kt
@@ -22,6 +25,8 @@
 
 Building c
 Building pJs
+Complementary files. Marked as dirty by Kotlin:
+  c/src/g.kt
 Compiling files:
   c/src/f.kt
   c/src/g.kt
@@ -29,12 +34,15 @@
 End of files
 Exit code: OK
 ------------------------------------------
-Marked as dirty by Kotlin:
+ChunkBuildStarted. Marked as dirty by Kotlin:
   c/src/g.kt
 Building pJvm
 Cleaning output files:
   out/production/pJvm/META-INF/pJvm.kotlin_module
 End of files
+Complementary files. Marked as dirty by Kotlin:
+  c/src/g.kt
+  pJvm/src/fg.kt
 Cleaning output files:
   out/production/pJvm/FgKt.class
 End of files
diff --git a/jps/jps-plugin/testData/incremental/multiModule/multiplatform/custom/complementaryFiles/build.log b/jps/jps-plugin/testData/incremental/multiModule/multiplatform/custom/complementaryFiles/build.log
index 3a90f366..5316c8b 100644
--- a/jps/jps-plugin/testData/incremental/multiModule/multiplatform/custom/complementaryFiles/build.log
+++ b/jps/jps-plugin/testData/incremental/multiModule/multiplatform/custom/complementaryFiles/build.log
@@ -6,6 +6,8 @@
   out/production/pJvm/FJvmKt.class
   out/production/pJvm/META-INF/pJvm.kotlin_module
 End of files
+Complementary files. Marked as dirty by Kotlin:
+  c/src/f.kt
 Cleaning output files:
   out/production/pJvm/FKt.class
 End of files
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/addClass/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/addClass/build.log
index 9d2a2de..b03554c 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/addClass/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/addClass/build.log
@@ -3,7 +3,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/funA.kt
   src/useA.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/build.log
index 3d8ecd1..d21fe55 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/build.log
@@ -3,7 +3,7 @@
 Compiling files:
   src/foo2.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/foo1.kt
   src/use.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/addMemberTypeAlias/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/addMemberTypeAlias/build.log
index 2b216fb..feefb42 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/addMemberTypeAlias/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/addMemberTypeAlias/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/a1Usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/addTopLevelTypeAlias/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/addTopLevelTypeAlias/build.log
index 4f5133e..034d7c3 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/addTopLevelTypeAlias/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/addTopLevelTypeAlias/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/a1Usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/allConstants/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/allConstants/build.log
index 4a46633..665accc 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/allConstants/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/allConstants/build.log
@@ -19,7 +19,7 @@
 Compiling files:
   src/const.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/changeTypeImplicitlyWithCircularDependency/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/changeTypeImplicitlyWithCircularDependency/build.log
index a958ab5..e7baa4a 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/changeTypeImplicitlyWithCircularDependency/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/changeTypeImplicitlyWithCircularDependency/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/usage1.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage2.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
@@ -18,7 +18,7 @@
 Compiling files:
   src/usage2.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage1.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/classInlineFunctionChanged/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/classInlineFunctionChanged/build.log
index 0c97baf..66f8881 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/classInlineFunctionChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/classInlineFunctionChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/classObjectConstantChanged/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/classObjectConstantChanged/build.log
index 0413c6c..7c73463 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/classObjectConstantChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/classObjectConstantChanged/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   src/const.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/classSignatureChanged/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/classSignatureChanged/build.log
index 63944eb..e59b9b9 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/classSignatureChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/classSignatureChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/class.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/companionConstantChanged/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/companionConstantChanged/build.log
index 9eb0e62..0b4416d 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/companionConstantChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/companionConstantChanged/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/B.kt
   src/C.kt
   src/companionUsage.kt
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/compilationErrorThenFixedWithPhantomPart3/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/compilationErrorThenFixedWithPhantomPart3/build.log
index 0833087..57c6993 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/compilationErrorThenFixedWithPhantomPart3/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/compilationErrorThenFixedWithPhantomPart3/build.log
@@ -1,6 +1,6 @@
 ================ Step #1 =================
 
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   src/other.kt
   src/usage.kt
 Cleaning output files:
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/constantRemoved/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/constantRemoved/build.log
index 7bee545..a26a34b 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/constantRemoved/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/constantRemoved/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/const.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/constantValueChanged/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/constantValueChanged/build.log
index 9a77b78..c44889d 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/constantValueChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/constantValueChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/const.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/defaultArgumentInConstructorAdded/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/defaultArgumentInConstructorAdded/build.log
index 6120b0c..2b639c7 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/defaultArgumentInConstructorAdded/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/defaultArgumentInConstructorAdded/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/B.kt
   src/createA.kt
   src/useA.kt
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/defaultArgumentInConstructorRemoved/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/defaultArgumentInConstructorRemoved/build.log
index 6b9705b..e2d7eff 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/defaultArgumentInConstructorRemoved/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/defaultArgumentInConstructorRemoved/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/B.kt
   src/createADefault.kt
   src/createANonDefault.kt
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/defaultValueAdded/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/defaultValueAdded/build.log
index 9c5c62e..23c7f99 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/defaultValueAdded/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/defaultValueAdded/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/fun.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/useDefault.kt
   src/useNonDefault.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/defaultValueInConstructorRemoved/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/defaultValueInConstructorRemoved/build.log
index dbd011c..efae3a3 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/defaultValueInConstructorRemoved/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/defaultValueInConstructorRemoved/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/B.kt
   src/createADefault.kt
   src/createANonDefault.kt
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/defaultValueRemoved1/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/defaultValueRemoved1/build.log
index a2c286b..2f24af9 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/defaultValueRemoved1/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/defaultValueRemoved1/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/fun.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/useDefault.kt
   src/useNonDefault.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/defaultValueRemoved2/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/defaultValueRemoved2/build.log
index 63fae62..b3fd718 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/defaultValueRemoved2/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/defaultValueRemoved2/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/fun.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/useDefault1.kt
   src/useDefault2.kt
   src/useNonDefault.kt
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/build.log
index 2de0bdb..537f2bc 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inlineGet.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/UsageVal.kt
   src/UsageVar.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
@@ -33,7 +33,7 @@
 Compiling files:
   src/inlineSet.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/UsageVar.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/build.log
index 4c198b3..ee15496 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/UsageVal.kt
   src/UsageVar.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
@@ -33,7 +33,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/UsageVar.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/fileWithConstantRemoved/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/fileWithConstantRemoved/build.log
index fbb3cee..d1d90dc 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/fileWithConstantRemoved/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/fileWithConstantRemoved/build.log
@@ -6,7 +6,7 @@
 End of files
 Compiling files:
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/fileWithInlineFunctionRemoved/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/fileWithInlineFunctionRemoved/build.log
index 98e6b08..d9f9291 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/fileWithInlineFunctionRemoved/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/fileWithInlineFunctionRemoved/build.log
@@ -6,7 +6,7 @@
 End of files
 Compiling files:
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/functionBecameInline/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/functionBecameInline/build.log
index 7813ba9..ecaae63 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/functionBecameInline/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/functionBecameInline/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/fun.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/inlineFunctionBecomesNonInline/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/inlineFunctionBecomesNonInline/build.log
index cbce054..6baaeb0 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/inlineFunctionBecomesNonInline/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/inlineFunctionBecomesNonInline/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/useInline.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/inlineFunctionsCircularDependency/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/inlineFunctionsCircularDependency/build.log
index 1a5df78..581618c 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/inlineFunctionsCircularDependency/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/inlineFunctionsCircularDependency/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/b.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
@@ -18,7 +18,7 @@
 Compiling files:
   src/b.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/a.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/inlineLinesChanged/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/inlineLinesChanged/build.log
index c1da0ac..23d531e 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/inlineLinesChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/inlineLinesChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/useG.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/inlinePropertyInClass/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/inlinePropertyInClass/build.log
index d2cee84..b88aa00 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/inlinePropertyInClass/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/inlinePropertyInClass/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/useSetter.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
@@ -30,7 +30,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/useGetter.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/inlinePropertyOnTopLevel/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/inlinePropertyOnTopLevel/build.log
index 9f1d5f3..eac89c8 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/inlinePropertyOnTopLevel/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/inlinePropertyOnTopLevel/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/useSetter.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
@@ -30,7 +30,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/useGetter.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/inlineSuspendFunctionChanged/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/inlineSuspendFunctionChanged/build.log
index cbce054..6baaeb0 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/inlineSuspendFunctionChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/inlineSuspendFunctionChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/useInline.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/inlineTwoFunctionsOneChanged/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/inlineTwoFunctionsOneChanged/build.log
index d5bbb4e..d0487be 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/inlineTwoFunctionsOneChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/inlineTwoFunctionsOneChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usesG.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/moveFileWithChangingPackage/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/moveFileWithChangingPackage/build.log
index 64efa26..a5caee7 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/moveFileWithChangingPackage/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/moveFileWithChangingPackage/build.log
@@ -5,7 +5,7 @@
   out/production/module/foo/AKt.class
   out/production/module/foo/Foo.class
 End of files
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   src/useClass.kt
 Cleaning output files:
   out/production/module/baz/UseClassKt.class
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/build.log
index 261ecf1..663bce5 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/const.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/packageConstantChanged/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/packageConstantChanged/build.log
index d140a27..635e13a 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/packageConstantChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/packageConstantChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/const.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/parameterWithDefaultValueAdded/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/parameterWithDefaultValueAdded/build.log
index d037621..7624d3a 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/parameterWithDefaultValueAdded/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/parameterWithDefaultValueAdded/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/fun.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/useDefault.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
@@ -30,7 +30,7 @@
 Compiling files:
   src/fun.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/useDefault.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/parameterWithDefaultValueRemoved/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/parameterWithDefaultValueRemoved/build.log
index 1594b2d..6d2d15d 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/parameterWithDefaultValueRemoved/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/parameterWithDefaultValueRemoved/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/fun.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/useDefault.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/build.log
index 4e6bb52..d5e43e3 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/build.log
@@ -1,6 +1,6 @@
 ================ Step #1 =================
 
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   src/A.kt
 Cleaning output files:
   out/production/module/META-INF/module.kotlin_module
@@ -10,7 +10,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/useA.kt
   src/useAbar.kt
   src/useAfoo.kt
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/build.log
index f8efb41..7d48420 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/build.log
@@ -1,6 +1,6 @@
 ================ Step #1 =================
 
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   src/A.kt
   src/getACompanion.kt
   src/getACompanionShort.kt
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/removeClass/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/removeClass/build.log
index 1c0af20..7e769aa 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/removeClass/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/removeClass/build.log
@@ -4,7 +4,7 @@
   out/production/module/META-INF/module.kotlin_module
   out/production/module/foo/A.class
 End of files
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   src/funA.kt
   src/useA.kt
 Cleaning output files:
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/build.log
index 4686e03..9dc0f16 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/build.log
@@ -4,7 +4,7 @@
   out/production/module/A.class
   out/production/module/META-INF/module.kotlin_module
 End of files
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   src/funA.kt
   src/useA.kt
 Cleaning output files:
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/build.log
index bd46dda..3bc9a1a 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/build.log
@@ -10,7 +10,7 @@
 Compiling files:
   src/use.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/foo1.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/removeMemberTypeAlias/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/removeMemberTypeAlias/build.log
index 2b216fb..feefb42 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/removeMemberTypeAlias/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/removeMemberTypeAlias/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/a1Usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/removeTopLevelTypeAlias/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/removeTopLevelTypeAlias/build.log
index 4f5133e..034d7c3 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/removeTopLevelTypeAlias/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/removeTopLevelTypeAlias/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   src/a.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/a1Usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/renameClass/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/renameClass/build.log
index 5705976..2b1d94a 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/renameClass/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/renameClass/build.log
@@ -1,6 +1,6 @@
 ================ Step #1 =================
 
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   src/A.kt
   src/funs.kt
   src/useA.kt
@@ -15,7 +15,7 @@
   src/funs.kt
   src/useA.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/useB.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/build.log
index e2768cb..610ff77 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/build.log
@@ -11,7 +11,7 @@
   src/foo3.kt
   src/useF.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/foo1.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/returnTypeChanged/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/returnTypeChanged/build.log
index bd04740..3aa1054 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/returnTypeChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/returnTypeChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/fun.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddImplements/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddImplements/build.log
index 2b74053..2563c3a 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddImplements/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddImplements/build.log
@@ -7,17 +7,20 @@
 Compiling files:
   src/B.kt
 End of files
-Marked as dirty by Kotlin:
-  src/A.kt
-  src/B.kt
+After build round. Marked as dirty by Kotlin:
   src/Base.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
 Cleaning output files:
   out/production/module/META-INF/module.kotlin_module
+  out/production/module/test/Base.class
+End of files
+Complementary files. Marked as dirty by Kotlin:
+  src/A.kt
+  src/B.kt
+Cleaning output files:
   out/production/module/test/A.class
   out/production/module/test/B.class
-  out/production/module/test/Base.class
 End of files
 Compiling files:
   src/A.kt
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/A.kt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/A.kt
similarity index 100%
copy from jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/A.kt
copy to jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/A.kt
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/B.kt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/B.kt
similarity index 100%
copy from jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/B.kt
copy to jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/B.kt
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/Base.kt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/Base.kt
similarity index 100%
copy from jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/Base.kt
copy to jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/Base.kt
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/C.kt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/C.kt
new file mode 100644
index 0000000..d3c40f5
--- /dev/null
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/C.kt
@@ -0,0 +1,3 @@
+package test
+
+open class C : Any()
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/C.kt.new b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/C.kt.new
new file mode 100644
index 0000000..d419193
--- /dev/null
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/C.kt.new
@@ -0,0 +1,3 @@
+package test
+
+open class C : Base
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/D.kt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/D.kt
new file mode 100644
index 0000000..cd964407
--- /dev/null
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/D.kt
@@ -0,0 +1,3 @@
+package test
+
+class D : C()
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/args.txt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/args.txt
similarity index 100%
copy from jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/args.txt
copy to jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/args.txt
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/build.log
similarity index 82%
rename from jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/build.log
rename to jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/build.log
index d158195..e5fc782 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/build.log
@@ -1,20 +1,29 @@
 ================ Step #1 =================
 
+Cleaning output files:
+  out/production/module/META-INF/module.kotlin_module
+  out/production/module/test/C.class
+End of files
 Compiling files:
   src/C.kt
 End of files
-Marked as dirty by Kotlin:
-  src/A.kt
-  src/B.kt
+After build round. Marked as dirty by Kotlin:
   src/Base.kt
-  src/C.kt
+  src/D.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
 Cleaning output files:
   out/production/module/META-INF/module.kotlin_module
+  out/production/module/test/Base.class
+  out/production/module/test/D.class
+End of files
+Complementary files. Marked as dirty by Kotlin:
+  src/A.kt
+  src/B.kt
+  src/C.kt
+Cleaning output files:
   out/production/module/test/A.class
   out/production/module/test/B.class
-  out/production/module/test/Base.class
   out/production/module/test/C.class
 End of files
 Compiling files:
@@ -22,16 +31,6 @@
   src/B.kt
   src/Base.kt
   src/C.kt
-End of files
-Marked as dirty by Kotlin:
-  src/D.kt
-Exit code: ADDITIONAL_PASS_REQUIRED
-------------------------------------------
-Cleaning output files:
-  out/production/module/META-INF/module.kotlin_module
-  out/production/module/test/D.class
-End of files
-Compiling files:
   src/D.kt
 End of files
 Exit code: OK
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddInheritor/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddInheritor/build.log
index 59554ef..57fb956 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddInheritor/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddInheritor/build.log
@@ -3,18 +3,21 @@
 Compiling files:
   src/C.kt
 End of files
-Marked as dirty by Kotlin:
-  src/A.kt
-  src/B.kt
+After build round. Marked as dirty by Kotlin:
   src/Base.kt
-  src/C.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
 Cleaning output files:
   out/production/module/META-INF/module.kotlin_module
+  out/production/module/test/Base.class
+End of files
+Complementary files. Marked as dirty by Kotlin:
+  src/A.kt
+  src/B.kt
+  src/C.kt
+Cleaning output files:
   out/production/module/test/A.class
   out/production/module/test/B.class
-  out/production/module/test/Base.class
   out/production/module/test/C.class
 End of files
 Compiling files:
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesRemoveImplements/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesRemoveImplements/build.log
index 379d4b7..c7bc1a8 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesRemoveImplements/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesRemoveImplements/build.log
@@ -4,19 +4,11 @@
   out/production/module/META-INF/module.kotlin_module
   out/production/module/test/B.class
 End of files
-Compiling files:
-  src/B.kt
-End of files
-Marked as dirty by Kotlin:
+Complementary files. Marked as dirty by Kotlin:
   src/A.kt
-  src/B.kt
   src/Base.kt
-Exit code: ADDITIONAL_PASS_REQUIRED
-------------------------------------------
 Cleaning output files:
-  out/production/module/META-INF/module.kotlin_module
   out/production/module/test/A.class
-  out/production/module/test/B.class
   out/production/module/test/Base.class
 End of files
 Compiling files:
@@ -24,7 +16,7 @@
   src/B.kt
   src/Base.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/BaseUsage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesRemoveInheritor/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesRemoveInheritor/build.log
index cb874b1..83371f9 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesRemoveInheritor/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesRemoveInheritor/build.log
@@ -4,15 +4,10 @@
   out/production/module/META-INF/module.kotlin_module
   out/production/module/test/B.class
 End of files
-Compiling files:
-End of files
-Marked as dirty by Kotlin:
+Complementary files. Marked as dirty by Kotlin:
   src/A.kt
   src/Base.kt
-Exit code: ADDITIONAL_PASS_REQUIRED
-------------------------------------------
 Cleaning output files:
-  out/production/module/META-INF/module.kotlin_module
   out/production/module/test/A.class
   out/production/module/test/Base.class
 End of files
@@ -20,7 +15,7 @@
   src/A.kt
   src/Base.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/BaseUsage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/C.kt.new b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/C.kt.new
deleted file mode 100644
index da276aa..0000000
--- a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/C.kt.new
+++ /dev/null
@@ -1,3 +0,0 @@
-package test
-
-interface C : Base
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/D.kt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/D.kt
deleted file mode 100644
index 7123765..0000000
--- a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/D.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package test
-
-class D {
-    lateinit var x: Base
-}
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/E.kt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/E.kt
deleted file mode 100644
index 7a1c358..0000000
--- a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/E.kt
+++ /dev/null
@@ -1,4 +0,0 @@
-package test
-
-class E {
-}
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/A.kt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/A.kt
similarity index 100%
rename from jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/A.kt
rename to jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/A.kt
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/B.kt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/B.kt
similarity index 100%
rename from jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/B.kt
rename to jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/B.kt
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/Base.kt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/Base.kt
similarity index 100%
rename from jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/Base.kt
rename to jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/Base.kt
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/Base.kt.new b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/Base.kt.new
new file mode 100644
index 0000000..f3a37f6
--- /dev/null
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/Base.kt.new
@@ -0,0 +1,7 @@
+package test
+
+sealed interface Base {
+
+    fun doSmth() = "doSmth"
+
+}
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/Usage.kt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/Usage.kt
new file mode 100644
index 0000000..3ec54b9
--- /dev/null
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/Usage.kt
@@ -0,0 +1,12 @@
+package test
+
+//sealed interface Base
+
+class Usage {
+
+    fun doSmth(x: Base) =
+        when (x) {
+            is A -> "A"
+            is B -> "B"
+        }
+}
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/args.txt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/args.txt
similarity index 100%
rename from jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/args.txt
rename to jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/args.txt
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/build.log
new file mode 100644
index 0000000..420ed9d
--- /dev/null
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/build.log
@@ -0,0 +1,20 @@
+================ Step #1 =================
+
+Cleaning output files:
+  out/production/module/META-INF/module.kotlin_module
+  out/production/module/test/Base.class
+End of files
+Complementary files. Marked as dirty by Kotlin:
+  src/A.kt
+  src/B.kt
+Cleaning output files:
+  out/production/module/test/A.class
+  out/production/module/test/B.class
+End of files
+Compiling files:
+  src/A.kt
+  src/B.kt
+  src/Base.kt
+End of files
+Exit code: OK
+------------------------------------------
\ No newline at end of file
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/A.kt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/A.kt
new file mode 100644
index 0000000..4efbb43
--- /dev/null
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/A.kt
@@ -0,0 +1,3 @@
+package test
+
+open class A: Base
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/Actual.kt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/Actual.kt
new file mode 100644
index 0000000..1fefb6d
--- /dev/null
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/Actual.kt
@@ -0,0 +1,9 @@
+package test
+
+actual class ExpectClass {
+    actual fun doSmth() = ""
+}
+
+expect class ExpectClass2 {
+    fun doSmth(): String
+}
\ No newline at end of file
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/Actual2.kt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/Actual2.kt
new file mode 100644
index 0000000..46f6e89
--- /dev/null
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/Actual2.kt
@@ -0,0 +1,5 @@
+package test
+
+actual class ExpectClass2 {
+    actual fun doSmth() = ""
+}
\ No newline at end of file
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/B.kt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/B.kt
new file mode 100644
index 0000000..e83c33f
--- /dev/null
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/B.kt
@@ -0,0 +1,9 @@
+package test
+
+class B : Base {
+
+}
+
+expect class ExpectClass {
+    fun doSmth(): String
+}
\ No newline at end of file
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/Base.kt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/Base.kt
similarity index 100%
copy from jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/Base.kt
copy to jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/Base.kt
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/C.kt.new b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/C.kt.new
new file mode 100644
index 0000000..3d7cf8a
--- /dev/null
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/C.kt.new
@@ -0,0 +1,3 @@
+package test
+
+class C : A()
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/Unrelated.kt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/Unrelated.kt
new file mode 100644
index 0000000..c0966da
--- /dev/null
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/Unrelated.kt
@@ -0,0 +1,3 @@
+package test
+
+class Unrelated {}
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/args.txt b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/args.txt
new file mode 100644
index 0000000..7d56734
--- /dev/null
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/args.txt
@@ -0,0 +1 @@
+-XXLanguage:+FreedomForSealedClasses -XXLanguage:+SealedInterfaces -Xmulti-platform
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/build.log
similarity index 69%
copy from jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/build.log
copy to jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/build.log
index d158195..ed490ff 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesUseSwitch/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWithExpectActual/build.log
@@ -3,36 +3,34 @@
 Compiling files:
   src/C.kt
 End of files
-Marked as dirty by Kotlin:
-  src/A.kt
-  src/B.kt
+After build round. Marked as dirty by Kotlin:
   src/Base.kt
-  src/C.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
 Cleaning output files:
   out/production/module/META-INF/module.kotlin_module
+  out/production/module/test/Base.class
+End of files
+Complementary files. Marked as dirty by Kotlin:
+  src/A.kt
+  src/Actual.kt
+  src/Actual2.kt
+  src/B.kt
+  src/C.kt
+Cleaning output files:
   out/production/module/test/A.class
   out/production/module/test/B.class
-  out/production/module/test/Base.class
   out/production/module/test/C.class
+  out/production/module/test/ExpectClass.class
+  out/production/module/test/ExpectClass2.class
 End of files
 Compiling files:
   src/A.kt
+  src/Actual.kt
+  src/Actual2.kt
   src/B.kt
   src/Base.kt
   src/C.kt
 End of files
-Marked as dirty by Kotlin:
-  src/D.kt
-Exit code: ADDITIONAL_PASS_REQUIRED
-------------------------------------------
-Cleaning output files:
-  out/production/module/META-INF/module.kotlin_module
-  out/production/module/test/D.class
-End of files
-Compiling files:
-  src/D.kt
-End of files
 Exit code: OK
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/sequentualAddingAndDeletingOfPropertyAndUsage/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/sequentualAddingAndDeletingOfPropertyAndUsage/build.log
index 84723af..aad58ef 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/sequentualAddingAndDeletingOfPropertyAndUsage/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/sequentualAddingAndDeletingOfPropertyAndUsage/build.log
@@ -19,7 +19,7 @@
 Compiling files:
   src/DataClass.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/main.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
@@ -42,7 +42,7 @@
 Compiling files:
   src/DataClass.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/main.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
@@ -77,7 +77,7 @@
 Compiling files:
   src/DataClass.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/main.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/traitClassObjectConstantChanged/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/traitClassObjectConstantChanged/build.log
index 10639a5..af94687 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/traitClassObjectConstantChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/traitClassObjectConstantChanged/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   src/const.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/build.log
index 3a6140a..3c371b4 100644
--- a/jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/build.log
+++ b/jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlinAndBack/build.log b/jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlinAndBack/build.log
index 0b68928..9a224e3 100644
--- a/jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlinAndBack/build.log
+++ b/jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlinAndBack/build.log
@@ -20,7 +20,7 @@
   out/production/module/Foo.class
   out/production/module/META-INF/module.kotlin_module
 End of files
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   src/usage.kt
 Cleaning output files:
   out/production/module/UsageKt.class
diff --git a/jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/kotlinToJava/build.log b/jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/kotlinToJava/build.log
index ce3183f..8b7a4b8 100644
--- a/jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/kotlinToJava/build.log
+++ b/jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/kotlinToJava/build.log
@@ -4,7 +4,7 @@
   out/production/module/META-INF/module.kotlin_module
   out/production/module/TheClass.class
 End of files
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   src/usageInKotlin.kt
 Cleaning output files:
   out/production/module/Usage.class
diff --git a/jps/jps-plugin/testData/incremental/withJava/other/accessingFunctionsViaRenamedFileClass/build.log b/jps/jps-plugin/testData/incremental/withJava/other/accessingFunctionsViaRenamedFileClass/build.log
index d0f049c..e82596e 100644
--- a/jps/jps-plugin/testData/incremental/withJava/other/accessingFunctionsViaRenamedFileClass/build.log
+++ b/jps/jps-plugin/testData/incremental/withJava/other/accessingFunctionsViaRenamedFileClass/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/b.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/withJava/other/classToPackageFacade/build.log b/jps/jps-plugin/testData/incremental/withJava/other/classToPackageFacade/build.log
index f49b2b6..870d531 100644
--- a/jps/jps-plugin/testData/incremental/withJava/other/classToPackageFacade/build.log
+++ b/jps/jps-plugin/testData/incremental/withJava/other/classToPackageFacade/build.log
@@ -5,7 +5,7 @@
   out/production/module/A.class
   out/production/module/META-INF/module.kotlin_module
 End of files
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   src/AChild.kt
   src/getA.kt
   src/getAChild.kt
diff --git a/jps/jps-plugin/testData/incremental/withJava/other/defaultValueInConstructorAdded/build.log b/jps/jps-plugin/testData/incremental/withJava/other/defaultValueInConstructorAdded/build.log
index ffa764f..6478fd4 100644
--- a/jps/jps-plugin/testData/incremental/withJava/other/defaultValueInConstructorAdded/build.log
+++ b/jps/jps-plugin/testData/incremental/withJava/other/defaultValueInConstructorAdded/build.log
@@ -8,7 +8,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/B.kt
   src/createADefault.kt
   src/createANonDefault.kt
diff --git a/jps/jps-plugin/testData/incremental/withJava/other/inlineFunctionWithJvmNameInClass/build.log b/jps/jps-plugin/testData/incremental/withJava/other/inlineFunctionWithJvmNameInClass/build.log
index bc7a894..5fe02a5 100644
--- a/jps/jps-plugin/testData/incremental/withJava/other/inlineFunctionWithJvmNameInClass/build.log
+++ b/jps/jps-plugin/testData/incremental/withJava/other/inlineFunctionWithJvmNameInClass/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/withJava/other/inlineTopLevelFunctionWithJvmName/build.log b/jps/jps-plugin/testData/incremental/withJava/other/inlineTopLevelFunctionWithJvmName/build.log
index 98c5e9e..a99704b 100644
--- a/jps/jps-plugin/testData/incremental/withJava/other/inlineTopLevelFunctionWithJvmName/build.log
+++ b/jps/jps-plugin/testData/incremental/withJava/other/inlineTopLevelFunctionWithJvmName/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/withJava/other/inlineTopLevelValPropertyWithJvmName/build.log b/jps/jps-plugin/testData/incremental/withJava/other/inlineTopLevelValPropertyWithJvmName/build.log
index 98c5e9e..a99704b 100644
--- a/jps/jps-plugin/testData/incremental/withJava/other/inlineTopLevelValPropertyWithJvmName/build.log
+++ b/jps/jps-plugin/testData/incremental/withJava/other/inlineTopLevelValPropertyWithJvmName/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/inline.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/withJava/other/jvmNameChanged/build.log b/jps/jps-plugin/testData/incremental/withJava/other/jvmNameChanged/build.log
index 42d665f..ca47384 100644
--- a/jps/jps-plugin/testData/incremental/withJava/other/jvmNameChanged/build.log
+++ b/jps/jps-plugin/testData/incremental/withJava/other/jvmNameChanged/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/A.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/AChild.kt
   src/useAChild.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/withJava/other/multifileClassAddTopLevelFunWithDefault/build.log b/jps/jps-plugin/testData/incremental/withJava/other/multifileClassAddTopLevelFunWithDefault/build.log
index 5ab0e5a..058219a 100644
--- a/jps/jps-plugin/testData/incremental/withJava/other/multifileClassAddTopLevelFunWithDefault/build.log
+++ b/jps/jps-plugin/testData/incremental/withJava/other/multifileClassAddTopLevelFunWithDefault/build.log
@@ -10,7 +10,7 @@
   src/a.kt
   src/b.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/withJava/other/multifileClassFileAdded/build.log b/jps/jps-plugin/testData/incremental/withJava/other/multifileClassFileAdded/build.log
index 063de2e..e8ab492 100644
--- a/jps/jps-plugin/testData/incremental/withJava/other/multifileClassFileAdded/build.log
+++ b/jps/jps-plugin/testData/incremental/withJava/other/multifileClassFileAdded/build.log
@@ -3,7 +3,7 @@
 Compiling files:
   src/b.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/a.kt
   src/b.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/withJava/other/multifileDependantUsage/build.log b/jps/jps-plugin/testData/incremental/withJava/other/multifileDependantUsage/build.log
index 46f5387..a2696f4 100644
--- a/jps/jps-plugin/testData/incremental/withJava/other/multifileDependantUsage/build.log
+++ b/jps/jps-plugin/testData/incremental/withJava/other/multifileDependantUsage/build.log
@@ -1,6 +1,6 @@
 ================ Step #1 =================
 
-Marked as dirty by Kotlin:
+After chunkBuildStarted. Marked as dirty by Kotlin:
   src/partB.kt
   src/usagePartB.kt
 Cleaning output files:
diff --git a/jps/jps-plugin/testData/incremental/withJava/other/multifilePackagePartMethodAdded/build.log b/jps/jps-plugin/testData/incremental/withJava/other/multifilePackagePartMethodAdded/build.log
index 8326f06..59b0fd1 100644
--- a/jps/jps-plugin/testData/incremental/withJava/other/multifilePackagePartMethodAdded/build.log
+++ b/jps/jps-plugin/testData/incremental/withJava/other/multifilePackagePartMethodAdded/build.log
@@ -12,7 +12,7 @@
   src/partB.kt
   src/partC.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/useFooF.kt
   src/useFooG.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
diff --git a/jps/jps-plugin/testData/incremental/withJava/other/topLevelFunctionWithJvmName/build.log b/jps/jps-plugin/testData/incremental/withJava/other/topLevelFunctionWithJvmName/build.log
index cce51e9..21cc7b51 100644
--- a/jps/jps-plugin/testData/incremental/withJava/other/topLevelFunctionWithJvmName/build.log
+++ b/jps/jps-plugin/testData/incremental/withJava/other/topLevelFunctionWithJvmName/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/function.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/jps/jps-plugin/testData/incremental/withJava/other/topLevelPropertyWithJvmName/build.log b/jps/jps-plugin/testData/incremental/withJava/other/topLevelPropertyWithJvmName/build.log
index c9ee993..fa39799 100644
--- a/jps/jps-plugin/testData/incremental/withJava/other/topLevelPropertyWithJvmName/build.log
+++ b/jps/jps-plugin/testData/incremental/withJava/other/topLevelPropertyWithJvmName/build.log
@@ -7,7 +7,7 @@
 Compiling files:
   src/property.kt
 End of files
-Marked as dirty by Kotlin:
+After build round. Marked as dirty by Kotlin:
   src/usage.kt
 Exit code: ADDITIONAL_PASS_REQUIRED
 ------------------------------------------
diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java
index 39d6949..08740b2 100644
--- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java
+++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java
@@ -3390,6 +3390,18 @@
         }
 
         @Test
+        @TestMetadata("kt54707.kt")
+        public void testKt54707() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt54707.kt");
+        }
+
+        @Test
+        @TestMetadata("kt54802.kt")
+        public void testKt54802() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt54802.kt");
+        }
+
+        @Test
         @TestMetadata("lambdaToUnitCast.kt")
         public void testLambdaToUnitCast() throws Exception {
             runTest("compiler/testData/codegen/box/casts/lambdaToUnitCast.kt");
diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java
index 46955dd..42f9233 100644
--- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java
+++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java
@@ -3438,6 +3438,24 @@
         }
 
         @Test
+        @TestMetadata("kt53677.kt")
+        public void testKt53677() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt53677.kt");
+        }
+
+        @Test
+        @TestMetadata("kt54707.kt")
+        public void testKt54707() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt54707.kt");
+        }
+
+        @Test
+        @TestMetadata("kt54802.kt")
+        public void testKt54802() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt54802.kt");
+        }
+
+        @Test
         @TestMetadata("lambdaToUnitCast.kt")
         public void testLambdaToUnitCast() throws Exception {
             runTest("compiler/testData/codegen/box/casts/lambdaToUnitCast.kt");
diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java
index c586bd7..175d21c 100644
--- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java
+++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java
@@ -3036,6 +3036,21 @@
             runTest("compiler/testData/codegen/box/casts/kt50577.kt");
         }
 
+        @TestMetadata("kt53677.kt")
+        public void testKt53677() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt53677.kt");
+        }
+
+        @TestMetadata("kt54707.kt")
+        public void testKt54707() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt54707.kt");
+        }
+
+        @TestMetadata("kt54802.kt")
+        public void testKt54802() throws Exception {
+            runTest("compiler/testData/codegen/box/casts/kt54802.kt");
+        }
+
         @TestMetadata("lambdaToUnitCast.kt")
         public void testLambdaToUnitCast() throws Exception {
             runTest("compiler/testData/codegen/box/casts/lambdaToUnitCast.kt");
diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanConfig.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanConfig.kt
index dbe0481..1af3cf3 100644
--- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanConfig.kt
+++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanConfig.kt
@@ -135,7 +135,7 @@
                 // TODO: When moving into proper deprecation cycle replace with WARNING.
                 configuration.report(
                         CompilerMessageSeverity.INFO,
-                        "`freezing` should not be enabled with the new MM. Freezing API is deprecated since 1.7.20. See https://github.com/JetBrains/kotlin/blob/master/kotlin-native/NEW_MM.md#freezing-deprecation for details"
+                        "`freezing` should not be enabled with the new MM. Freezing API is deprecated since 1.7.20. See https://kotlinlang.org/docs/native-migration-guide.html for details"
                 )
                 freezingMode
             }
diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/native/concurrent/Annotations.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/native/concurrent/Annotations.kt
index fcf91d6..aa28420 100644
--- a/kotlin-native/runtime/src/main/kotlin/kotlin/native/concurrent/Annotations.kt
+++ b/kotlin-native/runtime/src/main/kotlin/kotlin/native/concurrent/Annotations.kt
@@ -29,7 +29,7 @@
  * PLEASE NOTE THAT THIS ANNOTATION MAY GO AWAY IN UPCOMING RELEASES.
  *
  * Since 1.7.20 usage of this annotation is deprecated.
- * See https://github.com/JetBrains/kotlin/blob/master/kotlin-native/NEW_MM.md#freezing-deprecation for details.
+ * See https://kotlinlang.org/docs/native-migration-guide.html for details.
  */
 @Target(AnnotationTarget.PROPERTY)
 @Retention(AnnotationRetention.BINARY)
diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/GC.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/GC.kt
index 9892442..175c04e 100644
--- a/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/GC.kt
+++ b/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/GC.kt
@@ -13,7 +13,7 @@
  *
  * Kotlin/Native uses tracing garbage collector (GC) that is executed periodically to collect objects
  * that are not reachable from the "roots", like local and global variables.
- * See [documentation](https://github.com/JetBrains/kotlin/blob/master/kotlin-native/NEW_MM.md) to learn more about
+ * See [documentation](https://kotlinlang.org/docs/native-memory-manager.html) to learn more about
  * Kotlin/Native memory management.
  *
  * This object provides a set of functions and properties that allows to tune garbage collector.
diff --git a/libraries/stdlib/native-wasm/src/kotlin/native/FreezingIsDeprecated.kt b/libraries/stdlib/native-wasm/src/kotlin/native/FreezingIsDeprecated.kt
index 9149adf..1d9ff0e 100644
--- a/libraries/stdlib/native-wasm/src/kotlin/native/FreezingIsDeprecated.kt
+++ b/libraries/stdlib/native-wasm/src/kotlin/native/FreezingIsDeprecated.kt
@@ -9,14 +9,14 @@
 /**
  * Freezing API is deprecated since 1.7.20.
  *
- * See [NEW_MM.md#freezing-deprecation](https://github.com/JetBrains/kotlin/blob/master/kotlin-native/NEW_MM.md#freezing-deprecation) for details
+ * See [documentation](https://kotlinlang.org/docs/native-migration-guide.html) for details
  */
 // Note: when changing level of deprecation here, also change
 // * `freezing` mode handling in KonanConfig.kt
 // * frontend diagnostics in ErrorsNative.kt
 @SinceKotlin("1.7")
 @RequiresOptIn(
-    message = "Freezing API is deprecated since 1.7.20. See https://github.com/JetBrains/kotlin/blob/master/kotlin-native/NEW_MM.md#freezing-deprecation for details",
+    message = "Freezing API is deprecated since 1.7.20. See https://kotlinlang.org/docs/native-migration-guide.html for details",
     level = RequiresOptIn.Level.WARNING,
 )
 @Target(
diff --git a/libraries/stdlib/src/kotlin/annotations/NativeAnnotations.kt b/libraries/stdlib/src/kotlin/annotations/NativeAnnotations.kt
index f90d5be..5666b4e 100644
--- a/libraries/stdlib/src/kotlin/annotations/NativeAnnotations.kt
+++ b/libraries/stdlib/src/kotlin/annotations/NativeAnnotations.kt
@@ -20,14 +20,14 @@
 /**
  * Freezing API is deprecated since 1.7.20.
  *
- * See [NEW_MM.md#freezing-deprecation](https://github.com/JetBrains/kotlin/blob/master/kotlin-native/NEW_MM.md#freezing-deprecation) for details
+ * See [documentation](https://kotlinlang.org/docs/native-migration-guide.html) for details
  */
 // Note: when changing level of deprecation here, also change
 // * `freezing` mode handling in KonanConfig.kt
 // * frontend diagnostics in ErrorsNative.kt
 @SinceKotlin("1.7")
 @RequiresOptIn(
-    message = "Freezing API is deprecated since 1.7.20. See https://github.com/JetBrains/kotlin/blob/master/kotlin-native/NEW_MM.md#freezing-deprecation for details",
+    message = "Freezing API is deprecated since 1.7.20. See https://kotlinlang.org/docs/native-migration-guide.html for details",
     level = RequiresOptIn.Level.WARNING,
 )
 @Target(
diff --git a/libraries/stdlib/src/kotlin/annotations/NativeConcurrentAnnotations.kt b/libraries/stdlib/src/kotlin/annotations/NativeConcurrentAnnotations.kt
index 0cb5154..a359fc5 100644
--- a/libraries/stdlib/src/kotlin/annotations/NativeConcurrentAnnotations.kt
+++ b/libraries/stdlib/src/kotlin/annotations/NativeConcurrentAnnotations.kt
@@ -31,7 +31,7 @@
  *
  * PLEASE NOTE THAT THIS ANNOTATION MAY GO AWAY IN UPCOMING RELEASES.
  *
- * Since 1.7.20 usage of this annotation is deprecated. See https://github.com/JetBrains/kotlin/blob/master/kotlin-native/NEW_MM.md#freezing-deprecation for details.
+ * Since 1.7.20 usage of this annotation is deprecated. See https://kotlinlang.org/docs/native-migration-guide.html for details.
  */
 @Target(AnnotationTarget.PROPERTY)
 @Retention(AnnotationRetention.BINARY)
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt
index 2172180..58a3817 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt
@@ -29,7 +29,6 @@
 import org.jetbrains.kotlin.library.KLIB_PROPERTY_SHORT_NAME
 import org.jetbrains.kotlin.library.KLIB_PROPERTY_UNIQUE_NAME
 import org.junit.Assert
-import org.junit.Ignore
 import org.junit.Test
 import java.util.*
 import java.util.jar.JarFile
@@ -1624,6 +1623,25 @@
         }
     }
 
+    // https://youtrack.jetbrains.com/issue/KT-48436
+    @Test
+    fun testUnusedSourceSetsReportAndroid() = with(Project("new-mpp-android", gradleVersion)) {
+        setupWorkingDir()
+
+        build(
+            "assembleDebug",
+            // https://issuetracker.google.com/issues/152187160
+            options = defaultBuildOptions().copy(androidGradlePluginVersion = AGPVersion.v4_2_0)
+        ) {
+            assertSuccessful()
+            assertNotContains(
+                UnusedSourceSetsChecker.WARNING_PREFIX_ONE,
+                UnusedSourceSetsChecker.WARNING_PREFIX_MANY,
+                UnusedSourceSetsChecker.WARNING_INTRO
+            )
+        }
+    }
+
     @Test
     fun testIncrementalCompilation() = with(Project("new-mpp-jvm-js-ic", gradleVersion)) {
         build("build") {
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProperties.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProperties.kt
index 85e6486..51d9b15 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProperties.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProperties.kt
@@ -172,9 +172,6 @@
     val enableKotlinToolingMetadataArtifact: Boolean
         get() = booleanProperty("kotlin.mpp.enableKotlinToolingMetadataArtifact") ?: true
 
-    val mppStabilityNoWarn: Boolean?
-        get() = booleanProperty(KotlinMultiplatformPlugin.STABILITY_NOWARN_FLAG)
-
     val mppEnableOptimisticNumberCommonization: Boolean
         get() = booleanProperty(KOTLIN_MPP_ENABLE_OPTIMISTIC_NUMBER_COMMONIZATION) ?: true
 
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/gradleUtils.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/gradleUtils.kt
index f96a960..c8af17e 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/gradleUtils.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/gradleUtils.kt
@@ -20,6 +20,7 @@
 
 import org.gradle.api.internal.HasConvention
 import org.gradle.api.plugins.ExtensionAware
+import org.gradle.api.plugins.ExtraPropertiesExtension
 
 @Deprecated("Conventions are deprecated in Gradle")
 internal inline fun <reified T : Any> Any.addConvention(name: String, plugin: T) {
@@ -42,3 +43,6 @@
 
 internal inline fun <reified T : Any> Any.getExtension(name: String): T? =
     (this as ExtensionAware).extensions.getByName(name) as T?
+
+inline val Any.extraProperties: ExtraPropertiesExtension
+    get() = (this as ExtensionAware).extensions.extraProperties
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt
index 36f167f..3761eba 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt
@@ -49,15 +49,6 @@
     override fun apply(project: Project) {
         checkGradleCompatibility("the Kotlin Multiplatform plugin", GradleVersion.version("6.0"))
 
-        if (PropertiesProvider(project).mppStabilityNoWarn != true) {
-            SingleWarningPerBuild.show(
-                project,
-                "Kotlin Multiplatform Projects are an Alpha feature. " +
-                        "See: https://kotlinlang.org/docs/reference/evolution/components-stability.html. " +
-                        "To hide this message, add '$STABILITY_NOWARN_FLAG=true' to the Gradle properties.\n"
-            )
-        }
-
         handleHierarchicalStructureFlagsMigration(project)
 
         project.plugins.apply(JavaBasePlugin::class.java)
@@ -213,8 +204,6 @@
 
         internal fun sourceSetFreeCompilerArgsPropertyName(sourceSetName: String) =
             "kotlin.mpp.freeCompilerArgsForSourceSet.$sourceSetName"
-
-        internal const val STABILITY_NOWARN_FLAG = "kotlin.mpp.stability.nowarn"
     }
 }
 
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/UnusedSourceSetsChecker.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/UnusedSourceSetsChecker.kt
index 15a2cb5..9162e97 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/UnusedSourceSetsChecker.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/UnusedSourceSetsChecker.kt
@@ -8,6 +8,8 @@
 import org.gradle.api.Project
 import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
 import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
+import org.jetbrains.kotlin.gradle.plugin.extraProperties
+import org.jetbrains.kotlin.gradle.plugin.whenEvaluated
 
 object UnusedSourceSetsChecker {
     const val WARNING_PREFIX_ONE =
@@ -35,11 +37,14 @@
     }
 
     fun checkSourceSets(project: Project) {
-        // TODO once Android compilations are configured eagerly, move this to afterEvaluate { ... } instead of taskGraph.whenReady { ... }
-        project.gradle.taskGraph.whenReady { _ ->
+        project.whenEvaluated {
             val compilationsBySourceSet = CompilationSourceSetUtil.compilationsBySourceSets(project)
             val unusedSourceSets = project.kotlinExtension.sourceSets.filter {
-                compilationsBySourceSet[it]?.isEmpty() ?: true
+                // Ignoring Android source sets
+                val isAndroidSourceSet = it.extraProperties.has(IS_ANDROID_SOURCE_SET) &&
+                        (it.extraProperties[IS_ANDROID_SOURCE_SET] as Boolean)
+
+                !isAndroidSourceSet && compilationsBySourceSet[it]?.isEmpty() ?: true
             }
             if (unusedSourceSets.isNotEmpty()) {
                 reportUnusedSourceSets(project, unusedSourceSets.toSet())
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/syncKotlinAndAndroidSourceSets.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/syncKotlinAndAndroidSourceSets.kt
index 6781d2f..3e3f59b 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/syncKotlinAndAndroidSourceSets.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/syncKotlinAndAndroidSourceSets.kt
@@ -16,13 +16,22 @@
 import org.jetbrains.kotlin.gradle.plugin.addConvention
 import org.jetbrains.kotlin.gradle.plugin.sources.KotlinSourceSetFactory.Companion.defaultSourceFolder
 
+internal const val IS_ANDROID_SOURCE_SET = "android-source-set"
+
 internal fun syncKotlinAndAndroidSourceSets(target: KotlinAndroidTarget) {
     val project = target.project
     val android = project.extensions.getByName("android") as BaseExtension
+    val kotlinExtension = project.kotlinExtension
 
+    val createdKotlinSourceSets = mutableSetOf<String>()
     android.sourceSets.all { androidSourceSet ->
         val kotlinSourceSetName = kotlinSourceSetNameForAndroidSourceSet(target, androidSourceSet.name)
-        val kotlinSourceSet = project.kotlinExtension.sourceSets.maybeCreate(kotlinSourceSetName)
+        createdKotlinSourceSets.add(kotlinSourceSetName)
+        val kotlinSourceSet = kotlinExtension.sourceSets.maybeCreate(kotlinSourceSetName)
+
+        // Marking KotlinSource set is created for Android compilation to ignore it in UnusedSourceSetChecker
+        kotlinSourceSet.extraProperties.set(IS_ANDROID_SOURCE_SET, true)
+
         androidSourceSet.addKotlinSources(kotlinSourceSet)
 
         createDefaultDependsOnEdges(target, kotlinSourceSet, androidSourceSet)
diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java
index 045634b..4a682c6 100644
--- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java
+++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java
@@ -3512,6 +3512,24 @@
             }
 
             @Test
+            @TestMetadata("kt53677.kt")
+            public void testKt53677() throws Exception {
+                runTest("compiler/testData/codegen/box/casts/kt53677.kt");
+            }
+
+            @Test
+            @TestMetadata("kt54707.kt")
+            public void testKt54707() throws Exception {
+                runTest("compiler/testData/codegen/box/casts/kt54707.kt");
+            }
+
+            @Test
+            @TestMetadata("kt54802.kt")
+            public void testKt54802() throws Exception {
+                runTest("compiler/testData/codegen/box/casts/kt54802.kt");
+            }
+
+            @Test
             @TestMetadata("lambdaToUnitCast.kt")
             public void testLambdaToUnitCast() throws Exception {
                 runTest("compiler/testData/codegen/box/casts/lambdaToUnitCast.kt");
diff --git a/plugins/atomicfu/atomicfu-compiler/src/org/jetbrains/kotlinx/atomicfu/compiler/backend/jvm/AtomicfuJvmIrTransformer.kt b/plugins/atomicfu/atomicfu-compiler/src/org/jetbrains/kotlinx/atomicfu/compiler/backend/jvm/AtomicfuJvmIrTransformer.kt
index 016b963..7d50f7e 100644
--- a/plugins/atomicfu/atomicfu-compiler/src/org/jetbrains/kotlinx/atomicfu/compiler/backend/jvm/AtomicfuJvmIrTransformer.kt
+++ b/plugins/atomicfu/atomicfu-compiler/src/org/jetbrains/kotlinx/atomicfu/compiler/backend/jvm/AtomicfuJvmIrTransformer.kt
@@ -8,6 +8,7 @@
 import org.jetbrains.kotlin.backend.common.extensions.*
 import org.jetbrains.kotlin.backend.common.lower.parents
 import org.jetbrains.kotlin.descriptors.ClassKind
+import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
 import org.jetbrains.kotlin.ir.*
 import org.jetbrains.kotlin.ir.builders.declarations.*
 import org.jetbrains.kotlin.ir.builders.*
@@ -434,6 +435,7 @@
             return context.irFactory.buildFun {
                 name = Name.identifier(mangledName)
                 isInline = true
+                visibility = atomicExtension.visibility
             }.apply {
                 val newDeclaration = this
                 extensionReceiverParameter = null
@@ -760,6 +762,7 @@
             return context.irFactory.buildFun {
                 name = Name.identifier(mangledName)
                 isInline = true
+                visibility = DescriptorVisibilities.PRIVATE
             }.apply {
                 dispatchReceiverParameter = (parent as? IrClass)?.thisReceiver?.deepCopyWithSymbols(this)
                 if (functionName == LOOP) {
