Tests: move inline class-related diagnostic tests
... with backend-reported diagnostics to testsWithJvmBackend.
This commit is contained in:
committed by
Space Team
parent
d08c904b0c
commit
56a1a3153b
-7
@@ -1,7 +0,0 @@
|
||||
// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
inline class IC(val i: Int)
|
||||
|
||||
fun foo(a: Any, ic: IC) {}
|
||||
fun foo(a: Any?, ic: IC) {}
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
inline class IC(val i: Int)
|
||||
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun foo(a: Any, ic: IC)<!> {}
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun foo(a: Any?, ic: IC)<!> {}
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
package
|
||||
|
||||
public fun foo(/*0*/ a: kotlin.Any, /*1*/ ic: IC): kotlin.Unit
|
||||
public fun foo(/*0*/ a: kotlin.Any?, /*1*/ ic: IC): kotlin.Unit
|
||||
|
||||
public final inline class IC {
|
||||
public constructor IC(/*0*/ i: kotlin.Int)
|
||||
public final val i: kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
inline class X(val x: Int)
|
||||
inline class Z(val x: Int)
|
||||
|
||||
class TestOk1(val a: Int, val b: Int) {
|
||||
constructor(x: X) : this(x.x, 1)
|
||||
}
|
||||
|
||||
class TestErr1(val a: Int) {
|
||||
constructor(x: X) : this(x.x)
|
||||
}
|
||||
|
||||
class TestErr2(val a: Int, val b: Int) {
|
||||
constructor(x: X) : this(x.x, 1)
|
||||
constructor(z: Z) : this(z.x, 2)
|
||||
}
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
inline class X(val x: Int)
|
||||
inline class Z(val x: Int)
|
||||
|
||||
class TestOk1(val a: Int, val b: Int) {
|
||||
constructor(x: X) : this(x.x, 1)
|
||||
}
|
||||
|
||||
class TestErr1(val a: Int) {
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>constructor(x: X)<!> : this(x.x)
|
||||
}
|
||||
|
||||
class <!CONFLICTING_JVM_DECLARATIONS!>TestErr2(val a: Int, val b: Int)<!> {
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>constructor(x: X)<!> : this(x.x, 1)
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>constructor(z: Z)<!> : this(z.x, 2)
|
||||
}
|
||||
-47
@@ -1,47 +0,0 @@
|
||||
package
|
||||
|
||||
public final class TestErr1 {
|
||||
public constructor TestErr1(/*0*/ x: X)
|
||||
public constructor TestErr1(/*0*/ a: kotlin.Int)
|
||||
public final val a: 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 class TestErr2 {
|
||||
public constructor TestErr2(/*0*/ x: X)
|
||||
public constructor TestErr2(/*0*/ z: Z)
|
||||
public constructor TestErr2(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int)
|
||||
public final val a: kotlin.Int
|
||||
public final val b: 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 class TestOk1 {
|
||||
public constructor TestOk1(/*0*/ x: X)
|
||||
public constructor TestOk1(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int)
|
||||
public final val a: kotlin.Int
|
||||
public final val b: 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 X {
|
||||
public constructor X(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final inline class Z {
|
||||
public constructor Z(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
-37
@@ -1,37 +0,0 @@
|
||||
// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
inline class X(val x: Int)
|
||||
inline class Z(val x: Int)
|
||||
inline class Str(val str: String)
|
||||
inline class Name(val name: String)
|
||||
inline class NStr(val str: String?)
|
||||
|
||||
fun testSimple(x: X) {}
|
||||
fun testSimple(z: Z) {}
|
||||
|
||||
fun testMixed(x: Int, y: Int) {}
|
||||
fun testMixed(x: X, y: Int) {}
|
||||
fun testMixed(x: Int, y: X) {}
|
||||
fun testMixed(x: X, y: X) {}
|
||||
|
||||
fun testNewType(s: Str) {}
|
||||
fun testNewType(name: Name) {}
|
||||
|
||||
fun testNullableVsNonNull1(s: Str) {}
|
||||
fun testNullableVsNonNull1(s: Str?) {}
|
||||
|
||||
fun testNullableVsNonNull2(ns: NStr) {}
|
||||
fun testNullableVsNonNull2(ns: NStr?) {}
|
||||
|
||||
fun testFunVsExt(x: X) {}
|
||||
fun X.testFunVsExt() {}
|
||||
|
||||
fun testNonGenericVsGeneric(x: X, y: Number) {}
|
||||
fun <T : Number> testNonGenericVsGeneric(x: X, y: T) {}
|
||||
|
||||
class C<TC : Number> {
|
||||
fun testNonGenericVsGeneric(x: X, y: Number) {}
|
||||
fun <T : Number> testNonGenericVsGeneric(x: X, y: T) {}
|
||||
fun testNonGenericVsGeneric(x: X, y: TC) {}
|
||||
}
|
||||
-68
@@ -1,68 +0,0 @@
|
||||
package
|
||||
|
||||
public fun testFunVsExt(/*0*/ x: X): kotlin.Unit
|
||||
public fun testMixed(/*0*/ x: X, /*1*/ y: X): kotlin.Unit
|
||||
public fun testMixed(/*0*/ x: X, /*1*/ y: kotlin.Int): kotlin.Unit
|
||||
public fun testMixed(/*0*/ x: kotlin.Int, /*1*/ y: X): kotlin.Unit
|
||||
public fun testMixed(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.Int): kotlin.Unit
|
||||
public fun testNewType(/*0*/ name: Name): kotlin.Unit
|
||||
public fun testNewType(/*0*/ s: Str): kotlin.Unit
|
||||
public fun </*0*/ T : kotlin.Number> testNonGenericVsGeneric(/*0*/ x: X, /*1*/ y: T): kotlin.Unit
|
||||
public fun testNonGenericVsGeneric(/*0*/ x: X, /*1*/ y: kotlin.Number): kotlin.Unit
|
||||
public fun testNullableVsNonNull1(/*0*/ s: Str): kotlin.Unit
|
||||
public fun testNullableVsNonNull1(/*0*/ s: Str?): kotlin.Unit
|
||||
public fun testNullableVsNonNull2(/*0*/ ns: NStr): kotlin.Unit
|
||||
public fun testNullableVsNonNull2(/*0*/ ns: NStr?): kotlin.Unit
|
||||
public fun testSimple(/*0*/ x: X): kotlin.Unit
|
||||
public fun testSimple(/*0*/ z: Z): kotlin.Unit
|
||||
public fun X.testFunVsExt(): kotlin.Unit
|
||||
|
||||
public final class C</*0*/ TC : kotlin.Number> {
|
||||
public constructor C</*0*/ TC : kotlin.Number>()
|
||||
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 final fun </*0*/ T : kotlin.Number> testNonGenericVsGeneric(/*0*/ x: X, /*1*/ y: T): kotlin.Unit
|
||||
public final fun testNonGenericVsGeneric(/*0*/ x: X, /*1*/ y: TC): kotlin.Unit
|
||||
public final fun testNonGenericVsGeneric(/*0*/ x: X, /*1*/ y: kotlin.Number): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final inline class NStr {
|
||||
public constructor NStr(/*0*/ str: kotlin.String?)
|
||||
public final val str: kotlin.String?
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final inline class Name {
|
||||
public constructor Name(/*0*/ name: kotlin.String)
|
||||
public final val name: kotlin.String
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final inline class Str {
|
||||
public constructor Str(/*0*/ str: kotlin.String)
|
||||
public final val str: kotlin.String
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final inline class X {
|
||||
public constructor X(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final inline class Z {
|
||||
public constructor Z(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
-26
@@ -1,26 +0,0 @@
|
||||
// !SKIP_JAVAC
|
||||
// !LANGUAGE: +InlineClasses
|
||||
// ALLOW_KOTLIN_PACKAGE
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
package kotlin.jvm
|
||||
|
||||
annotation class JvmInline
|
||||
|
||||
@JvmInline
|
||||
value class X(val x: Int)
|
||||
@JvmInline
|
||||
value class Z(val x: Int)
|
||||
|
||||
class TestOk1(val a: Int, val b: Int) {
|
||||
constructor(x: X) : this(x.x, 1)
|
||||
}
|
||||
|
||||
class TestErr1(val a: Int) {
|
||||
constructor(x: X) : this(x.x)
|
||||
}
|
||||
|
||||
class TestErr2(val a: Int, val b: Int) {
|
||||
constructor(x: X) : this(x.x, 1)
|
||||
constructor(z: Z) : this(z.x, 2)
|
||||
}
|
||||
-26
@@ -1,26 +0,0 @@
|
||||
// !SKIP_JAVAC
|
||||
// !LANGUAGE: +InlineClasses
|
||||
// ALLOW_KOTLIN_PACKAGE
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
package kotlin.jvm
|
||||
|
||||
annotation class JvmInline
|
||||
|
||||
@JvmInline
|
||||
value class X(val x: Int)
|
||||
@JvmInline
|
||||
value class Z(val x: Int)
|
||||
|
||||
class TestOk1(val a: Int, val b: Int) {
|
||||
constructor(x: X) : this(x.x, 1)
|
||||
}
|
||||
|
||||
class TestErr1(val a: Int) {
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>constructor(x: X)<!> : this(x.x)
|
||||
}
|
||||
|
||||
class <!CONFLICTING_JVM_DECLARATIONS!>TestErr2(val a: Int, val b: Int)<!> {
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>constructor(x: X)<!> : this(x.x, 1)
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>constructor(z: Z)<!> : this(z.x, 2)
|
||||
}
|
||||
-60
@@ -1,60 +0,0 @@
|
||||
package
|
||||
|
||||
package kotlin {
|
||||
|
||||
package kotlin.jvm {
|
||||
|
||||
public final annotation class JvmInline : kotlin.Annotation {
|
||||
public constructor JvmInline()
|
||||
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 class TestErr1 {
|
||||
public constructor TestErr1(/*0*/ a: kotlin.Int)
|
||||
public constructor TestErr1(/*0*/ x: kotlin.jvm.X)
|
||||
public final val a: 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 class TestErr2 {
|
||||
public constructor TestErr2(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int)
|
||||
public constructor TestErr2(/*0*/ x: kotlin.jvm.X)
|
||||
public constructor TestErr2(/*0*/ z: kotlin.jvm.Z)
|
||||
public final val a: kotlin.Int
|
||||
public final val b: 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 class TestOk1 {
|
||||
public constructor TestOk1(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int)
|
||||
public constructor TestOk1(/*0*/ x: kotlin.jvm.X)
|
||||
public final val a: kotlin.Int
|
||||
public final val b: 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
|
||||
}
|
||||
|
||||
@kotlin.jvm.JvmInline public final value class X {
|
||||
public constructor X(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
@kotlin.jvm.JvmInline public final value class Z {
|
||||
public constructor Z(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
}
|
||||
-48
@@ -1,48 +0,0 @@
|
||||
// !SKIP_JAVAC
|
||||
// !LANGUAGE: +InlineClasses
|
||||
// ALLOW_KOTLIN_PACKAGE
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
package kotlin.jvm
|
||||
|
||||
annotation class JvmInline
|
||||
|
||||
@JvmInline
|
||||
value class X(val x: Int)
|
||||
@JvmInline
|
||||
value class Z(val x: Int)
|
||||
@JvmInline
|
||||
value class Str(val str: String)
|
||||
@JvmInline
|
||||
value class Name(val name: String)
|
||||
@JvmInline
|
||||
value class NStr(val str: String?)
|
||||
|
||||
fun testSimple(x: X) {}
|
||||
fun testSimple(z: Z) {}
|
||||
|
||||
fun testMixed(x: Int, y: Int) {}
|
||||
fun testMixed(x: X, y: Int) {}
|
||||
fun testMixed(x: Int, y: X) {}
|
||||
fun testMixed(x: X, y: X) {}
|
||||
|
||||
fun testNewType(s: Str) {}
|
||||
fun testNewType(name: Name) {}
|
||||
|
||||
fun testNullableVsNonNull1(s: Str) {}
|
||||
fun testNullableVsNonNull1(s: Str?) {}
|
||||
|
||||
fun testNullableVsNonNull2(ns: NStr) {}
|
||||
fun testNullableVsNonNull2(ns: NStr?) {}
|
||||
|
||||
fun testFunVsExt(x: X) {}
|
||||
fun X.testFunVsExt() {}
|
||||
|
||||
fun testNonGenericVsGeneric(x: X, y: Number) {}
|
||||
fun <T : Number> testNonGenericVsGeneric(x: X, y: T) {}
|
||||
|
||||
class C<TC : Number> {
|
||||
fun testNonGenericVsGeneric(x: X, y: Number) {}
|
||||
fun <T : Number> testNonGenericVsGeneric(x: X, y: T) {}
|
||||
fun testNonGenericVsGeneric(x: X, y: TC) {}
|
||||
}
|
||||
-80
@@ -1,80 +0,0 @@
|
||||
package
|
||||
|
||||
package kotlin {
|
||||
|
||||
package kotlin.jvm {
|
||||
public fun testFunVsExt(/*0*/ x: kotlin.jvm.X): kotlin.Unit
|
||||
public fun testMixed(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.Int): kotlin.Unit
|
||||
public fun testMixed(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.jvm.X): kotlin.Unit
|
||||
public fun testMixed(/*0*/ x: kotlin.jvm.X, /*1*/ y: kotlin.Int): kotlin.Unit
|
||||
public fun testMixed(/*0*/ x: kotlin.jvm.X, /*1*/ y: kotlin.jvm.X): kotlin.Unit
|
||||
public fun testNewType(/*0*/ name: kotlin.jvm.Name): kotlin.Unit
|
||||
public fun testNewType(/*0*/ s: kotlin.jvm.Str): kotlin.Unit
|
||||
public fun </*0*/ T : kotlin.Number> testNonGenericVsGeneric(/*0*/ x: kotlin.jvm.X, /*1*/ y: T): kotlin.Unit
|
||||
public fun testNonGenericVsGeneric(/*0*/ x: kotlin.jvm.X, /*1*/ y: kotlin.Number): kotlin.Unit
|
||||
public fun testNullableVsNonNull1(/*0*/ s: kotlin.jvm.Str): kotlin.Unit
|
||||
public fun testNullableVsNonNull1(/*0*/ s: kotlin.jvm.Str?): kotlin.Unit
|
||||
public fun testNullableVsNonNull2(/*0*/ ns: kotlin.jvm.NStr): kotlin.Unit
|
||||
public fun testNullableVsNonNull2(/*0*/ ns: kotlin.jvm.NStr?): kotlin.Unit
|
||||
public fun testSimple(/*0*/ x: kotlin.jvm.X): kotlin.Unit
|
||||
public fun testSimple(/*0*/ z: kotlin.jvm.Z): kotlin.Unit
|
||||
public fun kotlin.jvm.X.testFunVsExt(): kotlin.Unit
|
||||
|
||||
public final class C</*0*/ TC : kotlin.Number> {
|
||||
public constructor C</*0*/ TC : kotlin.Number>()
|
||||
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 final fun </*0*/ T : kotlin.Number> testNonGenericVsGeneric(/*0*/ x: kotlin.jvm.X, /*1*/ y: T): kotlin.Unit
|
||||
public final fun testNonGenericVsGeneric(/*0*/ x: kotlin.jvm.X, /*1*/ y: TC): kotlin.Unit
|
||||
public final fun testNonGenericVsGeneric(/*0*/ x: kotlin.jvm.X, /*1*/ y: kotlin.Number): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final annotation class JvmInline : kotlin.Annotation {
|
||||
public constructor JvmInline()
|
||||
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
|
||||
}
|
||||
|
||||
@kotlin.jvm.JvmInline public final value class NStr {
|
||||
public constructor NStr(/*0*/ str: kotlin.String?)
|
||||
public final val str: kotlin.String?
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
@kotlin.jvm.JvmInline public final value class Name {
|
||||
public constructor Name(/*0*/ name: kotlin.String)
|
||||
public final val name: kotlin.String
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
@kotlin.jvm.JvmInline public final value class Str {
|
||||
public constructor Str(/*0*/ str: kotlin.String)
|
||||
public final val str: kotlin.String
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
@kotlin.jvm.JvmInline public final value class X {
|
||||
public constructor X(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
@kotlin.jvm.JvmInline public final value class Z {
|
||||
public constructor Z(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
inline class IC(val i: Int)
|
||||
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun foo(a: Any, ic: IC) {}<!>
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun foo(a: Any?, ic: IC) {}<!>
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +InlineClasses
|
||||
// ALLOW_KOTLIN_PACKAGE
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
package kotlin.jvm
|
||||
|
||||
annotation class JvmInline
|
||||
|
||||
@JvmInline
|
||||
value class X(val x: Int)
|
||||
@JvmInline
|
||||
value class Z(val x: Int)
|
||||
|
||||
class TestOk1(val a: Int, val b: Int) {
|
||||
constructor(x: X) : this(x.x, 1)
|
||||
}
|
||||
|
||||
class TestErr1<!CONFLICTING_JVM_DECLARATIONS!>(val a: Int)<!> {
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>constructor(x: X) : this(x.x)<!>
|
||||
}
|
||||
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>class TestErr2(val a: Int, val b: Int) {
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>constructor(x: X) : this(x.x, 1)<!>
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>constructor(z: Z) : this(z.x, 2)<!>
|
||||
}<!>
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
inline class X(val x: Int)
|
||||
inline class Z(val x: Int)
|
||||
|
||||
class TestOk1(val a: Int, val b: Int) {
|
||||
constructor(x: X) : this(x.x, 1)
|
||||
}
|
||||
|
||||
class TestErr1<!CONFLICTING_JVM_DECLARATIONS!>(val a: Int)<!> {
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>constructor(x: X) : this(x.x)<!>
|
||||
}
|
||||
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>class TestErr2(val a: Int, val b: Int) {
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>constructor(x: X) : this(x.x, 1)<!>
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>constructor(z: Z) : this(z.x, 2)<!>
|
||||
}<!>
|
||||
+8
-8
@@ -1,4 +1,4 @@
|
||||
// !SKIP_JAVAC
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +InlineClasses
|
||||
// ALLOW_KOTLIN_PACKAGE
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
@@ -35,14 +35,14 @@ fun testNullableVsNonNull1(s: Str?) {}
|
||||
fun testNullableVsNonNull2(ns: NStr) {}
|
||||
fun testNullableVsNonNull2(ns: NStr?) {}
|
||||
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun testFunVsExt(x: X)<!> {}
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun X.testFunVsExt()<!> {}
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun testFunVsExt(x: X) {}<!>
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun X.testFunVsExt() {}<!>
|
||||
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun testNonGenericVsGeneric(x: X, y: Number)<!> {}
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun <T : Number> testNonGenericVsGeneric(x: X, y: T)<!> {}
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun testNonGenericVsGeneric(x: X, y: Number) {}<!>
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun <T : Number> testNonGenericVsGeneric(x: X, y: T) {}<!>
|
||||
|
||||
class C<TC : Number> {
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun testNonGenericVsGeneric(x: X, y: Number)<!> {}
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun <T : Number> testNonGenericVsGeneric(x: X, y: T)<!> {}
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun testNonGenericVsGeneric(x: X, y: TC)<!> {}
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun testNonGenericVsGeneric(x: X, y: Number) {}<!>
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun <T : Number> testNonGenericVsGeneric(x: X, y: T) {}<!>
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun testNonGenericVsGeneric(x: X, y: TC) {}<!>
|
||||
}
|
||||
+9
-8
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
@@ -24,14 +25,14 @@ fun testNullableVsNonNull1(s: Str?) {}
|
||||
fun testNullableVsNonNull2(ns: NStr) {}
|
||||
fun testNullableVsNonNull2(ns: NStr?) {}
|
||||
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun testFunVsExt(x: X)<!> {}
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun X.testFunVsExt()<!> {}
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun testFunVsExt(x: X) {}<!>
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun X.testFunVsExt() {}<!>
|
||||
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun testNonGenericVsGeneric(x: X, y: Number)<!> {}
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun <T : Number> testNonGenericVsGeneric(x: X, y: T)<!> {}
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun testNonGenericVsGeneric(x: X, y: Number) {}<!>
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun <T : Number> testNonGenericVsGeneric(x: X, y: T) {}<!>
|
||||
|
||||
class C<TC : Number> {
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun testNonGenericVsGeneric(x: X, y: Number)<!> {}
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun <T : Number> testNonGenericVsGeneric(x: X, y: T)<!> {}
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun testNonGenericVsGeneric(x: X, y: TC)<!> {}
|
||||
}
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun testNonGenericVsGeneric(x: X, y: Number) {}<!>
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun <T : Number> testNonGenericVsGeneric(x: X, y: T) {}<!>
|
||||
<!CONFLICTING_JVM_DECLARATIONS!>fun testNonGenericVsGeneric(x: X, y: TC) {}<!>
|
||||
}
|
||||
Reference in New Issue
Block a user