b2005302dc
Also, do not try to use invokedynamic on SAM calls with intersection
types, because intersection type is not allowed as an immediate type
projection of a supertype, and constructing a fake override in
LambdaMetafactoryArgumentsBuilder led to an exception. This fixes the
problem which was worked around earlier in e6c089ef, effectively
reverting that commit.
The main motivation for this change is that LambdaMetafactory also
doesn't generate generic signature for SAM wrapper classes at runtime.
Since these classes are synthetic, nobody should rely on the fact that
they have generic supertypes, which was observable only via Java
reflection.
#KT-46149 Fixed
#KT-46238 Fixed
32 lines
1.3 KiB
Plaintext
Vendored
32 lines
1.3 KiB
Plaintext
Vendored
@kotlin.Metadata
|
|
final class<<IN:Ljava/lang/Object;KEY:Ljava/lang/Object;>Ljava/lang/Object;LKeySelector;> TKt$main$1 {
|
|
// source: 't.kt'
|
|
static <null> method <clinit>(): void
|
|
<null> method <init>(): void
|
|
public final <null> method getKey(p0: java.lang.Integer): java.lang.Long
|
|
public synthetic bridge <null> method getKey(p0: java.lang.Object): java.lang.Object
|
|
enclosing method TKt.main(LDataStream;)V
|
|
public final static field <null> INSTANCE: TKt$main$1
|
|
inner (anonymous) class TKt$main$1
|
|
}
|
|
|
|
@kotlin.Metadata
|
|
final class<<IN:Ljava/lang/Object;KEY:Ljava/lang/Object;>Ljava/lang/Object;LKeySelector;> TKt$main$2 {
|
|
// source: 't.kt'
|
|
static <null> method <clinit>(): void
|
|
<null> method <init>(): void
|
|
public final <null> method getKey(p0: java.lang.Integer): java.lang.Long
|
|
public synthetic bridge <null> method getKey(p0: java.lang.Object): java.lang.Object
|
|
enclosing method TKt.main(LDataStream;)V
|
|
public final static field <null> INSTANCE: TKt$main$2
|
|
inner (anonymous) class TKt$main$2
|
|
}
|
|
|
|
@kotlin.Metadata
|
|
public final class<null> TKt {
|
|
// source: 't.kt'
|
|
public final static <(LDataStream<Ljava/lang/Integer;>;)V> method main(@org.jetbrains.annotations.NotNull p0: DataStream): void
|
|
inner (anonymous) class TKt$main$1
|
|
inner (anonymous) class TKt$main$2
|
|
}
|