Old backing field with dollar is now forbidden

This commit is contained in:
Mikhail Glukhikh
2015-10-08 19:51:02 +03:00
parent 5117f744f7
commit 6914d09297
77 changed files with 88 additions and 637 deletions
@@ -1,11 +0,0 @@
class Flower() {
var minusOne: Int = 1
get() = field + 1
set(n: Int) { field = n - 1 }
var oldSyntax: Int = 1
get() = <!BACKING_FIELD_SYNTAX_DEPRECATED!>$oldSyntax<!> - 1
set(arg) { <!BACKING_FIELD_SYNTAX_DEPRECATED!>$oldSyntax<!> = arg + 1 }
}
@@ -1,10 +0,0 @@
package
public final class Flower {
public constructor Flower()
public final var minusOne: kotlin.Int
public final var oldSyntax: 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
}
@@ -1,7 +0,0 @@
class ReadForward() {
init {
val <!UNUSED_VARIABLE!>x<!> = <!BACKING_FIELD_USAGE_DEPRECATED, UNINITIALIZED_VARIABLE!>$a<!>
}
val a = 1
}
@@ -1,9 +0,0 @@
package
public final class ReadForward {
public constructor ReadForward()
public final val a: kotlin.Int = 1
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,4 +0,0 @@
class ReadForward() {
val a = <!BACKING_FIELD_USAGE_DEPRECATED, UNINITIALIZED_VARIABLE!>$b<!>
val b = 1
}
@@ -1,10 +0,0 @@
package
public final class ReadForward {
public constructor ReadForward()
public final val a: kotlin.Int = 1
public final val b: kotlin.Int = 1
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,6 +0,0 @@
class ReadByAnotherPropertyInitializer() {
val a = 1
init {
val <!UNUSED_VARIABLE!>x<!> = <!BACKING_FIELD_USAGE_DEPRECATED!>$a<!>
}
}
@@ -1,9 +0,0 @@
package
public final class ReadByAnotherPropertyInitializer {
public constructor ReadByAnotherPropertyInitializer()
public final val a: kotlin.Int = 1
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,4 +0,0 @@
class ReadByAnotherPropertyInitializer() {
val a = 1
val b = <!BACKING_FIELD_USAGE_DEPRECATED!>$a<!>
}
@@ -1,10 +0,0 @@
package
public final class ReadByAnotherPropertyInitializer {
public constructor ReadByAnotherPropertyInitializer()
public final val a: kotlin.Int = 1
public final val b: kotlin.Int = 1
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,4 +0,0 @@
class ReadByAnotherPropertyInitializer() {
val a = 1
fun ff() = <!BACKING_FIELD_USAGE_DEPRECATED!>$a<!>
}
@@ -1,10 +0,0 @@
package
public final class ReadByAnotherPropertyInitializer {
public constructor ReadByAnotherPropertyInitializer()
public final val a: kotlin.Int = 1
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun ff(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,172 +0,0 @@
//KT-462 Consider allowing initializing properties via property names when it is safe
//KT-598 Allow to use backing fields after this expression
package kt462
abstract class TestInitializationWithoutBackingField() {
val valWithBackingField : Int
init {
valWithBackingField = 2
}
val valWithoutBackingField : Int
get() = 42
init {
<!VAL_REASSIGNMENT!>valWithoutBackingField<!> = 45
}
var finalDefaultVar : Int
init {
finalDefaultVar = 3
}
open var openVar : Int
init {
<!INITIALIZATION_USING_BACKING_FIELD_OPEN_SETTER!>openVar<!> = 4
}
var varWithCustomSetter : Int
set(v: Int) {
field = v
}
init {
<!INITIALIZATION_USING_BACKING_FIELD_CUSTOM_SETTER!>varWithCustomSetter<!> = 3
}
var varWithoutBackingField : Int
get() = 3
set(v: Int) {}
init {
varWithoutBackingField = 4
}
abstract var abstractVar : Int
init {
abstractVar = 34
}
}
abstract class TestInitializationThroughBackingField() {
val valWithBackingField : Int
init {
<!BACKING_FIELD_USAGE_DEPRECATED!>$valWithBackingField<!> = 2
}
val valWithoutBackingField : Int
get() = 42
init {
<!NO_BACKING_FIELD_CUSTOM_ACCESSORS!>$valWithoutBackingField<!> = 45
}
var finalDefaultVar : Int
init {
<!BACKING_FIELD_USAGE_DEPRECATED!>$finalDefaultVar<!> = 3
}
open var openVar : Int
init {
<!BACKING_FIELD_USAGE_DEPRECATED!>$openVar<!> = 4
}
var varWithCustomSetter : Int
set(v: Int) {
field = v
}
init {
<!BACKING_FIELD_USAGE_DEPRECATED!>$varWithCustomSetter<!> = 3
}
var varWithoutBackingField : Int
get() = 3
set(v: Int) {}
init {
<!NO_BACKING_FIELD_CUSTOM_ACCESSORS!>$varWithoutBackingField<!> = 4
}
abstract var abstractVar : Int
init {
<!NO_BACKING_FIELD_ABSTRACT_PROPERTY!>$abstractVar<!> = 34
}
}
class TestBackingFieldsVisibility() {
var a : Int = 712
init {
<!BACKING_FIELD_USAGE_DEPRECATED!>$a<!> = 37
this.$a = 357
}
fun foo() {
<!BACKING_FIELD_USAGE_DEPRECATED!>$a<!> = 334
this.$a = 347
}
fun foo(a: TestBackingFieldsVisibility) {
val <!UNUSED_VARIABLE!>b<!> : Int = 3
<!UNRESOLVED_REFERENCE!>$b<!> = 342
<!INACCESSIBLE_BACKING_FIELD!>a.$a<!> = 3
}
val x = <!INACCESSIBLE_BACKING_FIELD!>$topLevelVar<!>
inner class Inner() {
val z = this@TestBackingFieldsVisibility.<!BACKING_FIELD_USAGE_DEPRECATED!>$x<!>
}
<!ABSTRACT_PROPERTY_IN_NON_ABSTRACT_CLASS!>abstract<!> val w = 11
get() = field //test there is no second error here
}
val topLevelVar = 11
class T() {
val z : Int get() = 42
init {
<!NO_BACKING_FIELD_CUSTOM_ACCESSORS!>this.$z<!> = 34
}
fun foo() {
<!NO_BACKING_FIELD_CUSTOM_ACCESSORS!>this.$z<!> = 343
}
val a = object {
val x = <!NO_BACKING_FIELD_CUSTOM_ACCESSORS!>$z<!>
init {
<!NO_BACKING_FIELD_CUSTOM_ACCESSORS!>$z<!> = 23
}
}
var x: Int = 2
get() {
val <!UNUSED_VARIABLE!>o<!> = object {
init {
field = 34
}
fun foo() {
field = 23
}
}
return 1
}
var r: Int = <!BACKING_FIELD_USAGE_DEPRECATED!>$x<!>
set(v: Int) {
if (true) {
field = 33
}
else {
field = 35
}
}
fun bar() {
<!BACKING_FIELD_USAGE_DEPRECATED!>$x<!> = 34
val <!UNUSED_VARIABLE!>o<!> = object {
val y = <!BACKING_FIELD_USAGE_DEPRECATED!>$x<!>
init {
<!BACKING_FIELD_USAGE_DEPRECATED!>$x<!> = 422
}
}
}
}
@@ -1,66 +0,0 @@
package
package kt462 {
public val topLevelVar: kotlin.Int = 11
public final class T {
public constructor T()
public final val a: kotlin.Any
public final var r: kotlin.Int
public final var x: kotlin.Int
public final val z: kotlin.Int
public final fun bar(): kotlin.Unit
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
}
public final class TestBackingFieldsVisibility {
public constructor TestBackingFieldsVisibility()
public final var a: kotlin.Int
public abstract val w: kotlin.Int = 11
public final val x: kotlin.Int = 11
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
public final fun foo(/*0*/ a: kt462.TestBackingFieldsVisibility): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner {
public constructor Inner()
public final val z: kotlin.Int = 11
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 abstract class TestInitializationThroughBackingField {
public constructor TestInitializationThroughBackingField()
public abstract var abstractVar: kotlin.Int
public final var finalDefaultVar: kotlin.Int
public open var openVar: kotlin.Int
public final val valWithBackingField: kotlin.Int
public final val valWithoutBackingField: kotlin.Int
public final var varWithCustomSetter: kotlin.Int
public final var varWithoutBackingField: 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
}
public abstract class TestInitializationWithoutBackingField {
public constructor TestInitializationWithoutBackingField()
public abstract var abstractVar: kotlin.Int
public final var finalDefaultVar: kotlin.Int
public open var openVar: kotlin.Int
public final val valWithBackingField: kotlin.Int
public final val valWithoutBackingField: kotlin.Int
public final var varWithCustomSetter: kotlin.Int
public final var varWithoutBackingField: 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
}
}