Restructure bytecode listing tests on InlineOnly/inline+reified

This commit is contained in:
Alexander Udalov
2019-04-11 17:08:43 +03:00
parent 1c6ce208a6
commit b42adcd73d
17 changed files with 122 additions and 56 deletions
@@ -4,14 +4,11 @@
package test
fun foo() {
inlineOnly<String>()
inlineOnlyAnnotated()
inlineOnly()
}
// No method should be generated in multifile facade for 'inlineOnly'
// Because 'inlineOnly' is private in file part (because it's inline-only) and can't be delegated from facade
public inline fun <reified T> inlineOnly() {}
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
@kotlin.internal.InlineOnly
inline fun inlineOnlyAnnotated() { }
inline fun inlineOnly() { }
@@ -6,6 +6,5 @@ public final class test/Foo {
@kotlin.Metadata
synthetic final class test/Foo__InlineOnlyMultifileKt {
public final static method foo(): void
private final static method inlineOnly(): void
private final static @kotlin.internal.InlineOnly method inlineOnlyAnnotated(): void
private final static @kotlin.internal.InlineOnly method inlineOnly(): void
}
@@ -5,7 +5,6 @@ package test
fun foo() {
prop
"".extProp
}
// No method should be generated in multifile facade for 'inlineOnly'
@@ -15,6 +14,3 @@ fun foo() {
inline var prop: String
get() = "12"
set(value) {}
inline val <reified Z> Z.extProp: String
get() = "123"
@@ -6,7 +6,6 @@ public final class test/Foo {
@kotlin.Metadata
synthetic final class test/Foo__InlineOnlyPropertyMultifileKt {
public final static method foo(): void
private final static method getExtProp(p0: java.lang.Object): java.lang.String
private final static method getProp(): java.lang.String
public synthetic deprecated static @kotlin.internal.InlineOnly method prop$annotations(): void
private final static method setProp(p0: java.lang.String): void
@@ -0,0 +1,10 @@
// WITH_RUNTIME
@file:[JvmName("Foo") JvmMultifileClass]
package test
fun foo() {
inlineReified<String>()
}
public inline fun <reified T> inlineReified() {}
@@ -0,0 +1,10 @@
@kotlin.Metadata
public final class test/Foo {
public final static method foo(): void
}
@kotlin.Metadata
synthetic final class test/Foo__InlineReifiedMultifileKt {
public final static method foo(): void
private final static method inlineReified(): void
}
@@ -0,0 +1,11 @@
// WITH_RUNTIME
@file:[JvmName("Foo") JvmMultifileClass]
package test
fun foo() {
"".extProp
}
inline val <reified Z> Z.extProp: String
get() = "123"
@@ -0,0 +1,10 @@
@kotlin.Metadata
public final class test/Foo {
public final static method foo(): void
}
@kotlin.Metadata
synthetic final class test/Foo__InlineReifiedPropertyMultifileKt {
public final static method foo(): void
private final static method getExtProp(p0: java.lang.Object): java.lang.String
}
@@ -4,16 +4,8 @@
@kotlin.internal.InlineOnly
inline fun foo() { }
inline fun <T> bar() { }
inline fun <U, reified V> baz() {}
class Foo {
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
@kotlin.internal.InlineOnly
inline fun foo() { }
inline fun <T> bar() { }
inline fun <U, reified V> baz() {}
}
@@ -1,14 +1,10 @@
@kotlin.Metadata
public final class Foo {
public method <init>(): void
public final method bar(): void
private final method baz(): void
private final @kotlin.internal.InlineOnly method foo(): void
}
@kotlin.Metadata
public final class InlineOnlyKt {
public final static method bar(): void
private final static method baz(): void
private final static @kotlin.internal.InlineOnly method foo(): void
}
@@ -1,4 +1,3 @@
// WITH_RUNTIME
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
@@ -14,11 +13,7 @@ inline var prop2: String
set(value) {}
inline val <reified Z> Z.extProp: String
get() = "123"
class Foo {
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
@kotlin.internal.InlineOnly
inline var prop: String
@@ -30,9 +25,4 @@ class Foo {
@kotlin.internal.InlineOnly
get() = "12"
set(value) {}
inline val <reified Z> Z.extProp: String
get() = "123"
}
@@ -1,7 +1,6 @@
@kotlin.Metadata
public final class Foo {
public method <init>(): void
private final method getExtProp(p0: java.lang.Object): java.lang.String
private final method getProp(): java.lang.String
private final @kotlin.internal.InlineOnly method getProp2(): java.lang.String
public synthetic deprecated static @kotlin.internal.InlineOnly method prop$annotations(): void
@@ -11,7 +10,6 @@ public final class Foo {
@kotlin.Metadata
public final class InlineOnlyPropertyKt {
private final static method getExtProp(p0: java.lang.Object): java.lang.String
private final static method getProp(): java.lang.String
private final static @kotlin.internal.InlineOnly method getProp2(): java.lang.String
public synthetic deprecated static @kotlin.internal.InlineOnly method prop$annotations(): void
@@ -0,0 +1,9 @@
inline fun <T> bar() { }
inline fun <U, reified V> baz() {}
class Foo {
inline fun <T> bar() { }
inline fun <U, reified V> baz() {}
}
@@ -0,0 +1,12 @@
@kotlin.Metadata
public final class Foo {
public method <init>(): void
public final method bar(): void
private final method baz(): void
}
@kotlin.Metadata
public final class InlineReifiedKt {
public final static method bar(): void
private final static method baz(): void
}
@@ -0,0 +1,7 @@
inline val <reified Z> Z.extProp: String
get() = "123"
class Foo {
inline val <reified Z> Z.extProp: String
get() = "456"
}
@@ -0,0 +1,10 @@
@kotlin.Metadata
public final class Foo {
public method <init>(): void
private final method getExtProp(p0: java.lang.Object): java.lang.String
}
@kotlin.Metadata
public final class InlineReifiedPropertyKt {
private final static method getExtProp(p0: java.lang.Object): java.lang.String
}