FE 1.0: report TYPE_VARIANCE_CONFLICT also on qualifier type arguments
#KT-51439 Fixed
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
// !LANGUAGE: -ReportTypeVarianceConflictOnQualifierArguments
|
||||
|
||||
class Bar<K> {
|
||||
inner class Inner {
|
||||
inner class SuperInner
|
||||
}
|
||||
}
|
||||
|
||||
abstract class Foo<in T> {
|
||||
abstract fun yuckyEventHandler(
|
||||
fn: Bar<<!TYPE_VARIANCE_CONFLICT!>T<!>>.Inner.() -> Unit
|
||||
): () -> Unit
|
||||
|
||||
abstract fun second(fn: Bar<<!TYPE_VARIANCE_CONFLICT!>T<!>>.Inner)
|
||||
|
||||
abstract fun third(fn: Bar<<!TYPE_VARIANCE_CONFLICT!>T<!>>.Inner.SuperInner)
|
||||
}
|
||||
|
||||
abstract class Baz<out T> {
|
||||
abstract fun yuckyEventHandler(
|
||||
fn: Bar<<!TYPE_VARIANCE_CONFLICT!>T<!>>.Inner.() -> Unit
|
||||
): () -> Unit
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
// !LANGUAGE: -ReportTypeVarianceConflictOnQualifierArguments
|
||||
|
||||
class Bar<K> {
|
||||
inner class Inner {
|
||||
inner class SuperInner
|
||||
}
|
||||
}
|
||||
|
||||
abstract class Foo<in T> {
|
||||
abstract fun yuckyEventHandler(
|
||||
fn: Bar<<!TYPE_VARIANCE_CONFLICT_WARNING!>T<!>>.Inner.() -> Unit
|
||||
): () -> Unit
|
||||
|
||||
abstract fun second(fn: Bar<<!TYPE_VARIANCE_CONFLICT_WARNING!>T<!>>.Inner)
|
||||
|
||||
abstract fun third(fn: Bar<<!TYPE_VARIANCE_CONFLICT_WARNING!>T<!>>.Inner.SuperInner)
|
||||
}
|
||||
|
||||
abstract class Baz<out T> {
|
||||
abstract fun yuckyEventHandler(
|
||||
fn: Bar<<!TYPE_VARIANCE_CONFLICT_WARNING!>T<!>>.Inner.() -> Unit
|
||||
): () -> Unit
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package
|
||||
|
||||
public final class Bar</*0*/ K> {
|
||||
public constructor Bar</*0*/ K>()
|
||||
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 inner class Inner /*captured type parameters: /*0*/ K*/ {
|
||||
public constructor Inner()
|
||||
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 inner class SuperInner /*captured type parameters: /*0*/ K*/ {
|
||||
public constructor SuperInner()
|
||||
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 abstract class Baz</*0*/ out T> {
|
||||
public constructor Baz</*0*/ out T>()
|
||||
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 abstract fun yuckyEventHandler(/*0*/ fn: Bar<T>.Inner.() -> kotlin.Unit): () -> kotlin.Unit
|
||||
}
|
||||
|
||||
public abstract class Foo</*0*/ in T> {
|
||||
public constructor Foo</*0*/ in T>()
|
||||
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 abstract fun second(/*0*/ fn: Bar<T>.Inner): kotlin.Unit
|
||||
public abstract fun third(/*0*/ fn: Bar<T>.Inner.SuperInner): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
public abstract fun yuckyEventHandler(/*0*/ fn: Bar<T>.Inner.() -> kotlin.Unit): () -> kotlin.Unit
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +ReportTypeVarianceConflictOnQualifierArguments
|
||||
|
||||
class Bar<K> {
|
||||
inner class Inner
|
||||
}
|
||||
|
||||
abstract class Foo<in T> {
|
||||
abstract fun yuckyEventHandler(
|
||||
fn: Bar<<!TYPE_VARIANCE_CONFLICT!>T<!>>.Inner.() -> Unit
|
||||
): () -> Unit
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package
|
||||
|
||||
public final class Bar</*0*/ K> {
|
||||
public constructor Bar</*0*/ K>()
|
||||
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 inner class Inner /*captured type parameters: /*0*/ K*/ {
|
||||
public constructor Inner()
|
||||
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 abstract class Foo</*0*/ in T> {
|
||||
public constructor Foo</*0*/ in T>()
|
||||
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 abstract fun yuckyEventHandler(/*0*/ fn: Bar<T>.Inner.() -> kotlin.Unit): () -> kotlin.Unit
|
||||
}
|
||||
Reference in New Issue
Block a user