Properly handle AbbreviatedTypeBinding for error types.
Get rid of code duplication.
This commit is contained in:
Dmitry Petrov
2017-02-08 16:30:15 +03:00
parent b1e2db21d3
commit a4f9e46c08
4 changed files with 55 additions and 16 deletions
@@ -0,0 +1,21 @@
// https://ea.jetbrains.com/browser/ea_reports/1337846
//interface ComputablePoint<NumberType : Number>
//
//interface ComputableSegment<NumberType: Number, PointType>
//
//interface ComputableLineSegment<NumberType: Number, PointType> : ComputableSegment<NumberType, PointType>
//interface Path<NumberType, PointType, SegmentType>
typealias EachSegmentComparator<SegmentType> = (currentSegment: SegmentType, otherSegment: SegmentType, relationship: Int) -> Boolean
interface ComputablePath<NumberType, PointType, out SegmentType>
: <!UNRESOLVED_REFERENCE!>Path<!><NumberType, PointType, SegmentType>
where
NumberType: Number,
PointType: <!UNRESOLVED_REFERENCE!>ComputablePoint<!><NumberType>,
SegmentType: <!UNRESOLVED_REFERENCE!>ComputableLineSegment<!><NumberType, PointType>
{
fun anyTwoSegments(comparator: EachSegmentComparator<<!UNRESOLVED_REFERENCE!>ComputableSegment<!><NumberType, PointType>>): Boolean
}