Report error on non-top-level type aliases (unsupported in 1.1).

Get rid of nested type aliases in project.
This commit is contained in:
Dmitry Petrov
2016-11-18 10:25:16 +03:00
parent 87c9d4e84e
commit 4c47d77a9f
56 changed files with 153 additions and 166 deletions
@@ -1,18 +0,0 @@
//ALLOW_AST_ACCESS
package test
open class Pair<T1, T2>
open class Triple<T1, T2, T3>
class Outer<X> {
inner class InnerTest1<A>: Pair<X, A>()
typealias Test1<A> = Pair<X, A>
class Nested<Y> {
typealias Test2<B> = Pair<Y, B>
}
inner class Inner<Z> {
typealias Test3<C> = Triple<X, Z, C>
}
}
@@ -1,28 +0,0 @@
package test
public final class Outer</*0*/ X> {
/*primary*/ public constructor Outer</*0*/ X>()
public final inner class Inner</*0*/ Z> /*captured type parameters: /*1*/ X*/ {
/*primary*/ public constructor Inner</*0*/ Z>()
public typealias Test3</*0*/ C> /*captured type parameters: /*1*/ Z, /*2*/ X*/ = test.Triple<X, Z, C>
}
public final inner class InnerTest1</*0*/ A> /*captured type parameters: /*1*/ X*/ : test.Pair<X, A> {
/*primary*/ public constructor InnerTest1</*0*/ A>()
}
public final class Nested</*0*/ Y> {
/*primary*/ public constructor Nested</*0*/ Y>()
public typealias Test2</*0*/ B> /*captured type parameters: /*1*/ Y*/ = test.Pair<Y, B>
}
public typealias Test1</*0*/ A> /*captured type parameters: /*1*/ X*/ = test.Pair<X, A>
}
public open class Pair</*0*/ T1, /*1*/ T2> {
/*primary*/ public constructor Pair</*0*/ T1, /*1*/ T2>()
}
public open class Triple</*0*/ T1, /*1*/ T2, /*2*/ T3> {
/*primary*/ public constructor Triple</*0*/ T1, /*1*/ T2, /*2*/ T3>()
}