JVM JVM_IR hide sealed class constructors
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
inline class Z(val x: Int)
|
||||
|
||||
class Test1(val z: Z)
|
||||
|
||||
class Test2(val x: String) {
|
||||
constructor(z: Z) : this(z.toString())
|
||||
}
|
||||
|
||||
class Test3(val z: Z = Z(0))
|
||||
|
||||
class Test4(val x: String) {
|
||||
constructor(z: Z = Z(0)) : this(z.toString())
|
||||
}
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
@kotlin.Metadata
|
||||
public final class Test1 {
|
||||
// source: 'hiddenConstructor.kt'
|
||||
private final field z: int
|
||||
private method <init>(p0: int): void
|
||||
public synthetic method <init>(p0: int, p1: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public final method getZ-a_XrcN0(): int
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public final class Test2 {
|
||||
// source: 'hiddenConstructor.kt'
|
||||
private final @org.jetbrains.annotations.NotNull field x: java.lang.String
|
||||
public method <init>(@org.jetbrains.annotations.NotNull p0: java.lang.String): void
|
||||
private method <init>(p0: int): void
|
||||
public synthetic method <init>(p0: int, p1: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public final @org.jetbrains.annotations.NotNull method getX(): java.lang.String
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public final class Test3 {
|
||||
// source: 'hiddenConstructor.kt'
|
||||
private final field z: int
|
||||
private method <init>(p0: int): void
|
||||
public synthetic method <init>(p0: int, p1: int, p2: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public synthetic method <init>(p0: int, p1: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public final method getZ-a_XrcN0(): int
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public final class Test4 {
|
||||
// source: 'hiddenConstructor.kt'
|
||||
private final @org.jetbrains.annotations.NotNull field x: java.lang.String
|
||||
public method <init>(@org.jetbrains.annotations.NotNull p0: java.lang.String): void
|
||||
private method <init>(p0: int): void
|
||||
public synthetic method <init>(p0: int, p1: int, p2: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public synthetic method <init>(p0: int, p1: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public final @org.jetbrains.annotations.NotNull method getX(): java.lang.String
|
||||
}
|
||||
|
||||
@kotlin.jvm.JvmInline
|
||||
@kotlin.Metadata
|
||||
public final class Z {
|
||||
// source: 'hiddenConstructor.kt'
|
||||
private final field x: int
|
||||
private synthetic method <init>(p0: int): void
|
||||
public synthetic final static method box-impl(p0: int): Z
|
||||
public static method constructor-impl(p0: int): int
|
||||
public method equals(p0: java.lang.Object): boolean
|
||||
public static method equals-impl(p0: int, p1: java.lang.Object): boolean
|
||||
public final static method equals-impl0(p0: int, p1: int): boolean
|
||||
public final method getX(): int
|
||||
public method hashCode(): int
|
||||
public static method hashCode-impl(p0: int): int
|
||||
public method toString(): java.lang.String
|
||||
public static method toString-impl(p0: int): java.lang.String
|
||||
public synthetic final method unbox-impl(): int
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
annotation class Ann
|
||||
|
||||
sealed class Sealed @Ann constructor(@Ann val x: String)
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
@java.lang.annotation.Retention
|
||||
@kotlin.Metadata
|
||||
public annotation class Ann {
|
||||
// source: 'annotationsOnSealedConstructor.kt'
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public abstract class Sealed {
|
||||
// source: 'annotationsOnSealedConstructor.kt'
|
||||
private final @org.jetbrains.annotations.NotNull field x: java.lang.String
|
||||
private @Ann method <init>(@Ann p0: java.lang.String): void
|
||||
public synthetic method <init>(p0: java.lang.String, p1: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public final @org.jetbrains.annotations.NotNull method getX(): java.lang.String
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
// !LANGUAGE: -AllowSealedInheritorsInDifferentFilesOfSamePackage
|
||||
|
||||
sealed class TestNoSubclasses(val x: Int)
|
||||
|
||||
sealed class TestSubclassAfter(val x: Int)
|
||||
class X1 : TestSubclassAfter(42)
|
||||
|
||||
sealed class TestNoSubclassesAllDefaults(val x: Int = 0)
|
||||
|
||||
sealed class TestSubclassAfterAllDefaults(val x: Int = 0)
|
||||
class X3 : TestSubclassAfterAllDefaults()
|
||||
|
||||
class X4: TestSubclassBefore(1)
|
||||
sealed class TestSubclassBefore(val x: Int)
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
@kotlin.Metadata
|
||||
public abstract class TestNoSubclasses {
|
||||
// source: 'sealedClassConstructor_1_4.kt'
|
||||
private final field x: int
|
||||
private method <init>(p0: int): void
|
||||
public synthetic method <init>(p0: int, p1: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public final method getX(): int
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public abstract class TestNoSubclassesAllDefaults {
|
||||
// source: 'sealedClassConstructor_1_4.kt'
|
||||
private final field x: int
|
||||
private method <init>(p0: int): void
|
||||
synthetic method <init>(p0: int, p1: int, p2: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public synthetic method <init>(p0: int, p1: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public final method getX(): int
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public abstract class TestSubclassAfter {
|
||||
// source: 'sealedClassConstructor_1_4.kt'
|
||||
private final field x: int
|
||||
private method <init>(p0: int): void
|
||||
public synthetic method <init>(p0: int, p1: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public final method getX(): int
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public abstract class TestSubclassAfterAllDefaults {
|
||||
// source: 'sealedClassConstructor_1_4.kt'
|
||||
private final field x: int
|
||||
private method <init>(p0: int): void
|
||||
synthetic method <init>(p0: int, p1: int, p2: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public synthetic method <init>(p0: int, p1: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public final method getX(): int
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public abstract class TestSubclassBefore {
|
||||
// source: 'sealedClassConstructor_1_4.kt'
|
||||
private final field x: int
|
||||
private method <init>(p0: int): void
|
||||
public synthetic method <init>(p0: int, p1: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public final method getX(): int
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public final class X1 {
|
||||
// source: 'sealedClassConstructor_1_4.kt'
|
||||
public method <init>(): void
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public final class X3 {
|
||||
// source: 'sealedClassConstructor_1_4.kt'
|
||||
public method <init>(): void
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public final class X4 {
|
||||
// source: 'sealedClassConstructor_1_4.kt'
|
||||
public method <init>(): void
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
// !LANGUAGE: +AllowSealedInheritorsInDifferentFilesOfSamePackage
|
||||
|
||||
sealed class TestNoSubclasses(val x: Int)
|
||||
|
||||
sealed class TestSubclassAfter(val x: Int)
|
||||
class X1 : TestSubclassAfter(42)
|
||||
|
||||
sealed class TestNoSubclassesAllDefaults(val x: Int = 0)
|
||||
|
||||
sealed class TestSubclassAfterAllDefaults(val x: Int = 0)
|
||||
class X3 : TestSubclassAfterAllDefaults()
|
||||
|
||||
class X4: TestSubclassBefore(1)
|
||||
sealed class TestSubclassBefore(val x: Int)
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
@kotlin.Metadata
|
||||
public abstract class TestNoSubclasses {
|
||||
// source: 'sealedClassConstructor_1_5.kt'
|
||||
private final field x: int
|
||||
private method <init>(p0: int): void
|
||||
public synthetic method <init>(p0: int, p1: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public final method getX(): int
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public abstract class TestNoSubclassesAllDefaults {
|
||||
// source: 'sealedClassConstructor_1_5.kt'
|
||||
private final field x: int
|
||||
private method <init>(p0: int): void
|
||||
public synthetic method <init>(p0: int, p1: int, p2: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public synthetic method <init>(p0: int, p1: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public final method getX(): int
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public abstract class TestSubclassAfter {
|
||||
// source: 'sealedClassConstructor_1_5.kt'
|
||||
private final field x: int
|
||||
private method <init>(p0: int): void
|
||||
public synthetic method <init>(p0: int, p1: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public final method getX(): int
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public abstract class TestSubclassAfterAllDefaults {
|
||||
// source: 'sealedClassConstructor_1_5.kt'
|
||||
private final field x: int
|
||||
private method <init>(p0: int): void
|
||||
public synthetic method <init>(p0: int, p1: int, p2: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public synthetic method <init>(p0: int, p1: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public final method getX(): int
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public abstract class TestSubclassBefore {
|
||||
// source: 'sealedClassConstructor_1_5.kt'
|
||||
private final field x: int
|
||||
private method <init>(p0: int): void
|
||||
public synthetic method <init>(p0: int, p1: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public final method getX(): int
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public final class X1 {
|
||||
// source: 'sealedClassConstructor_1_5.kt'
|
||||
public method <init>(): void
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public final class X3 {
|
||||
// source: 'sealedClassConstructor_1_5.kt'
|
||||
public method <init>(): void
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public final class X4 {
|
||||
// source: 'sealedClassConstructor_1_5.kt'
|
||||
public method <init>(): void
|
||||
}
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
// !LANGUAGE: +AllowSealedInheritorsInDifferentFilesOfSamePackage
|
||||
|
||||
sealed class Test(val x: Int = 0)
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
@kotlin.Metadata
|
||||
public abstract class Test {
|
||||
// source: 'sealedClassConstructorWithDefaultParams.kt'
|
||||
private final field x: int
|
||||
public method <init>(p0: int): void
|
||||
public synthetic method <init>(p0: int, p1: int, p2: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public final method getX(): int
|
||||
}
|
||||
Reference in New Issue
Block a user