Star projection information preserved in substitutions
#KT-6700 Fixed
This commit is contained in:
+14
@@ -0,0 +1,14 @@
|
||||
// FILE: p/Base.java
|
||||
|
||||
package p;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class Base<T> {
|
||||
void coll(Collection<?> r) {}
|
||||
}
|
||||
|
||||
// FILE: k.kt
|
||||
package p
|
||||
|
||||
class Derived: p.Base<String>()
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package
|
||||
|
||||
package p {
|
||||
|
||||
public open class Base</*0*/ T> {
|
||||
public constructor Base</*0*/ T>()
|
||||
public/*package*/ open fun coll(/*0*/ r: kotlin.(Mutable)Collection<*>!): kotlin.Unit
|
||||
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
|
||||
}
|
||||
|
||||
internal final class Derived : p.Base<kotlin.String> {
|
||||
public constructor Derived()
|
||||
public/*package*/ open override /*1*/ /*fake_override*/ fun coll(/*0*/ r: kotlin.(Mutable)Collection<*>!): kotlin.Unit
|
||||
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
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
// FILE: p/Base.java
|
||||
|
||||
package p;
|
||||
|
||||
public class Base<T> {
|
||||
void foo(R<?> r) {}
|
||||
}
|
||||
|
||||
// FILE: k.kt
|
||||
package p
|
||||
|
||||
class R<T: R<T>>
|
||||
|
||||
class Derived: p.Base<String>()
|
||||
@@ -0,0 +1,27 @@
|
||||
package
|
||||
|
||||
package p {
|
||||
|
||||
public open class Base</*0*/ T> {
|
||||
public constructor Base</*0*/ T>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public/*package*/ open fun foo(/*0*/ r: p.R<*>!): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
internal final class Derived : p.Base<kotlin.String> {
|
||||
public constructor Derived()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public/*package*/ open override /*1*/ /*fake_override*/ fun foo(/*0*/ r: p.R<*>!): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
internal final class R</*0*/ T : p.R<T>> {
|
||||
public constructor R</*0*/ T : p.R<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
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
class R<T: R<T>>
|
||||
|
||||
open class Base<T> {
|
||||
fun foo(r: R<*>) {}
|
||||
}
|
||||
|
||||
class Derived: Base<String>()
|
||||
@@ -0,0 +1,24 @@
|
||||
package
|
||||
|
||||
internal open class Base</*0*/ T> {
|
||||
public constructor Base</*0*/ T>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
internal final fun foo(/*0*/ r: R<*>): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
internal final class Derived : Base<kotlin.String> {
|
||||
public constructor Derived()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
internal final override /*1*/ /*fake_override*/ fun foo(/*0*/ r: R<*>): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
internal final class R</*0*/ T : R<T>> {
|
||||
public constructor R</*0*/ T : R<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
|
||||
}
|
||||
Reference in New Issue
Block a user