[FIR] Introduce TYPE_ARGUMENTS_NOT_ALLOWED & some other type errors
This commit introduces several different things, in particular: - check type arguments in expressions - new TypeArgumentList node to deal with diagnostic source - ConeDiagnostic was moved to fir:cones - ConeIntermediateDiagnostic to use in inference (?) without reporting - detailed diagnostics on error type
This commit is contained in:
@@ -41,10 +41,10 @@ interface Test<in I, out O, P> {
|
||||
fun neOk11(i: Inv<in I>)
|
||||
fun neOk12(i: Inv<out O>)
|
||||
|
||||
fun neOk30(i: Pair<O, >)
|
||||
fun neOk31(i: Pair<O, Inv>)
|
||||
fun neOk32(i: Inv)
|
||||
fun neOk30(i: <!OTHER_ERROR!>Pair<O, ><!>)
|
||||
fun neOk31(i: <!OTHER_ERROR!>Pair<O, Inv><!>)
|
||||
fun neOk32(i: <!OTHER_ERROR!>Inv<!>)
|
||||
fun neOk33(i: Inv<<!SYNTAX!><!>>)
|
||||
fun neOk34(i: Inv<C>)
|
||||
fun neOk35(i: Inv<P, P>)
|
||||
fun neOk34(i: <!OTHER_ERROR!>Inv<C><!>)
|
||||
fun neOk35(i: <!OTHER_ERROR!>Inv<P, P><!>)
|
||||
}
|
||||
@@ -38,10 +38,10 @@ interface Test<in I, out O, P> {
|
||||
var neOk22: Inv<out O>
|
||||
var neOk23: Inv<out I>
|
||||
|
||||
var neOk30: Pair<I, >
|
||||
var neOk31: Pair<I, Inv>
|
||||
var neOk32: Inv
|
||||
var neOk30: <!OTHER_ERROR, OTHER_ERROR, OTHER_ERROR!>Pair<I, ><!>
|
||||
var neOk31: <!OTHER_ERROR, OTHER_ERROR, OTHER_ERROR!>Pair<I, Inv><!>
|
||||
var neOk32: <!OTHER_ERROR, OTHER_ERROR, OTHER_ERROR!>Inv<!>
|
||||
var neOk33: Inv<<!SYNTAX!><!>>
|
||||
var neOk34: Inv<C>
|
||||
var neOk35: Inv<P, P>
|
||||
var neOk34: <!OTHER_ERROR, OTHER_ERROR, OTHER_ERROR!>Inv<C><!>
|
||||
var neOk35: <!OTHER_ERROR, OTHER_ERROR, OTHER_ERROR!>Inv<P, P><!>
|
||||
}
|
||||
@@ -33,10 +33,10 @@ interface Test<in I, out O, P> {
|
||||
fun neOk10(): Inv<in O>
|
||||
fun neOk11(): Inv<out I>
|
||||
|
||||
fun neOk30(): Pair<I, >
|
||||
fun neOk31(): Pair<I, Inv>
|
||||
fun neOk32(): Inv
|
||||
fun neOk30(): <!OTHER_ERROR!>Pair<I, ><!>
|
||||
fun neOk31(): <!OTHER_ERROR!>Pair<I, Inv><!>
|
||||
fun neOk32(): <!OTHER_ERROR!>Inv<!>
|
||||
fun neOk33(): Inv<<!SYNTAX!><!>>
|
||||
fun neOk34(): Inv<C>
|
||||
fun neOk35(): Inv<P, P>
|
||||
fun neOk34(): <!OTHER_ERROR!>Inv<C><!>
|
||||
fun neOk35(): <!OTHER_ERROR!>Inv<P, P><!>
|
||||
}
|
||||
@@ -11,11 +11,11 @@
|
||||
typealias EachSegmentComparator<SegmentType> = (currentSegment: SegmentType, otherSegment: SegmentType, relationship: Int) -> Boolean
|
||||
|
||||
interface ComputablePath<NumberType, PointType, out SegmentType>
|
||||
: Path<NumberType, PointType, SegmentType>
|
||||
: <!OTHER_ERROR!>Path<NumberType, PointType, SegmentType><!>
|
||||
where
|
||||
NumberType: Number,
|
||||
PointType: ComputablePoint<NumberType>,
|
||||
SegmentType: ComputableLineSegment<NumberType, PointType>
|
||||
PointType: <!OTHER_ERROR!>ComputablePoint<NumberType><!>,
|
||||
SegmentType: <!OTHER_ERROR!>ComputableLineSegment<NumberType, PointType><!>
|
||||
{
|
||||
fun anyTwoSegments(comparator: EachSegmentComparator<ComputableSegment<NumberType, PointType>>): Boolean
|
||||
fun anyTwoSegments(comparator: EachSegmentComparator<<!OTHER_ERROR!>ComputableSegment<NumberType, PointType><!>>): Boolean
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user