Require presence of public primary constructor for inline class

This commit is contained in:
Mikhail Zarechenskiy
2018-05-06 03:31:16 +03:00
parent 096fe1c411
commit 6a120d2f85
10 changed files with 68 additions and 20 deletions
@@ -1,3 +0,0 @@
// !LANGUAGE: +InlineClasses
inline class UInt private constructor(val value: Int)
@@ -1,12 +0,0 @@
@kotlin.Metadata
public final static class UInt$Erased {
public final static @org.jetbrains.annotations.NotNull method box(p0: int): UInt
}
@kotlin.Metadata
public final class UInt {
private final field value: int
private method <init>(p0: int): void
public final method getValue(): int
public final method unbox(): int
}
@@ -0,0 +1,7 @@
// !LANGUAGE: +InlineClasses
inline class ConstructorWithDefaultVisibility(val x: Int)
inline class PublicConstructor public constructor(val x: Int)
inline class InternalConstructor <!NON_PUBLIC_PRIMARY_CONSTRUCTOR_OF_INLINE_CLASS!>internal<!> constructor(val x: Int)
inline class ProtectedConstructor <!NON_PUBLIC_PRIMARY_CONSTRUCTOR_OF_INLINE_CLASS!>protected<!> constructor(val x: Int)
inline class PrivateConstructor <!NON_PUBLIC_PRIMARY_CONSTRUCTOR_OF_INLINE_CLASS!>private<!> constructor(val x: Int)
@@ -0,0 +1,41 @@
package
public final inline class ConstructorWithDefaultVisibility {
public constructor ConstructorWithDefaultVisibility(/*0*/ x: kotlin.Int)
public final val x: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final inline class InternalConstructor {
internal constructor InternalConstructor(/*0*/ x: kotlin.Int)
public final val x: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final inline class PrivateConstructor {
private constructor PrivateConstructor(/*0*/ x: kotlin.Int)
public final val x: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final inline class ProtectedConstructor {
protected constructor ProtectedConstructor(/*0*/ x: kotlin.Int)
public final val x: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final inline class PublicConstructor {
public constructor PublicConstructor(/*0*/ x: kotlin.Int)
public final val x: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}