LTDA: Make supertypes in lazy type parameters be recorded in order of declaration
This commit is contained in:
+2
-2
@@ -65,13 +65,13 @@ public class LazyTypeParameterDescriptor extends AbstractLazyTypeParameterDescri
|
||||
|
||||
JetTypeParameter jetTypeParameter = this.jetTypeParameter;
|
||||
|
||||
resolveUpperBoundsFromWhereClause(upperBounds);
|
||||
|
||||
JetTypeReference extendsBound = jetTypeParameter.getExtendsBound();
|
||||
if (extendsBound != null) {
|
||||
upperBounds.add(resolveBoundType(extendsBound));
|
||||
}
|
||||
|
||||
resolveUpperBoundsFromWhereClause(upperBounds);
|
||||
|
||||
if (upperBounds.isEmpty()) {
|
||||
upperBounds.add(KotlinBuiltIns.getInstance().getDefaultBound());
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
// PARAM_TYPES: A<T>
|
||||
// PARAM_TYPES: A.B<U>
|
||||
// PARAM_TYPES: V, Data
|
||||
// PARAM_DESCRIPTOR: internal final class A<T : DataEx> where T : Data defined in root package
|
||||
// PARAM_DESCRIPTOR: internal final inner class B<U : DataExEx> where U : Data defined in A
|
||||
// PARAM_DESCRIPTOR: internal final class A<T : Data> where T : DataEx defined in root package
|
||||
// PARAM_DESCRIPTOR: internal final inner class B<U : Data> where U : DataExEx defined in A
|
||||
// PARAM_DESCRIPTOR: value-parameter val v: V defined in A.B.foo
|
||||
open class Data(val x: Int)
|
||||
trait DataEx
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
// PARAM_TYPES: A<T>
|
||||
// PARAM_TYPES: A.B<U>
|
||||
// PARAM_TYPES: V, Data
|
||||
// PARAM_DESCRIPTOR: internal final class A<T : DataEx> where T : Data defined in root package
|
||||
// PARAM_DESCRIPTOR: internal final inner class B<U : DataExEx> where U : Data defined in A
|
||||
// PARAM_DESCRIPTOR: internal final class A<T : Data> where T : DataEx defined in root package
|
||||
// PARAM_DESCRIPTOR: internal final inner class B<U : Data> where U : DataExEx defined in A
|
||||
// PARAM_DESCRIPTOR: value-parameter val v: V defined in A.B.foo
|
||||
open class Data(val x: Int)
|
||||
trait DataEx
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// PARAM_TYPES: A.B<U>
|
||||
// PARAM_TYPES: V, Data
|
||||
// PARAM_DESCRIPTOR: internal final inner class B<U : DataExEx> where U : Data defined in A
|
||||
// PARAM_DESCRIPTOR: internal final inner class B<U : Data> where U : DataExEx defined in A
|
||||
// PARAM_DESCRIPTOR: value-parameter val v: V defined in A.B.foo
|
||||
open class Data(val x: Int)
|
||||
trait DataEx
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// PARAM_TYPES: A.B<U>
|
||||
// PARAM_TYPES: V, Data
|
||||
// PARAM_DESCRIPTOR: internal final inner class B<U : DataExEx> where U : Data defined in A
|
||||
// PARAM_DESCRIPTOR: internal final inner class B<U : Data> where U : DataExEx defined in A
|
||||
// PARAM_DESCRIPTOR: value-parameter val v: V defined in A.B.foo
|
||||
open class Data(val x: Int)
|
||||
trait DataEx
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// PARAM_TYPES: A<T>
|
||||
// PARAM_TYPES: V, Data
|
||||
// PARAM_DESCRIPTOR: internal final class A<T : DataEx> where T : Data defined in root package
|
||||
// PARAM_DESCRIPTOR: internal final class A<T : Data> where T : DataEx defined in root package
|
||||
// PARAM_DESCRIPTOR: value-parameter val v: V defined in A.foo
|
||||
open class Data(val x: Int)
|
||||
trait DataEx
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// PARAM_TYPES: A<T>
|
||||
// PARAM_TYPES: V, Data
|
||||
// PARAM_DESCRIPTOR: internal final class A<T : DataEx> where T : Data defined in root package
|
||||
// PARAM_DESCRIPTOR: internal final class A<T : Data> where T : DataEx defined in root package
|
||||
// PARAM_DESCRIPTOR: value-parameter val v: V defined in A.foo
|
||||
open class Data(val x: Int)
|
||||
trait DataEx
|
||||
|
||||
Reference in New Issue
Block a user