Fix for KT-11677: Generic type signatures for local classes in inlined lambdas are not written properly

#KT-11677 Fixed
This commit is contained in:
Michael Bogdanov
2016-04-03 16:24:48 +03:00
parent f5166b7aef
commit e0adfd453f
4 changed files with 47 additions and 2 deletions
@@ -292,8 +292,8 @@ public class MethodInliner {
super.visitMethodInsn(opcode, changeOwnerForExternalPackage(owner, opcode), name, desc, itf);
}
}
else if (ReifiedTypeInliner.isNeedClassReificationMarker(new MethodInsnNode(opcode, owner, name, desc, false))) {
// we will put it if needed in anew processing
else if (!inliningContext.isInliningLambda && ReifiedTypeInliner.isNeedClassReificationMarker(new MethodInsnNode(opcode, owner, name, desc, false))) {
//we shouldn't process here content of inlining lambda it should be reified at external level
}
else {
super.visitMethodInsn(opcode, changeOwnerForExternalPackage(owner, opcode), name, desc, itf);