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
}
@@ -0,0 +1,9 @@
package
public interface ComputablePath</*0*/ NumberType : kotlin.Number, /*1*/ PointType, /*2*/ out SegmentType> {
public abstract fun anyTwoSegments(/*0*/ comparator: EachSegmentComparator<[ERROR : ComputableSegment<NumberType, PointType>]<NumberType, PointType>> /* = ([ERROR : ComputableSegment<NumberType, PointType>]<NumberType, PointType>, [ERROR : ComputableSegment<NumberType, PointType>]<NumberType, PointType>, relationship: kotlin.Int) -> kotlin.Boolean */): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public typealias EachSegmentComparator</*0*/ SegmentType> = (currentSegment: SegmentType, otherSegment: SegmentType, relationship: kotlin.Int) -> kotlin.Boolean