Fix ISE when copying a function with @NotNull bounded type parameters
For example in the case:
<_A extends @NotNull B, B> void f4(_A x, B y) { }
ISE had happened because while substituting the function
we've been creating copies of old type parameters and when initializing
bounds for one of them bounds for other may not be initialized yet
at the same time bounds were necessary for makesSenseToBeDefinitelyNotNull
This commit is contained in:
committed by
Mikhael Bogdanov
parent
0c419eac1a
commit
699d53e7f9
+4
-4
@@ -5,17 +5,17 @@ public/*package*/ abstract class MethodTypeParameterBounds {
|
||||
public/*package*/ open fun </*0*/ T : @org.jetbrains.annotations.NotNull kotlin.Any> f1(/*0*/ p0: T): kotlin.Unit
|
||||
public/*package*/ open fun </*0*/ _A : kotlin.Any!> f10(/*0*/ p0: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<in @org.jetbrains.annotations.Nullable kotlin.Int?>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<out kotlin.String!>?
|
||||
public/*package*/ open fun </*0*/ _A : test.MethodTypeParameterBounds.I4<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)>!> f11(/*0*/ p0: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.Int?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.Int?>?)>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)>?
|
||||
public/*package*/ open fun </*0*/ _A : test.MethodTypeParameterBounds.I4<kotlin.IntArray!>!> f12(/*0*/ p0: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out kotlin.IntArray!>!, _A : @org.jetbrains.annotations.NotNull test.MethodTypeParameterBounds.I3<out kotlin.IntArray!>
|
||||
public/*package*/ open fun </*0*/ _A : test.MethodTypeParameterBounds.I4<kotlin.IntArray!>!> f12(/*0*/ p0: _A!!): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out kotlin.IntArray!>!, _A : @org.jetbrains.annotations.NotNull test.MethodTypeParameterBounds.I3<out kotlin.IntArray!>
|
||||
public/*package*/ open fun </*0*/ _A : test.MethodTypeParameterBounds.I4<kotlin.Array<(out) kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.Int!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.Int!>?)>!>!>!> f13(/*0*/ p0: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.Nullable kotlin.Int?>!>!>!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.Nullable kotlin.Int?>!>!>!>?)>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<out kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.Int!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.Int!>?)>!>?
|
||||
public/*package*/ abstract fun </*0*/ _A : test.MethodTypeParameterBounds.I4<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!> f14(/*0*/ p0: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<out kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.IntArray!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.IntArray!>?)>!>?
|
||||
public/*package*/ open fun </*0*/ _A : kotlin.Any!, /*1*/ B : test.MethodTypeParameterBounds.I3<@org.jetbrains.annotations.Nullable _A?>!> f15(/*0*/ p0: _A!): kotlin.Unit where B : @org.jetbrains.annotations.NotNull test.MethodTypeParameterBounds.I2<_A!>
|
||||
public/*package*/ open fun </*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.NotNull kotlin.Int> f2(/*0*/ p0: _A!, /*1*/ p1: B): kotlin.Unit
|
||||
public/*package*/ open fun </*0*/ _A : kotlin.Any!, /*1*/ B : kotlin.Any!> f3(/*0*/ p0: _A!, /*1*/ p1: B): kotlin.Unit where B : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I1?
|
||||
public/*package*/ open fun </*0*/ _A : @org.jetbrains.annotations.NotNull B, /*1*/ B : kotlin.Any!> f4(/*0*/ p0: _A, /*1*/ p1: B!): kotlin.Unit
|
||||
public/*package*/ open fun </*0*/ _A : @org.jetbrains.annotations.NotNull B!!, /*1*/ B : kotlin.Any!> f4(/*0*/ p0: _A, /*1*/ p1: B!): kotlin.Unit
|
||||
public/*package*/ open fun </*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.Nullable _A?> f5(/*0*/ p0: _A!, /*1*/ p1: B): kotlin.Unit
|
||||
public/*package*/ open fun </*0*/ _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I1?> f6(): kotlin.Unit
|
||||
public/*package*/ abstract fun </*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.NotNull _A> f7(/*0*/ p0: _A!, /*1*/ p1: B): kotlin.Unit
|
||||
public/*package*/ abstract fun </*0*/ _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I1?, /*1*/ B : kotlin.Any!, /*2*/ C : kotlin.Any!, /*3*/ D : @org.jetbrains.annotations.NotNull E, /*4*/ E : kotlin.Any!, /*5*/ F : kotlin.Any!> f8(/*0*/ p0: _A, /*1*/ p1: B!, /*2*/ p2: C!, /*3*/ p3: D, /*4*/ p4: E!, /*5*/ p5: F!): kotlin.Unit
|
||||
public/*package*/ abstract fun </*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.NotNull _A!!> f7(/*0*/ p0: _A!, /*1*/ p1: B): kotlin.Unit
|
||||
public/*package*/ abstract fun </*0*/ _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I1?, /*1*/ B : kotlin.Any!, /*2*/ C : kotlin.Any!, /*3*/ D : @org.jetbrains.annotations.NotNull E!!, /*4*/ E : kotlin.Any!, /*5*/ F : kotlin.Any!> f8(/*0*/ p0: _A, /*1*/ p1: B!, /*2*/ p2: C!, /*3*/ p3: D, /*4*/ p4: E!, /*5*/ p5: F!): kotlin.Unit
|
||||
public/*package*/ open fun </*0*/ _A : kotlin.Any!> f9(/*0*/ p0: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<@org.jetbrains.annotations.Nullable kotlin.Int?>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<kotlin.String!>?
|
||||
|
||||
public/*package*/ interface I1 {
|
||||
|
||||
Reference in New Issue
Block a user