Refine member scope for types with projections
Instead of erasing descriptors with conflicting substitution, use invariant CapturedType(<projection>) as replacement for type parameter within default member scope. After substitution leave such types 'as is' everywhere except return types, use common approximation for them. #KT-9294 In Progress #KT-5411 Fixed #KT-8647 Fixed #KT-9462 Fixed #KT-9893 Fixed #KT-7581 Fixed #KT-7296 In Progress
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
// PARAM_TYPES: kotlin.Array<T>, kotlin.Cloneable, java.io.Serializable, Any
|
||||
// PARAM_TYPES: kotlin.Array<T>, Cloneable, java.io.Serializable, Any
|
||||
// PARAM_DESCRIPTOR: public fun <T> kotlin.Array<T>.test(): kotlin.Unit defined in root package
|
||||
// SIBLING:
|
||||
fun <T> Array<T>.test() {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// PARAM_TYPES: kotlin.Array<T>, kotlin.Cloneable, java.io.Serializable, Any
|
||||
// PARAM_TYPES: kotlin.Array<T>, Cloneable, java.io.Serializable, Any
|
||||
// PARAM_DESCRIPTOR: public fun <T> kotlin.Array<T>.test(): kotlin.Unit defined in root package
|
||||
// SIBLING:
|
||||
fun <T> Array<T>.test() {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// PARAM_TYPES: kotlin.String, Comparable<String>, CharSequence, java.io.Serializable, kotlin.Any
|
||||
// PARAM_TYPES: kotlin.String, Comparable<String>, CharSequence, java.io.Serializable, Any
|
||||
// PARAM_TYPES: X<kotlin.Any>
|
||||
// PARAM_DESCRIPTOR: value-parameter val s: kotlin.String? defined in foo
|
||||
// PARAM_DESCRIPTOR: value-parameter val x: X<kotlin.Any> defined in foo
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// PARAM_TYPES: kotlin.String, Comparable<String>, CharSequence, java.io.Serializable, kotlin.Any
|
||||
// PARAM_TYPES: kotlin.String, Comparable<String>, CharSequence, java.io.Serializable, Any
|
||||
// PARAM_TYPES: X<kotlin.Any>
|
||||
// PARAM_DESCRIPTOR: value-parameter val s: kotlin.String? defined in foo
|
||||
// PARAM_DESCRIPTOR: value-parameter val x: X<kotlin.Any> defined in foo
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// PARAM_TYPES: kotlin.String, Comparable<String>, CharSequence, java.io.Serializable, kotlin.Any
|
||||
// PARAM_TYPES: kotlin.String, Comparable<String>, CharSequence, java.io.Serializable, Any
|
||||
// PARAM_DESCRIPTOR: public fun kotlin.String.test(): kotlin.Unit defined in root package
|
||||
fun String.foo(f: () -> Unit) {
|
||||
f()
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// PARAM_TYPES: kotlin.String, Comparable<String>, CharSequence, java.io.Serializable, kotlin.Any
|
||||
// PARAM_TYPES: kotlin.String, Comparable<String>, CharSequence, java.io.Serializable, Any
|
||||
// PARAM_DESCRIPTOR: public fun kotlin.String.test(): kotlin.Unit defined in root package
|
||||
fun String.foo(f: () -> Unit) {
|
||||
f()
|
||||
|
||||
Reference in New Issue
Block a user