Test: visibility of inline class members

Also merge in testInlineClassWrapperPrimaryConstructorIsSynthetic
and testInlineClassConstructors.
This commit is contained in:
Dmitry Petrov
2018-09-05 15:20:31 +03:00
parent d8a6db8774
commit 43b4190f7c
7 changed files with 88 additions and 40 deletions
@@ -1,7 +0,0 @@
// !LANGUAGE: +InlineClasses
inline class Foo(val x: Int) {
constructor(x: Long) : this(x.toInt())
internal constructor(x: Int, y: Int) : this(x + y)
private constructor(x: Short) : this(x.toInt())
}
@@ -1,19 +0,0 @@
@kotlin.Metadata
public final class Foo {
private final field x: int
private synthetic method <init>(p0: int): void
public synthetic final static @org.jetbrains.annotations.NotNull method box(p0: int): Foo
public static method constructor(p0: int): int
public static method constructor(p0: int, p1: int): int
public static method constructor(p0: long): int
private static method constructor(p0: short): int
public static method equals(p0: int, @org.jetbrains.annotations.Nullable p1: java.lang.Object): boolean
public method equals(p0: 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(p0: int): int
public method toString(): java.lang.String
public static @org.jetbrains.annotations.NotNull method toString(p0: int): java.lang.String
public synthetic final method unbox(): int
}
@@ -0,0 +1,43 @@
// !LANGUAGE: +InlineClasses
inline class Z(val x: Int) {
constructor(x: Long) : this(x.toInt())
internal constructor(x: Int, y: Int) : this(x + y)
private constructor(x: Short) : this(x.toInt())
fun publicFun() {}
internal fun internalFun() {}
private fun privateFun() {}
fun String.publicExtensionFun() {}
internal fun String.internalExtensionFun() {}
private fun String.privateExtensionFun() {}
val publicVal: Int get() = x
internal val internalVal: Int get() = x
private val privateVal: Int get() = x
val String.publicExtensionVal: Int get() = x
internal val String.internalExtensionVal: Int get() = x
private val String.privateExtensionVal: Int get() = x
var publicVar: Int
get() = x
set(v) {}
internal var internalVar: Int
get() = x
set(v) {}
private var privateVar: Int
get() = x
set(v) {}
var String.publicExtensionVar: Int
get() = x
set(v) {}
internal var String.internalExtensionVar: Int
get() = x
set(v) {}
private var String.privateExtensionVar: Int
get() = x
set(v) {}
}
@@ -0,0 +1,42 @@
@kotlin.Metadata
public final class Z {
private final field x: int
private synthetic method <init>(p0: int): void
public synthetic final static @org.jetbrains.annotations.NotNull method box(p0: int): Z
public static method constructor(p0: int): int
public static method constructor(p0: int, p1: int): int
public static method constructor(p0: long): int
private static method constructor(p0: short): int
public static method equals(p0: int, @org.jetbrains.annotations.Nullable p1: java.lang.Object): boolean
public method equals(p0: java.lang.Object): boolean
public final static method getInternalExtensionVal$test_module(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): int
public final static method getInternalExtensionVar$test_module(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): int
public final static method getInternalVal$test_module(p0: int): int
public final static method getInternalVar$test_module(p0: int): int
private final static method getPrivateExtensionVal(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): int
private final static method getPrivateExtensionVar(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): int
private final static method getPrivateVal(p0: int): int
private final static method getPrivateVar(p0: int): int
public final static method getPublicExtensionVal(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): int
public final static method getPublicExtensionVar(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): int
public final static method getPublicVal(p0: int): int
public final static method getPublicVar(p0: int): int
public final method getX(): int
public method hashCode(): int
public static method hashCode(p0: int): int
public final static method internalExtensionFun$test_module(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): void
public final static method internalFun$test_module(p0: int): void
private final static method privateExtensionFun(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): void
private final static method privateFun(p0: int): void
public final static method publicExtensionFun(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String): void
public final static method publicFun(p0: int): void
public final static method setInternalExtensionVar$test_module(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String, p2: int): void
public final static method setInternalVar$test_module(p0: int, p1: int): void
private final static method setPrivateExtensionVar(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String, p2: int): void
private final static method setPrivateVar(p0: int, p1: int): void
public final static method setPublicExtensionVar(p0: int, @org.jetbrains.annotations.NotNull p1: java.lang.String, p2: int): void
public final static method setPublicVar(p0: int, p1: int): void
public method toString(): java.lang.String
public static @org.jetbrains.annotations.NotNull method toString(p0: int): java.lang.String
public synthetic final method unbox(): int
}