JVM IR: Optimize static property references (KT-36975)

This commit is contained in:
Steven Schäfer
2020-09-07 17:16:23 +02:00
committed by Alexander Udalov
parent 669fda6b77
commit 4792be2522
9 changed files with 107 additions and 18 deletions
@@ -0,0 +1,68 @@
@kotlin.Metadata
public final class A {
// source: 'noReceiverInCallableReferenceClasses.kt'
private final field bar: int
public method <init>(): void
public final method foo(): void
public final method getBar(): int
}
@kotlin.Metadata
synthetic final class NoReceiverInCallableReferenceClassesKt$A_bar$1 {
// source: 'noReceiverInCallableReferenceClasses.kt'
enclosing method NoReceiverInCallableReferenceClassesKt.<clinit>()V
public final static field INSTANCE: NoReceiverInCallableReferenceClassesKt$A_bar$1
inner (anonymous) class NoReceiverInCallableReferenceClassesKt$A_bar$1
static method <clinit>(): void
method <init>(): void
public @org.jetbrains.annotations.Nullable method get(@org.jetbrains.annotations.Nullable p0: java.lang.Object): java.lang.Object
}
@kotlin.Metadata
synthetic final class NoReceiverInCallableReferenceClassesKt$A_foo$1 {
// source: 'noReceiverInCallableReferenceClasses.kt'
enclosing method NoReceiverInCallableReferenceClassesKt.<clinit>()V
public final static field INSTANCE: NoReceiverInCallableReferenceClassesKt$A_foo$1
inner (anonymous) class NoReceiverInCallableReferenceClassesKt$A_foo$1
static method <clinit>(): void
method <init>(): void
public final method invoke(@org.jetbrains.annotations.NotNull p0: A): void
public synthetic bridge method invoke(p0: java.lang.Object): java.lang.Object
}
@kotlin.Metadata
synthetic final class NoReceiverInCallableReferenceClassesKt$aBar$1 {
// source: 'noReceiverInCallableReferenceClasses.kt'
enclosing method NoReceiverInCallableReferenceClassesKt.<clinit>()V
inner (anonymous) class NoReceiverInCallableReferenceClassesKt$aBar$1
method <init>(p0: java.lang.Object): void
public @org.jetbrains.annotations.Nullable method get(): java.lang.Object
}
@kotlin.Metadata
synthetic final class NoReceiverInCallableReferenceClassesKt$aFoo$1 {
// source: 'noReceiverInCallableReferenceClasses.kt'
enclosing method NoReceiverInCallableReferenceClassesKt.<clinit>()V
inner (anonymous) class NoReceiverInCallableReferenceClassesKt$aFoo$1
method <init>(p0: A): void
public synthetic bridge method invoke(): java.lang.Object
public final method invoke(): void
}
@kotlin.Metadata
public final class NoReceiverInCallableReferenceClassesKt {
// source: 'noReceiverInCallableReferenceClasses.kt'
private final static @org.jetbrains.annotations.NotNull field A_bar: kotlin.reflect.KProperty1
private final static @org.jetbrains.annotations.NotNull field A_foo: kotlin.reflect.KFunction
private final static @org.jetbrains.annotations.NotNull field aBar: kotlin.reflect.KProperty0
private final static @org.jetbrains.annotations.NotNull field aFoo: kotlin.reflect.KFunction
inner (anonymous) class NoReceiverInCallableReferenceClassesKt$A_bar$1
inner (anonymous) class NoReceiverInCallableReferenceClassesKt$A_foo$1
inner (anonymous) class NoReceiverInCallableReferenceClassesKt$aBar$1
inner (anonymous) class NoReceiverInCallableReferenceClassesKt$aFoo$1
static method <clinit>(): void
public final static @org.jetbrains.annotations.NotNull method getABar(): kotlin.reflect.KProperty0
public final static @org.jetbrains.annotations.NotNull method getAFoo(): kotlin.reflect.KFunction
public final static @org.jetbrains.annotations.NotNull method getA_bar(): kotlin.reflect.KProperty1
public final static @org.jetbrains.annotations.NotNull method getA_foo(): kotlin.reflect.KFunction
}