open + data and inner + data are deprecated, a new test, relevant test fixes

This commit is contained in:
Mikhail Glukhikh
2015-09-22 12:06:52 +03:00
parent 731fdecf06
commit 58110cd0d1
17 changed files with 51 additions and 169 deletions
@@ -1,6 +1,6 @@
// !CHECK_TYPE
open data class A(private val x: Int)
<!DEPRECATED_MODIFIER_PAIR!>open<!> <!DEPRECATED_MODIFIER_PAIR!>data<!> class A(private val x: Int)
class B : A(1) {
fun component1(): String = ""
@@ -1,15 +0,0 @@
open data class A(private val x: Int, protected val y: String, public val z: Any)
fun foo(a: A) {
a.<!INVISIBLE_MEMBER!>component1<!>()
a.<!INVISIBLE_MEMBER!>component2<!>()
a.component3()
}
class B : A(42, "", "") {
fun foo() {
this.<!INVISIBLE_MEMBER!>component1<!>()
this.component2()
this.component3()
}
}
@@ -1,32 +0,0 @@
package
public fun foo(/*0*/ a: A): kotlin.Unit
@kotlin.data() public open class A {
public constructor A(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.String, /*2*/ z: kotlin.Any)
private final val x: kotlin.Int
protected final val y: kotlin.String
public final val z: kotlin.Any
private final /*synthesized*/ fun component1(): kotlin.Int
protected final /*synthesized*/ fun component2(): kotlin.String
public final /*synthesized*/ fun component3(): kotlin.Any
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.Int = ..., /*1*/ y: kotlin.String = ..., /*2*/ z: kotlin.Any = ...): A
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 final class B : A {
public constructor B()
invisible_fake final override /*1*/ /*fake_override*/ val x: kotlin.Int
protected final override /*1*/ /*fake_override*/ val y: kotlin.String
public final override /*1*/ /*fake_override*/ val z: kotlin.Any
invisible_fake final override /*1*/ /*fake_override*/ fun component1(): kotlin.Int
protected final override /*1*/ /*fake_override*/ fun component2(): kotlin.String
public final override /*1*/ /*fake_override*/ fun component3(): kotlin.Any
public final override /*1*/ /*fake_override*/ fun copy(/*0*/ x: kotlin.Int = ..., /*1*/ y: kotlin.String = ..., /*2*/ z: kotlin.Any = ...): A
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
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,11 +0,0 @@
open data class A(val x: Int, val y: String)
class B : A(42, "OK") {
<!OVERRIDING_FINAL_MEMBER!>override<!> fun component1(): Int = 21
<!OVERRIDING_FINAL_MEMBER!>override<!> fun component2(): <!RETURN_TYPE_MISMATCH_ON_OVERRIDE!>Int<!> = 21
}
fun foo(b: B) {
b.component1()
b.component2()
}
@@ -1,27 +0,0 @@
package
public fun foo(/*0*/ b: B): kotlin.Unit
@kotlin.data() public open class A {
public constructor A(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.String)
public final val x: kotlin.Int
public final val y: kotlin.String
public final /*synthesized*/ fun component1(): kotlin.Int
public final /*synthesized*/ fun component2(): kotlin.String
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.Int = ..., /*1*/ y: kotlin.String = ...): A
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 final class B : A {
public constructor B()
public final override /*1*/ /*fake_override*/ val x: kotlin.Int
public final override /*1*/ /*fake_override*/ val y: kotlin.String
public open override /*1*/ fun component1(): kotlin.Int
public open override /*1*/ fun component2(): kotlin.Int
public final override /*1*/ /*fake_override*/ fun copy(/*0*/ x: kotlin.Int = ..., /*1*/ y: kotlin.String = ...): A
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
}
@@ -1,3 +0,0 @@
open data class A(val x: Int, val y: String)
<!DATA_CLASS_OVERRIDE_CONFLICT!>data<!> class B(val z: String) : A(42, "")
@@ -1,27 +0,0 @@
package
@kotlin.data() public open class A {
public constructor A(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.String)
public final val x: kotlin.Int
public final val y: kotlin.String
public final /*synthesized*/ fun component1(): kotlin.Int
public final /*synthesized*/ fun component2(): kotlin.String
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.Int = ..., /*1*/ y: kotlin.String = ...): A
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
}
@kotlin.data() public final class B : A {
public constructor B(/*0*/ z: kotlin.String)
public final override /*1*/ /*fake_override*/ val x: kotlin.Int
public final override /*1*/ /*fake_override*/ val y: kotlin.String
public final val z: kotlin.String
public final override /*1*/ /*synthesized*/ fun component1(): kotlin.String
public final override /*1*/ /*fake_override*/ fun component2(): kotlin.String
public final override /*1*/ /*fake_override*/ fun copy(/*0*/ x: kotlin.Int = ..., /*1*/ y: kotlin.String = ...): A
public final /*synthesized*/ fun copy(/*0*/ z: kotlin.String = ...): B
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
}
@@ -0,0 +1,3 @@
class Outer {
<!DEPRECATED_MODIFIER_PAIR!>inner<!> <!DEPRECATED_MODIFIER_PAIR!>data<!> class Inner(val x: Int)
}
@@ -0,0 +1,18 @@
package
public final class Outer {
public constructor Outer()
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
@kotlin.data() public final inner class Inner {
public constructor Inner(/*0*/ x: kotlin.Int)
public final val x: kotlin.Int
public final /*synthesized*/ fun component1(): kotlin.Int
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.Int = ...): Outer.Inner
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
}
}
@@ -1,3 +0,0 @@
open data class D(private final val x: Int)
data class E(internal <!CANNOT_OVERRIDE_INVISIBLE_MEMBER!>override<!> val x: Int) : D(42)
@@ -1,21 +0,0 @@
package
@kotlin.data() public open class D {
public constructor D(/*0*/ x: kotlin.Int)
private final val x: kotlin.Int
private final /*synthesized*/ fun component1(): kotlin.Int
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.Int = ...): D
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
}
@kotlin.data() public final class E : D {
public constructor E(/*0*/ x: kotlin.Int)
internal open val x: kotlin.Int
internal final /*synthesized*/ fun component1(): kotlin.Int
public final override /*1*/ /*synthesized*/ fun copy(/*0*/ x: kotlin.Int = ...): E
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
}
@@ -14,7 +14,7 @@ fun foo(map: MutableMap<Int, String>, value: String?) {
//---------------------------
public data open class Tag(public var tagName: String) {
public data class Tag(public var tagName: String) {
public val attributes: MutableMap<String, String> = HashMap<String, String>()
public val contents: MutableList<Tag> = arrayListOf()
@@ -5,7 +5,7 @@ package a {
public fun foo(/*0*/ map: kotlin.MutableMap<kotlin.Int, kotlin.String>, /*1*/ value: kotlin.String?): kotlin.Unit
public fun </*0*/ K, /*1*/ V> kotlin.MutableMap<K, V>.set(/*0*/ key: K, /*1*/ value: V): V?
@kotlin.data() public open class Tag {
@kotlin.data() public final class Tag {
public constructor Tag(/*0*/ tagName: kotlin.String)
public final val attributes: kotlin.MutableMap<kotlin.String, kotlin.String>
public final val contents: kotlin.MutableList<a.Tag>