Test data: adjust test data after prohibiting properties with typeparameters not used in receiver

This commit is contained in:
Pavel V. Talanov
2015-10-13 20:28:41 +03:00
parent 3468e83671
commit 47cca7db1f
39 changed files with 109 additions and 132 deletions
@@ -1,16 +1,16 @@
interface A {
interface A<H> {
fun foo() : Int = 1
fun foo2() : Int = 1
fun foo1() : Int = 1
val a : Int
val a1 : Int
val <T> g : Iterator<T>
val g : Iterator<H>
fun <T> g() : T
fun <T> g1() : T
}
abstract class B() : A {
abstract class B<H>() : A<H> {
override fun <!RETURN_TYPE_MISMATCH_ON_OVERRIDE!>foo<!>() {
}
override fun foo2() : <!RETURN_TYPE_MISMATCH_ON_OVERRIDE!>Unit<!> {
@@ -22,5 +22,5 @@ abstract class B() : A {
abstract override fun <X> g() : <!RETURN_TYPE_MISMATCH_ON_OVERRIDE!>Int<!>
abstract override fun <X> g1() : <!RETURN_TYPE_MISMATCH_ON_OVERRIDE!>List<X><!>
abstract override val <X> g : <!RETURN_TYPE_MISMATCH_ON_OVERRIDE!>Iterator<Int><!>
abstract override val g : <!RETURN_TYPE_MISMATCH_ON_OVERRIDE!>Iterator<Int><!>
}
@@ -1,9 +1,9 @@
package
public interface A {
public interface A</*0*/ H> {
public abstract val a: kotlin.Int
public abstract val a1: kotlin.Int
public abstract val </*0*/ T> g: kotlin.Iterator<T>
public abstract val g: kotlin.Iterator<H>
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun foo(): kotlin.Int
public open fun foo1(): kotlin.Int
@@ -14,11 +14,11 @@ public interface A {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public abstract class B : A {
public constructor B()
public abstract class B</*0*/ H> : A<H> {
public constructor B</*0*/ H>()
public open override /*1*/ val a: kotlin.Double = 1.0.toDouble()
public open override /*1*/ val a1: kotlin.Double = 1.0.toDouble()
public abstract override /*1*/ val </*0*/ X> g: kotlin.Iterator<kotlin.Int>
public abstract override /*1*/ val g: kotlin.Iterator<kotlin.Int>
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun foo1(): kotlin.Int
+4 -4
View File
@@ -9,9 +9,9 @@ interface B {
}
interface G<X> {
val <X> boo: Double where X : A, X : B
val <A> bal: Double where A : B
val <Y> bas: Double where Y : B, <!NAME_IN_CONSTRAINT_IS_NOT_A_TYPE_PARAMETER!>X<!> : B
val <<!TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER!>X<!>> boo: Double where X : A, X : B
val <<!TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER!>A<!>> bal: Double where A : B
val <<!TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER!>Y<!>> bas: Double where Y : B, <!NAME_IN_CONSTRAINT_IS_NOT_A_TYPE_PARAMETER!>X<!> : B
}
class C() : A(), B
@@ -66,4 +66,4 @@ val t1 = test2<<!UPPER_BOUND_VIOLATED!>A<!>>(A())
val t2 = test2<<!UPPER_BOUND_VIOLATED!>B<!>>(C())
val t3 = test2<C>(C())
val <T, B : T> x : Int = 0
val <<!TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER!>T<!>, <!TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER!>B : T<!>> x : Int = 0
@@ -1,10 +1,10 @@
annotation class A1
annotation class A2(val some: Int = 12)
val <<!UNSUPPORTED!>@A1<!> <!UNSUPPORTED!>@A2(3)<!> <!UNSUPPORTED!>@A2<!> <!UNSUPPORTED!>@A1(12)<!> <!UNSUPPORTED!>@A2("Test")<!> T> topProp = 12
val <<!UNSUPPORTED!>@A1<!> <!UNSUPPORTED!>@A2(3)<!> <!UNSUPPORTED!>@A2<!> <!UNSUPPORTED!>@A1(12)<!> <!UNSUPPORTED!>@A2("Test")<!> T> T.topProp: Int get() = 12
class SomeClass {
val <<!UNSUPPORTED!>@A1<!> <!UNSUPPORTED!>@A2(3)<!> <!UNSUPPORTED!>@A2<!> <!UNSUPPORTED!>@A1(12)<!> <!UNSUPPORTED!>@A2("Test")<!> T> field = 12
val <<!UNSUPPORTED!>@A1<!> <!UNSUPPORTED!>@A2(3)<!> <!UNSUPPORTED!>@A2<!> <!UNSUPPORTED!>@A1(12)<!> <!UNSUPPORTED!>@A2("Test")<!> T> T.field: Int get() = 12
fun foo() {
val <<!UNSUPPORTED!>@A1<!> <!UNSUPPORTED!>@A2(3)<!> <!UNSUPPORTED!>@A2<!> <!UNSUPPORTED!>@A1(12)<!> <!UNSUPPORTED!>@A2("Test")<!> T> <!UNUSED_VARIABLE!>localVal<!> = 12
@@ -1,6 +1,6 @@
package
public val </*0*/ T> topProp: kotlin.Int = 12
public val </*0*/ T> T.topProp: kotlin.Int
@kotlin.annotation.annotation() public final class A1 : kotlin.Annotation {
public constructor A1()
@@ -19,7 +19,7 @@ public val </*0*/ T> topProp: kotlin.Int = 12
public final class SomeClass {
public constructor SomeClass()
public final val </*0*/ T> field: kotlin.Int = 12
public final val </*0*/ T> T.field: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,15 +1,2 @@
val <<!REIFIED_TYPE_PARAMETER_NO_INLINE!>reified<!> T> v: T
val <<!REIFIED_TYPE_PARAMETER_NO_INLINE!>reified<!> T> T.v: T
get() = throw UnsupportedOperationException()
fun <T> id(p: T): T = p
fun <A> main() {
val <!UNUSED_VARIABLE!>a<!> = <!TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER, DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>v<!>
val <!UNUSED_VARIABLE!>b<!>: A = <!TYPE_PARAMETER_AS_REIFIED!>v<!>
val <!UNUSED_VARIABLE!>c<!>: Int = v
// TODO svtk, uncomment when extensions are called for nested calls!
//val < !UNUSED_VARIABLE!>d< !>: A = id(< !TYPE_PARAMETER_AS_REIFIED!>v< !>)
}
@@ -1,5 +1,3 @@
package
public val </*0*/ reified T> v: T
public fun </*0*/ T> id(/*0*/ p: T): T
public fun </*0*/ A> main(): kotlin.Unit
public val </*0*/ reified T> T.v: T
+1 -1
View File
@@ -1,4 +1,4 @@
val <T, E> T.foo : E<!BASE_WITH_NULLABLE_UPPER_BOUND!>?<!>
val <T> T.foo : T<!BASE_WITH_NULLABLE_UPPER_BOUND!>?<!>
get() = null
fun test(): Int? {
+1 -1
View File
@@ -1,4 +1,4 @@
package
public val </*0*/ T, /*1*/ E> T.foo: E?
public val </*0*/ T> T.foo: T?
public fun test(): kotlin.Int?
@@ -1,3 +1,4 @@
// !DIAGNOSTICS: -TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER
package override.generics
abstract class MyAbstractClass<T> {
@@ -1,3 +1,4 @@
// !DIAGNOSTICS: -TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER
open class Aaa() {
val bar = 1
}
+3 -3
View File
@@ -43,7 +43,7 @@ abstract class MyAbstractClass1 : MyTrait<Int>, MyAbstractClass<String>() {
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class MyIllegalGenericClass1<!><T> : MyTrait<T>, MyAbstractClass<T>() {}
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class MyIllegalGenericClass2<!><T, R>(r : R) : MyTrait<T>, MyAbstractClass<R>() {
<!NOTHING_TO_OVERRIDE!>override<!> fun foo(r: R) = r
<!CONFLICTING_OVERLOADS!><!NOTHING_TO_OVERRIDE!>override<!> val <T> pr : R<!> = r
<!CONFLICTING_OVERLOADS!><!NOTHING_TO_OVERRIDE!>override<!> val <<!TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER!>T<!>> pr : R<!> = r
}
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class MyIllegalClass1<!> : MyTrait<Int>, MyAbstractClass<String>() {}
abstract class MyLegalAbstractClass1 : MyTrait<Int>, MyAbstractClass<String>() {}
@@ -51,10 +51,10 @@ abstract class MyLegalAbstractClass1 : MyTrait<Int>, MyAbstractClass<String>() {
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class MyIllegalClass2<!><T>(t : T) : MyTrait<Int>, MyAbstractClass<Int>() {
fun foo(t: T) = t
fun bar(t: T) = t
<!CONFLICTING_OVERLOADS!>val <R> pr : T<!> = t
<!CONFLICTING_OVERLOADS!>val <<!TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER!>R<!>> pr : T<!> = t
}
abstract class MyLegalAbstractClass2<T>(t : T) : MyTrait<Int>, MyAbstractClass<Int>() {
fun foo(t: T) = t
fun bar(t: T) = t
<!CONFLICTING_OVERLOADS!>val <R> pr : T<!> = t
<!CONFLICTING_OVERLOADS!>val <<!TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER!>R<!>> pr : T<!> = t
}
@@ -2,5 +2,5 @@ fun <<!REDECLARATION, REDECLARATION!>T<!>, <!REDECLARATION, REDECLARATION!>T<!>>
class P<<!REDECLARATION!>T<!>, <!REDECLARATION!>T<!>> {}
val <<!REDECLARATION, REDECLARATION, REDECLARATION!>T<!>, <!REDECLARATION, REDECLARATION, REDECLARATION!>T<!>> T.foo : Int
val <<!REDECLARATION, REDECLARATION, REDECLARATION, TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER!>T<!>, <!REDECLARATION, REDECLARATION, REDECLARATION!>T<!>> T.foo : Int
get() = 1
@@ -1,3 +1,3 @@
// !DIAGNOSTICS: -MUST_BE_INITIALIZED
// !DIAGNOSTICS: -MUST_BE_INITIALIZED -TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER
fun <T: <!CYCLIC_GENERIC_UPPER_BOUND!>T?<!>> foo() {}
val <T: <!CYCLIC_GENERIC_UPPER_BOUND!>T?<!>> prop
@@ -1,4 +1,4 @@
// !DIAGNOSTICS: -MUST_BE_INITIALIZED_OR_BE_ABSTRACT
// !DIAGNOSTICS: -MUST_BE_INITIALIZED_OR_BE_ABSTRACT -TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER
class My {
fun <T: <!CYCLIC_GENERIC_UPPER_BOUND!>T?<!>> foo() {}
val <T: <!CYCLIC_GENERIC_UPPER_BOUND!>T?<!>> prop: T
@@ -1,3 +1,3 @@
// !DIAGNOSTICS: -MUST_BE_INITIALIZED
// !DIAGNOSTICS: -MUST_BE_INITIALIZED -TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER
fun <T: <!CYCLIC_GENERIC_UPPER_BOUND!>T<!>> foo() {}
val <T: <!CYCLIC_GENERIC_UPPER_BOUND!>T?<!>> prop: T
@@ -6,7 +6,7 @@ fun <<!UPPER_BOUND_CANNOT_BE_ARRAY!>T : <!FINAL_UPPER_BOUND!>IntArray<!><!>> f4(
fun <<!UPPER_BOUND_CANNOT_BE_ARRAY!>T<!>> f5() where T : Array<Any> {}
val <<!UPPER_BOUND_CANNOT_BE_ARRAY!>T : Array<Any?><!>> v = ""
val <<!UPPER_BOUND_CANNOT_BE_ARRAY!>T : Array<Any?><!>> T.v: String get() = ""
class C2<T, <!UPPER_BOUND_CANNOT_BE_ARRAY!>A : Array<out T><!>>
interface C3<S, T : S, <!UPPER_BOUND_CANNOT_BE_ARRAY!>A<!>> where A : Array<out S>, A : Array<out T>
@@ -1,6 +1,6 @@
package
public val </*0*/ T : kotlin.Array<kotlin.Any?>> v: kotlin.String = ""
public val </*0*/ T : kotlin.Array<kotlin.Any?>> T.v: kotlin.String
public fun </*0*/ A : kotlin.Array<kotlin.Any>> f1(): kotlin.Unit
public fun </*0*/ T, /*1*/ A : kotlin.Array<out T>> f2(): kotlin.Unit
public fun </*0*/ S, /*1*/ T : S, /*2*/ A : kotlin.Array<out S>> f3(): kotlin.Unit where A : kotlin.Array<out T>
+10 -10
View File
@@ -34,15 +34,15 @@ abstract class Test<in I, out O, P> {
abstract val In<<!TYPE_VARIANCE_CONFLICT(I; in; out; In<I>)!>I<!>>.receiver4: Int
abstract val In<O>.receiver5: Int
val <X : I> typeParameter1 = 8
val <X : <!TYPE_VARIANCE_CONFLICT(O; out; in; O)!>O<!>> typeParameter2 = 13
val <X : P> typeParameter3 = 21
val <X : In<<!TYPE_VARIANCE_CONFLICT(I; in; out; In<I>)!>I<!>>> typeParameter4 = 34
val <X : In<O>> typeParameter5 = 55
val <X : I> X.typeParameter1: Int get() = 0
val <X : <!TYPE_VARIANCE_CONFLICT(O; out; in; O)!>O<!>> X.typeParameter2: Int get() = 0
val <X : P> X.typeParameter3: Int get() = 0
val <X : In<<!TYPE_VARIANCE_CONFLICT(I; in; out; In<I>)!>I<!>>> X.typeParameter4: Int get() = 0
val <X : In<O>> X.typeParameter5: Int get() = 0
val <X> typeParameter6 where X : I = 1
val <X> typeParameter7 where X : <!TYPE_VARIANCE_CONFLICT(O; out; in; O)!>O<!> = 1
val <X> typeParameter8 where X : P = 2
val <X> typeParameter9 where X : In<<!TYPE_VARIANCE_CONFLICT(I; in; out; In<I>)!>I<!>> = 3
val <X> typeParameter0 where X : In<O> = 5
val <X> X.typeParameter6: Int where X : I get() = 0
val <X> X.typeParameter7: Int where X : <!TYPE_VARIANCE_CONFLICT(O; out; in; O)!>O<!> get() = 0
val <X> X.typeParameter8: Int where X : P get() = 0
val <X> X.typeParameter9: Int where X : In<<!TYPE_VARIANCE_CONFLICT(I; in; out; In<I>)!>I<!>> get() = 0
val <X> X.typeParameter0: Int where X : In<O> get() = 0
}
+10 -10
View File
@@ -46,21 +46,21 @@ public abstract class Test</*0*/ in I, /*1*/ out O, /*2*/ P> {
public abstract val type3: P
public abstract val type4: In<I>
public abstract val type5: In<O>
public final val </*0*/ X : In<O>> typeParameter0: kotlin.Int = 5
public final val </*0*/ X : I> typeParameter1: kotlin.Int = 8
public final val </*0*/ X : O> typeParameter2: kotlin.Int = 13
public final val </*0*/ X : P> typeParameter3: kotlin.Int = 21
public final val </*0*/ X : In<I>> typeParameter4: kotlin.Int = 34
public final val </*0*/ X : In<O>> typeParameter5: kotlin.Int = 55
public final val </*0*/ X : I> typeParameter6: kotlin.Int = 1
public final val </*0*/ X : O> typeParameter7: kotlin.Int = 1
public final val </*0*/ X : P> typeParameter8: kotlin.Int = 2
public final val </*0*/ X : In<I>> typeParameter9: kotlin.Int = 3
public abstract val I.receiver1: kotlin.Int
public abstract val O.receiver2: kotlin.Int
public abstract val P.receiver3: kotlin.Int
public abstract val In<I>.receiver4: kotlin.Int
public abstract val In<O>.receiver5: kotlin.Int
public final val </*0*/ X : In<O>> X.typeParameter0: kotlin.Int
public final val </*0*/ X : I> X.typeParameter1: kotlin.Int
public final val </*0*/ X : O> X.typeParameter2: kotlin.Int
public final val </*0*/ X : P> X.typeParameter3: kotlin.Int
public final val </*0*/ X : In<I>> X.typeParameter4: kotlin.Int
public final val </*0*/ X : In<O>> X.typeParameter5: kotlin.Int
public final val </*0*/ X : I> X.typeParameter6: kotlin.Int
public final val </*0*/ X : O> X.typeParameter7: kotlin.Int
public final val </*0*/ X : P> X.typeParameter8: kotlin.Int
public final val </*0*/ X : In<I>> X.typeParameter9: kotlin.Int
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
+10 -10
View File
@@ -34,15 +34,15 @@ abstract class Test<in I, out O, P> {
abstract var In<<!TYPE_VARIANCE_CONFLICT(I; in; out; In<I>)!>I<!>>.receiver4: Int
abstract var In<O>.receiver5: Int
var <X : I> typeParameter1 = 8
var <X : <!TYPE_VARIANCE_CONFLICT(O; out; in; O)!>O<!>> typeParameter2 = 13
var <X : P> typeParameter3 = 21
var <X : In<<!TYPE_VARIANCE_CONFLICT(I; in; out; In<I>)!>I<!>>> typeParameter4 = 34
var <X : In<O>> typeParameter5 = 55
var <X : I> X.typeParameter1: Int get() = 0; set(i) {}
var <X : <!TYPE_VARIANCE_CONFLICT(O; out; in; O)!>O<!>> X.typeParameter2: Int get() = 0; set(i) {}
var <X : P> X.typeParameter3: Int get() = 0; set(i) {}
var <X : In<<!TYPE_VARIANCE_CONFLICT(I; in; out; In<I>)!>I<!>>> X.typeParameter4: Int get() = 0; set(i) {}
var <X : In<O>> X.typeParameter5: Int get() = 0; set(i) {}
var <X> typeParameter6 where X : I = 1
var <X> typeParameter7 where X : <!TYPE_VARIANCE_CONFLICT(O; out; in; O)!>O<!> = 1
var <X> typeParameter8 where X : P = 2
var <X> typeParameter9 where X : In<<!TYPE_VARIANCE_CONFLICT(I; in; out; In<I>)!>I<!>> = 3
var <X> typeParameter0 where X : In<O> = 5
var <X> X.typeParameter6: Int where X : I get() = 0; set(i) {}
var <X> X.typeParameter7: Int where X : <!TYPE_VARIANCE_CONFLICT(O; out; in; O)!>O<!> get() = 0; set(i) {}
var <X> X.typeParameter8: Int where X : P get() = 0; set(i) {}
var <X> X.typeParameter9: Int where X : In<<!TYPE_VARIANCE_CONFLICT(I; in; out; In<I>)!>I<!>> get() = 0; set(i) {}
var <X> X.typeParameter0: Int where X : In<O> get() = 0; set(i) {}
}
+10 -10
View File
@@ -46,21 +46,21 @@ public abstract class Test</*0*/ in I, /*1*/ out O, /*2*/ P> {
public abstract var type3: P
public abstract var type4: In<I>
public abstract var type5: In<O>
public final var </*0*/ X : In<O>> typeParameter0: kotlin.Int
public final var </*0*/ X : I> typeParameter1: kotlin.Int
public final var </*0*/ X : O> typeParameter2: kotlin.Int
public final var </*0*/ X : P> typeParameter3: kotlin.Int
public final var </*0*/ X : In<I>> typeParameter4: kotlin.Int
public final var </*0*/ X : In<O>> typeParameter5: kotlin.Int
public final var </*0*/ X : I> typeParameter6: kotlin.Int
public final var </*0*/ X : O> typeParameter7: kotlin.Int
public final var </*0*/ X : P> typeParameter8: kotlin.Int
public final var </*0*/ X : In<I>> typeParameter9: kotlin.Int
public abstract var I.receiver1: kotlin.Int
public abstract var O.receiver2: kotlin.Int
public abstract var P.receiver3: kotlin.Int
public abstract var In<I>.receiver4: kotlin.Int
public abstract var In<O>.receiver5: kotlin.Int
public final var </*0*/ X : In<O>> X.typeParameter0: kotlin.Int
public final var </*0*/ X : I> X.typeParameter1: kotlin.Int
public final var </*0*/ X : O> X.typeParameter2: kotlin.Int
public final var </*0*/ X : P> X.typeParameter3: kotlin.Int
public final var </*0*/ X : In<I>> X.typeParameter4: kotlin.Int
public final var </*0*/ X : In<O>> X.typeParameter5: kotlin.Int
public final var </*0*/ X : I> X.typeParameter6: kotlin.Int
public final var </*0*/ X : O> X.typeParameter7: kotlin.Int
public final var </*0*/ X : P> X.typeParameter8: kotlin.Int
public final var </*0*/ X : In<I>> X.typeParameter9: kotlin.Int
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