[FIR] Fix location for CONFLICTING_PROJECTION diagnostics, extend conflictingProjection.kt with test sample

This commit is contained in:
Ivan Kochurkin
2021-05-31 23:04:55 +03:00
committed by teamcityserver
parent ce78457eaa
commit b85846c0c0
17 changed files with 107 additions and 46 deletions
@@ -35,7 +35,7 @@ interface Test<in I, out O, P> {
fun neOk6(i: In<In<<!TYPE_VARIANCE_CONFLICT("O; out; in; In<In<O>>")!>O<!>>>)
fun neOk7(i: Pair<In<<!TYPE_VARIANCE_CONFLICT("I; in; out; Pair<In<I>, O>")!>I<!>>, <!TYPE_VARIANCE_CONFLICT("O; out; in; Pair<In<I>, O>")!>O<!>>)
fun neOk8(i: Inv<out <!TYPE_VARIANCE_CONFLICT("O; out; in; Inv<out O>")!>O<!>>)
fun neOk9(i: <!CONFLICTING_PROJECTION!>In<out P><!>)
fun neOk9(i: In<<!CONFLICTING_PROJECTION!>out<!> P>)
fun neOk10(i: Out<<!TYPE_VARIANCE_CONFLICT("O; out; in; Out<O>")!>O<!>>)
fun neOk11(i: Inv<in <!TYPE_VARIANCE_CONFLICT("I; in; out; Inv<in I>")!>I<!>>)
@@ -23,7 +23,7 @@ interface Test<in I, out O, P> {
var neOk7: Pair<In<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; Pair<In<I>, O>")!>I<!>>, <!TYPE_VARIANCE_CONFLICT("O; out; invariant; Pair<In<I>, O>")!>O<!>>
var neOk8: Inv<in <!TYPE_VARIANCE_CONFLICT("O; out; invariant; Inv<in O>")!>O<!>>
var neOk9: Inv<in <!TYPE_VARIANCE_CONFLICT("I; in; invariant; Inv<in I>")!>I<!>>
var neOk10: <!CONFLICTING_PROJECTION!>In<out I><!>
var neOk10: In<<!CONFLICTING_PROJECTION!>out<!> I>
var neOk11: <!TYPE_VARIANCE_CONFLICT("I; in; invariant; I")!>I<!>
var neOk12: In<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; In<O>")!>O<!>>
@@ -21,20 +21,20 @@ interface Test<in I, out O, P> {
fun ok12(): Inv<in P>
fun ok13(): Inv<out P>
fun neOk1(): <!TYPE_VARIANCE_CONFLICT!>I<!>
fun neOk2(): In<<!TYPE_VARIANCE_CONFLICT!>O<!>>
fun neOk3(): In<In<<!TYPE_VARIANCE_CONFLICT!>I<!>>>
fun neOk4(): Inv<<!TYPE_VARIANCE_CONFLICT!>I<!>>
fun neOk5(): Inv<<!TYPE_VARIANCE_CONFLICT!>O<!>>
fun neOk6(): Pair<In<<!TYPE_VARIANCE_CONFLICT!>O<!>>, <!TYPE_VARIANCE_CONFLICT!>I<!>>
fun neOk7(): Inv<in <!TYPE_VARIANCE_CONFLICT!>O<!>>
fun neOk8(): <!CONFLICTING_PROJECTION!>Out<in I><!>
fun neOk1(): <!TYPE_VARIANCE_CONFLICT("I; in; out; I")!>I<!>
fun neOk2(): In<<!TYPE_VARIANCE_CONFLICT("O; out; in; In<O>")!>O<!>>
fun neOk3(): In<In<<!TYPE_VARIANCE_CONFLICT("I; in; out; In<In<I>>")!>I<!>>>
fun neOk4(): Inv<<!TYPE_VARIANCE_CONFLICT("I; in; invariant; Inv<I>")!>I<!>>
fun neOk5(): Inv<<!TYPE_VARIANCE_CONFLICT("O; out; invariant; Inv<O>")!>O<!>>
fun neOk6(): Pair<In<<!TYPE_VARIANCE_CONFLICT("O; out; in; Pair<In<O>, I>")!>O<!>>, <!TYPE_VARIANCE_CONFLICT("I; in; out; Pair<In<O>, I>")!>I<!>>
fun neOk7(): Inv<in <!TYPE_VARIANCE_CONFLICT("O; out; in; Inv<in O>")!>O<!>>
fun neOk8(): Out<<!CONFLICTING_PROJECTION("Out<in I>")!>in<!> I>
fun neOk10(): Inv<in <!TYPE_VARIANCE_CONFLICT!>O<!>>
fun neOk11(): Inv<out <!TYPE_VARIANCE_CONFLICT!>I<!>>
fun neOk10(): Inv<in <!TYPE_VARIANCE_CONFLICT("O; out; in; Inv<in O>")!>O<!>>
fun neOk11(): Inv<out <!TYPE_VARIANCE_CONFLICT("I; in; out; Inv<out I>")!>I<!>>
fun neOk30(): <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Pair<I, ><!>
fun neOk31(): Pair<<!TYPE_VARIANCE_CONFLICT!>I<!>, <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>>
fun neOk31(): Pair<<!TYPE_VARIANCE_CONFLICT("I; in; out; Pair<I, ERROR CLASS: Wrong number of type arguments>")!>I<!>, <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>>
fun neOk32(): <!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>Inv<!>
fun neOk33(): Inv<<!SYNTAX!><!>>
fun neOk34(): Inv<<!UNRESOLVED_REFERENCE!>C<!>>