Pull Up: Move property initializers

This commit is contained in:
Alexey Sedunov
2015-07-20 14:31:59 +03:00
parent 390f352e75
commit 1a09741c0a
20 changed files with 587 additions and 20 deletions
@@ -3,7 +3,7 @@ interface I
interface Z<T>
abstract class A<T: I, U: I, V> {
abstract class A<T: I, U: I, V>(x: X, y: Y) {
// INFO: {"checked": "true"}
val foo1: T
// INFO: {"checked": "true"}
@@ -33,7 +33,7 @@ abstract class A<T: I, U: I, V> {
}
class C<W: I> {
inner class B<X: I, Y>(x: X, y: Y): A<X, I, Z<Y>>() {
inner class B<X: I, Y>(x: X, y: Y): A<X, I, Z<Y>>(x, y) {
// INFO: {"checked": "true", "toAbstract": "true"}
override val foo5 = x
@@ -0,0 +1,10 @@
open class A
class <caret>B: A {
// INFO: {"checked": "true"}
val n: Int
constructor(a: Int) {
n = a + 1
}
}
@@ -0,0 +1,14 @@
open class A(a: Int) {
// INFO: {"checked": "true"}
val n: Int
init {
n = a + 1
}
}
class B: A {
constructor(a: Int) : super(a) {
}
}
@@ -0,0 +1,14 @@
open class A
class <caret>B: A {
// INFO: {"checked": "true"}
val n: Int
constructor(a: Int) {
n = 1 + 2
}
constructor() {
n = 1 + 2
}
}
@@ -0,0 +1,17 @@
open class A {
// INFO: {"checked": "true"}
val n: Int
init {
n = 1 + 2
}
}
class B: A {
constructor(a: Int) {
}
constructor() {
}
}
@@ -0,0 +1,14 @@
open class A
class <caret>B: A {
// INFO: {"checked": "true"}
val n: Int
constructor(a: Int) {
n = a + 1
}
constructor(a: Int, b: Int) {
n = a*b
}
}
@@ -0,0 +1,15 @@
open class A {
// INFO: {"checked": "true"}
val n: Int
}
class B: A {
constructor(a: Int) {
n = a + 1
}
constructor(a: Int, b: Int) {
n = a*b
}
}
@@ -0,0 +1,11 @@
open class A
class <caret>B: A {
// INFO: {"checked": "true"}
var n: Int
constructor(a: Int) {
n = a + 1
n = a plus 1
}
}
@@ -0,0 +1,15 @@
open class A(a: Int) {
// INFO: {"checked": "true"}
var n: Int
init {
n = a + 1
}
}
class B: A {
constructor(a: Int) : super(a) {
n = a plus 1
}
}
@@ -0,0 +1,10 @@
interface T
class <caret>A: T {
// INFO: {"checked": "true"}
val n: Int
constructor(a: Int) {
n = a + 1
}
}
@@ -0,0 +1,13 @@
interface T {
// INFO: {"checked": "true"}
val n: Int
}
class A: T {
// INFO: {"checked": "true"}
override val n: Int
constructor(a: Int) {
n = a + 1
}
}
@@ -0,0 +1,6 @@
open class A
class <caret>B(a: Int): A() {
// INFO: {"checked": "true"}
val n: Int = a + 1
}
@@ -0,0 +1,7 @@
open class A(a: Int) {
// INFO: {"checked": "true"}
val n: Int = a + 1
}
class B(a: Int): A(a) {
}
@@ -0,0 +1,20 @@
open class A
class <caret>B: A {
// INFO: {"checked": "true"}
val n: Int
// INFO: {"checked": "true"}
val x: Int = 3
// INFO: {"checked": "true"}
val y: Int = 4
// INFO: {"checked": "true"}
val a: Int = 1
// INFO: {"checked": "true"}
val b: Int = x + y
constructor(p: Int) {
n = a + b - p
}
}
@@ -0,0 +1,22 @@
open class A(p: Int) {
// INFO: {"checked": "true"}
val n: Int
// INFO: {"checked": "true"}
val x: Int = 3
// INFO: {"checked": "true"}
val y: Int = 4
// INFO: {"checked": "true"}
val a: Int = 1
// INFO: {"checked": "true"}
val b: Int = x + y
init {
n = a + b - p
}
}
class B: A {
constructor(p: Int) : super(p) {
}
}
@@ -0,0 +1,20 @@
open class A
class <caret>B: A {
// INFO: {"checked": "true"}
val n: Int
// INFO: {"checked": "true"}
val x: Int = 3
// INFO: {"checked": "false"}
val y: Int = 4
// INFO: {"checked": "true"}
val a: Int = 1
// INFO: {"checked": "true"}
val b: Int = x + y
constructor(p: Int) {
n = a + b - p
}
}
@@ -0,0 +1,20 @@
open class A {
// INFO: {"checked": "true"}
val n: Int
// INFO: {"checked": "true"}
val x: Int = 3
// INFO: {"checked": "true"}
val a: Int = 1
// INFO: {"checked": "true"}
val b: Int = x + y
}
class B: A {
// INFO: {"checked": "false"}
val y: Int = 4
constructor(p: Int) {
n = a + b - p
}
}