c46c80822c
Before this change, we stored the enclosing constructor in a map in JvmBackendContext before moving lambdas and local classes out of initializer blocks. However, in case the lambda was declared in an inner class, we stored a reference to the unlowered constructor of the inner class, whose JVM signature is "()V" instead of the correct "(LOuter;)V". Java reflection then threw exception if we tried to call `getEnclosingConstructor()` on such class at runtime. Proguard finished with errors for the same reason. It turns out that we can just store the fact that the class has been moved, and load the matching constructor in codegen, where everything is already lowered and guaranteed to match with the signatures of the actual generated declarations. #KT-41668 Fixed