Mark bridge methods in lambdas classes as synthetic

#KT-10101 Fixed
This commit is contained in:
Natalia Ukhorskaya
2015-11-23 11:43:44 +03:00
parent cb80a3e83a
commit 67dd97b918
7 changed files with 87 additions and 8 deletions
@@ -275,7 +275,7 @@ public class ClosureCodegen extends MemberCodegen<KtElement> {
if (bridge.equals(delegate)) return;
MethodVisitor mv =
v.newMethod(JvmDeclarationOriginKt.OtherOrigin(element, funDescriptor), ACC_PUBLIC | ACC_BRIDGE,
v.newMethod(JvmDeclarationOriginKt.OtherOrigin(element, funDescriptor), ACC_PUBLIC | ACC_BRIDGE | ACC_SYNTHETIC,
bridge.getName(), bridge.getDescriptor(), null, ArrayUtil.EMPTY_STRING_ARRAY);
if (state.getClassBuilderMode() != ClassBuilderMode.FULL) return;
@@ -23,7 +23,7 @@ final class LiteralsKt$foo$1 {
inner class LiteralsKt$foo$1
method <init>(p0: int): void
public final @FunAnn method invoke(): int
public method invoke(): java.lang.Object
public synthetic method invoke(): java.lang.Object
}
@kotlin.jvm.internal.KotlinSyntheticClass
@@ -33,7 +33,7 @@ final class LiteralsKt$foo$2 {
inner class LiteralsKt$foo$2
method <init>(p0: int): void
public final method invoke(): int
public method invoke(): java.lang.Object
public synthetic method invoke(): java.lang.Object
}
@kotlin.jvm.internal.KotlinLocalClass
@@ -50,7 +50,7 @@ final class LiteralsKt$foo$x$1 {
inner class LiteralsKt$foo$x$1
method <init>(p0: int): void
public final @FunAnn method invoke(): int
public method invoke(): java.lang.Object
public synthetic method invoke(): java.lang.Object
}
@kotlin.jvm.internal.KotlinFileFacade