Implement rendering of raw types

Also add some clarification in spec
This commit is contained in:
Denis Zharkov
2015-08-04 15:39:17 +03:00
parent 51668b4cc3
commit 41d4af2cb9
38 changed files with 236 additions and 109 deletions
@@ -3,8 +3,8 @@ package test
public interface RawTypeWithUpperBound {
public interface Bar {
public abstract fun f(/*0*/ p0: (test.RawTypeWithUpperBound.Foo<kotlin.CharSequence!>..test.RawTypeWithUpperBound.Foo<*>?)): kotlin.Unit
public abstract fun g(/*0*/ p0: kotlin.(Mutable)List<(test.RawTypeWithUpperBound.Foo<kotlin.CharSequence!>..test.RawTypeWithUpperBound.Foo<*>?)>!): kotlin.Unit
public abstract fun f(/*0*/ p0: test.RawTypeWithUpperBound.Foo<(raw) kotlin.CharSequence!>!): kotlin.Unit
public abstract fun g(/*0*/ p0: kotlin.(Mutable)List<test.RawTypeWithUpperBound.Foo<(raw) kotlin.CharSequence!>!>!): kotlin.Unit
}
public interface Foo</*0*/ T : kotlin.CharSequence!> {
+1 -1
View File
@@ -1,4 +1,4 @@
package test
public interface RawUpperBound</*0*/ T : (test.RawUpperBound<test.RawUpperBound<*>>..test.RawUpperBound<out test.RawUpperBound<*>>?)> {
public interface RawUpperBound</*0*/ T : test.RawUpperBound<(raw) test.RawUpperBound<*>>!> {
}
@@ -1,4 +1,4 @@
package test
public interface RecursiveRawUpperBound</*0*/ T : (test.RecursiveRawUpperBound<test.RecursiveRawUpperBound<*>>..test.RecursiveRawUpperBound<out test.RecursiveRawUpperBound<*>>?)> {
public interface RecursiveRawUpperBound</*0*/ T : test.RecursiveRawUpperBound<(raw) test.RecursiveRawUpperBound<*>>!> {
}
@@ -1,4 +1,4 @@
package test
public interface RecursiveWildcardUpperBound</*0*/ T : (test.RecursiveWildcardUpperBound<test.RecursiveWildcardUpperBound<*>>..test.RecursiveWildcardUpperBound<out test.RecursiveWildcardUpperBound<*>>?)> {
public interface RecursiveWildcardUpperBound</*0*/ T : test.RecursiveWildcardUpperBound<(raw) test.RecursiveWildcardUpperBound<*>>!> {
}
@@ -42,8 +42,8 @@ public open class Rendering {
}
public/*package*/ interface H_Raw {
public abstract fun foo1(/*0*/ p0: (kotlin.MutableList<kotlin.Any?>..kotlin.List<*>?)): kotlin.Unit
public abstract fun foo2(/*0*/ p0: (test.Rendering.D_SuperG<kotlin.Any!>..test.Rendering.D_SuperG<*>?)): kotlin.Unit
public abstract fun foo1(/*0*/ p0: kotlin.(Mutable)List<(raw) kotlin.Any?>!): kotlin.Unit
public abstract fun foo2(/*0*/ p0: test.Rendering.D_SuperG<(raw) kotlin.Any!>!): kotlin.Unit
}
public/*package*/ interface I_Wildcard {
@@ -6,8 +6,8 @@ public open class RawSuperTypeWithRecursiveBound {
public open inner class Derived : test.RawSuperTypeWithRecursiveBound.Super<out test.RawSuperTypeWithRecursiveBound.Super<*>!> {
public constructor Derived()
public open override /*1*/ fun dummy(): kotlin.Unit
public open override /*1*/ fun foo(/*0*/ p0: (test.RawSuperTypeWithRecursiveBound.Super<test.RawSuperTypeWithRecursiveBound.Super<*>!>..test.RawSuperTypeWithRecursiveBound.Super<out test.RawSuperTypeWithRecursiveBound.Super<*>!>?)): kotlin.Unit
public open fun foo(/*0*/ p0: kotlin.Any!): kotlin.Unit
public open override /*1*/ fun foo(/*0*/ p0: test.RawSuperTypeWithRecursiveBound.Super<(raw) test.RawSuperTypeWithRecursiveBound.Super<*>!>!): kotlin.Unit
}
public interface Super</*0*/ T : test.RawSuperTypeWithRecursiveBound.Super<T!>!> {
@@ -6,8 +6,8 @@ public open class RawSuperTypeWithRecursiveBoundMultipleParameters {
public open inner class Derived : test.RawSuperTypeWithRecursiveBoundMultipleParameters.Super<kotlin.Any!, out test.RawSuperTypeWithRecursiveBoundMultipleParameters.Super<*, *>!> {
public constructor Derived()
public open override /*1*/ fun dummy(): kotlin.Unit
public open override /*1*/ fun foo(/*0*/ p0: kotlin.Any!, /*1*/ p1: (test.RawSuperTypeWithRecursiveBoundMultipleParameters.Super<kotlin.Any!, test.RawSuperTypeWithRecursiveBoundMultipleParameters.Super<*, *>!>..test.RawSuperTypeWithRecursiveBoundMultipleParameters.Super<*, out test.RawSuperTypeWithRecursiveBoundMultipleParameters.Super<*, *>!>?)): kotlin.Unit
public open fun foo(/*0*/ p0: kotlin.Any!, /*1*/ p1: kotlin.Any!): kotlin.Unit
public open override /*1*/ fun foo(/*0*/ p0: kotlin.Any!, /*1*/ p1: test.RawSuperTypeWithRecursiveBoundMultipleParameters.Super<(raw) kotlin.Any!, (raw) test.RawSuperTypeWithRecursiveBoundMultipleParameters.Super<*, *>!>!): kotlin.Unit
}
public interface Super</*0*/ R : kotlin.Any!, /*1*/ T : test.RawSuperTypeWithRecursiveBoundMultipleParameters.Super<R!, T!>!> {
@@ -4,22 +4,22 @@ public interface SubclassWithRawType {
public interface Sub : test.SubclassWithRawType.Super {
public abstract override /*1*/ fun array1(): kotlin.Array<(out) kotlin.(Mutable)List<kotlin.String!>!>!
public abstract override /*1*/ fun array2(): kotlin.Array<(out) (kotlin.MutableList<kotlin.Any?>..kotlin.List<*>?)>!
public abstract override /*1*/ fun array2(): kotlin.Array<(out) kotlin.(Mutable)List<(raw) kotlin.Any?>!>!
public abstract override /*1*/ fun boundWildcard1(): (kotlin.MutableList<out kotlin.(Mutable)List<kotlin.String!>!>..kotlin.List<kotlin.(Mutable)List<kotlin.String!>!>?)
public abstract override /*1*/ fun boundWildcard2(): kotlin.(Mutable)List<in (kotlin.MutableList<kotlin.Any?>..kotlin.List<*>?)>!
public abstract override /*1*/ fun boundWildcard2(): kotlin.(Mutable)List<in kotlin.(Mutable)List<(raw) kotlin.Any?>!>!
public abstract override /*1*/ fun simple1(): kotlin.(Mutable)List<kotlin.String!>!
public abstract override /*1*/ fun simple2(): kotlin.(Mutable)List<kotlin.(Mutable)List<kotlin.String!>!>!
public abstract override /*1*/ fun simple3(): (kotlin.MutableList<kotlin.Any?>..kotlin.List<*>?)
public abstract override /*1*/ fun wildcard(): (kotlin.MutableList<kotlin.Any?>..kotlin.List<*>?)
public abstract override /*1*/ fun simple3(): kotlin.(Mutable)List<(raw) kotlin.Any?>!
public abstract override /*1*/ fun wildcard(): kotlin.(Mutable)List<(raw) kotlin.Any?>!
}
public interface Super {
public abstract fun array1(): kotlin.Array<(out) (kotlin.MutableList<kotlin.Any?>..kotlin.List<*>?)>!
public abstract fun array1(): kotlin.Array<(out) kotlin.(Mutable)List<(raw) kotlin.Any?>!>!
public abstract fun array2(): kotlin.Array<(out) kotlin.(Mutable)List<kotlin.String!>!>!
public abstract fun boundWildcard1(): (kotlin.MutableList<out (kotlin.MutableList<kotlin.Any?>..kotlin.List<*>?)>..kotlin.List<(kotlin.MutableList<kotlin.Any?>..kotlin.List<*>?)>?)
public abstract fun boundWildcard1(): (kotlin.MutableList<out kotlin.(Mutable)List<(raw) kotlin.Any?>!>..kotlin.List<kotlin.(Mutable)List<(raw) kotlin.Any?>!>?)
public abstract fun boundWildcard2(): kotlin.(Mutable)List<in kotlin.(Mutable)List<kotlin.String!>!>!
public abstract fun simple1(): (kotlin.MutableList<kotlin.Any?>..kotlin.List<*>?)
public abstract fun simple2(): (kotlin.MutableList<kotlin.Any?>..kotlin.List<*>?)
public abstract fun simple1(): kotlin.(Mutable)List<(raw) kotlin.Any?>!
public abstract fun simple2(): kotlin.(Mutable)List<(raw) kotlin.Any?>!
public abstract fun simple3(): kotlin.(Mutable)List<kotlin.String!>!
public abstract fun wildcard(): kotlin.(Mutable)List<*>!
}