"field": deprecated warnings introduced, compiler tests migrated to the new syntax

This commit is contained in:
Mikhail Glukhikh
2015-09-17 18:58:30 +03:00
committed by Mikhail Glukhikh
parent 028e0ec59a
commit a1e3471d92
64 changed files with 154 additions and 149 deletions
@@ -318,6 +318,9 @@ public interface Errors {
DiagnosticFactory0<PsiElement> INAPPLICABLE_LATEINIT_MODIFIER = DiagnosticFactory0.create(ERROR);
DiagnosticFactory0<JetProperty> BACKING_FIELD_IN_TRAIT = DiagnosticFactory0.create(ERROR, DECLARATION_SIGNATURE);
DiagnosticFactory0<JetSimpleNameExpression> BACKING_FIELD_SYNTAX_DEPRECATED = DiagnosticFactory0.create(WARNING);
DiagnosticFactory0<JetSimpleNameExpression> BACKING_FIELD_USAGE_DEPRECATED = DiagnosticFactory0.create(WARNING);
DiagnosticFactory2<JetModifierListOwner, String, ClassDescriptor> ABSTRACT_PROPERTY_IN_NON_ABSTRACT_CLASS = DiagnosticFactory2.create(ERROR, ABSTRACT_MODIFIER);
DiagnosticFactory0<JetPropertyAccessor> VAL_WITH_SETTER = DiagnosticFactory0.create(ERROR);
@@ -157,6 +157,9 @@ public class DefaultErrorMessages {
MAP.put(INACCESSIBLE_BACKING_FIELD, "The backing field is not accessible here");
MAP.put(NOT_PROPERTY_BACKING_FIELD, "The referenced variable is not a property and doesn't have backing field");
MAP.put(BACKING_FIELD_SYNTAX_DEPRECATED, "This backing field syntax is deprecated, use 'field' instead");
MAP.put(BACKING_FIELD_USAGE_DEPRECATED, "Backing field usage is deprecated here, soon it will be possible only in property accessors");
MAP.put(MIXING_NAMED_AND_POSITIONED_ARGUMENTS, "Mixing named and positioned arguments is not allowed");
MAP.put(ARGUMENT_PASSED_TWICE, "An argument is already passed for this parameter");
MAP.put(NAMED_PARAMETER_NOT_FOUND, "Cannot find a parameter with this name: {0}", ELEMENT_TEXT);
@@ -25,11 +25,9 @@ import kotlin.jvm.functions.Function1;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.descriptors.annotations.Annotations;
import org.jetbrains.kotlin.descriptors.impl.LocalVariableDescriptor;
import org.jetbrains.kotlin.descriptors.impl.SyntheticFieldDescriptor;
import org.jetbrains.kotlin.diagnostics.Errors;
import org.jetbrains.kotlin.lexer.JetTokens;
import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.psi.*;
import org.jetbrains.kotlin.psi.psiUtil.PsiUtilPackage;
import org.jetbrains.kotlin.resolve.calls.CallResolver;
@@ -41,7 +39,6 @@ import org.jetbrains.kotlin.resolve.calls.util.CallMaker;
import org.jetbrains.kotlin.resolve.lazy.ForceResolveUtil;
import org.jetbrains.kotlin.resolve.scopes.*;
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue;
import org.jetbrains.kotlin.resolve.source.KotlinSourceElementKt;
import org.jetbrains.kotlin.types.*;
import org.jetbrains.kotlin.types.expressions.ExpressionTypingContext;
import org.jetbrains.kotlin.types.expressions.ExpressionTypingServices;
@@ -55,7 +52,6 @@ import java.util.*;
import static org.jetbrains.kotlin.diagnostics.Errors.*;
import static org.jetbrains.kotlin.resolve.BindingContext.*;
import static org.jetbrains.kotlin.resolve.scopes.utils.UtilsPackage.asJetScope;
import static org.jetbrains.kotlin.types.TypeUtils.NO_EXPECTED_TYPE;
public class BodyResolver {
@@ -652,6 +648,7 @@ public class BodyResolver {
// This check may be considered redundant as long as $x is only accessible from accessors to $x
if (descriptor == propertyDescriptor) { // TODO : original?
trace.record(BindingContext.BACKING_FIELD_REQUIRED, propertyDescriptor); // TODO: this trace?
trace.report(Errors.BACKING_FIELD_SYNTAX_DEPRECATED.on(simpleNameExpression));
}
}
if (descriptor instanceof SyntheticFieldDescriptor) {
@@ -4,9 +4,9 @@ open class Base() {
get() = 239
public var readwrite : Int = 0
get() = $readwrite + 1
get() = field + 1
set(n : Int) {
$readwrite = n
field = n
}
}
+4 -4
View File
@@ -1,19 +1,19 @@
public var inc: Int = 0;
public var propInc: Int = 0
get() {++inc; return $propInc}
get() {++inc; return field}
set(a: Int) {
++inc
$propInc = a
field = a
}
public var dec: Int = 0;
public var propDec: Int = 0;
get() { --dec; return $propDec}
get() { --dec; return field}
set(a: Int) {
--dec
$propDec = a
field = a
}
fun box(): String {
@@ -16,11 +16,11 @@ class Z {
public var prop: X = X(0)
get() {
counter++; return $prop
counter++; return field
}
set(a: X) {
counter++
$prop = a;
field = a;
}
}
@@ -1,19 +1,19 @@
public var inc: Int = 0;
public var propInc: Int = 0
get() {inc++; return $propInc}
get() {inc++; return field}
set(a: Int) {
inc++
$propInc = a
field = a
}
public var dec: Int = 0;
public var propDec: Int = 0;
get() { dec--; return $propDec}
get() { dec--; return field}
set(a: Int) {
dec--
$propDec = a
field = a
}
fun box(): String {
@@ -33,7 +33,7 @@ class C {
class D {
private var foo = 1
set(i: Int) {
$foo = i + 1
field = i + 1
}
fun foo() {
@@ -9,7 +9,7 @@ class Test {
public val prop3: Int = 12
get() {
return $prop3
return field
}
var prop4 : Int = 13
@@ -23,7 +23,7 @@ class Test {
public var prop7 : Int = 20
set(i: Int) {
$prop7++
field++
}
}
+2 -2
View File
@@ -24,8 +24,8 @@ open class A(val init: String) {
}
public var backingField : Int = 0
get() = $backingField.myInc
set(s) { $backingField = s }
get() = field.myInc
set(s) { field = s }
}
+1 -1
View File
@@ -2,7 +2,7 @@ class TestObject()
{
companion object {
var prop: Int = 1
get() = $prop++
get() = field++
}
}
@@ -14,7 +14,7 @@ class A {
var r2: Int = 1;
get() {
holder += "getR2"
return $r2
return field
}
fun test2() : Int {
@@ -26,7 +26,7 @@ class A {
var r3: Int = 1;
set(p: Int) {
holder += "setR3"
$r3 = p
field = p
}
fun test3() : Int {
@@ -38,11 +38,11 @@ class A {
var r4: Int = 1;
get() {
holder += "getR4"
return $r4
return field
}
set(p: Int) {
holder += "setR4"
$r4 = p
field = p
}
fun test4() : Int {
+4 -4
View File
@@ -12,7 +12,7 @@ object A {
var r2: Int = 1;
get() {
holder += "getR2"
return $r2
return field
}
fun test2() : Int {
@@ -24,7 +24,7 @@ object A {
var r3: Int = 1;
set(p: Int) {
holder += "setR3"
$r3 = p
field = p
}
fun test3() : Int {
@@ -36,11 +36,11 @@ object A {
var r4: Int = 1;
get() {
holder += "getR4"
return $r4
return field
}
set(p: Int) {
holder += "setR4"
$r4 = p
field = p
}
fun test4() : Int {
@@ -2,7 +2,7 @@ var holder = ""
var globalA: A = A(-1)
get(): A {
holder += "getA"
return $globalA
return field
}
+1 -1
View File
@@ -10,7 +10,7 @@ class A {
class B {
var foo = 1
private set(value) { $foo = value }
private set(value) { field = value }
fun foo() {
foo = 2
+1 -1
View File
@@ -1,5 +1,5 @@
var collector: String = ""
set(it) { $collector = $collector + it }
set(it) { field = field + it }
fun append(s: String): String {
collector = s;
+1 -1
View File
@@ -1,5 +1,5 @@
var collector: String = ""
set(it) { $collector += it }
set(it) { field += it }
fun append(s: String): String {
collector = s;
@@ -2,7 +2,7 @@ package a
val prop: Int = 0
get() {
return $prop + 1
return field + 1
}
// 2 INVOKESTATIC a/_1Kt.getProp \(\)I
+4 -4
View File
@@ -11,10 +11,10 @@ package MyPackage
<!MUST_BE_INITIALIZED!><!WRONG_MODIFIER_TARGET!>abstract<!> var b2: Int<!> private set
<!WRONG_MODIFIER_TARGET!>abstract<!> var b3: Int = 0; private set
<!MUST_BE_INITIALIZED!>var c: Int<!> set(v: Int) { $c = v }
var c1: Int = 0; set(v: Int) { $c1 = v }
<!MUST_BE_INITIALIZED!><!WRONG_MODIFIER_TARGET!>abstract<!> var c2: Int<!> set(v: Int) { $c2 = v }
<!WRONG_MODIFIER_TARGET!>abstract<!> var c3: Int = 0; set(v: Int) { $c3 = v }
<!MUST_BE_INITIALIZED!>var c: Int<!> set(v: Int) { field = v }
var c1: Int = 0; set(v: Int) { field = v }
<!MUST_BE_INITIALIZED!><!WRONG_MODIFIER_TARGET!>abstract<!> var c2: Int<!> set(v: Int) { field = v }
<!WRONG_MODIFIER_TARGET!>abstract<!> var c3: Int = 0; set(v: Int) { field = v }
val e: Int get() = a
val e1: Int = <!PROPERTY_INITIALIZER_NO_BACKING_FIELD!>0<!>; get() = a
@@ -12,10 +12,10 @@ abstract class MyAbstractClass() {
abstract var b2: Int private set
abstract var b3: Int = <!ABSTRACT_PROPERTY_WITH_INITIALIZER!>0<!>; private set
<!MUST_BE_INITIALIZED!>var c: Int<!> set(v: Int) { $c = v }
var c1: Int = 0; set(v: Int) { $c1 = v }
abstract var c2: Int <!ABSTRACT_PROPERTY_WITH_SETTER!>set(v: Int) { $c2 = v }<!>
abstract var c3: Int = <!ABSTRACT_PROPERTY_WITH_INITIALIZER!>0<!>; <!ABSTRACT_PROPERTY_WITH_SETTER!>set(v: Int) { $c3 = v }<!>
<!MUST_BE_INITIALIZED!>var c: Int<!> set(v: Int) { field = v }
var c1: Int = 0; set(v: Int) { field = v }
abstract var c2: Int <!ABSTRACT_PROPERTY_WITH_SETTER!>set(v: Int) { field = v }<!>
abstract var c3: Int = <!ABSTRACT_PROPERTY_WITH_INITIALIZER!>0<!>; <!ABSTRACT_PROPERTY_WITH_SETTER!>set(v: Int) { field = v }<!>
val e: Int get() = a
val e1: Int = <!PROPERTY_INITIALIZER_NO_BACKING_FIELD!>0<!>; get() = a
+4 -4
View File
@@ -12,10 +12,10 @@ class MyClass() {
<!ABSTRACT_PROPERTY_IN_NON_ABSTRACT_CLASS!>abstract<!> var b2: Int private set
<!ABSTRACT_PROPERTY_IN_NON_ABSTRACT_CLASS!>abstract<!> var b3: Int = 0; private set
<!MUST_BE_INITIALIZED!>var c: Int<!> set(v: Int) { $c = v }
var c1: Int = 0; set(v: Int) { $c1 = v }
<!ABSTRACT_PROPERTY_IN_NON_ABSTRACT_CLASS!>abstract<!> var c2: Int set(v: Int) { $c2 = v }
<!ABSTRACT_PROPERTY_IN_NON_ABSTRACT_CLASS!>abstract<!> var c3: Int = 0; set(v: Int) { $c3 = v }
<!MUST_BE_INITIALIZED!>var c: Int<!> set(v: Int) { field = v }
var c1: Int = 0; set(v: Int) { field = v }
<!ABSTRACT_PROPERTY_IN_NON_ABSTRACT_CLASS!>abstract<!> var c2: Int set(v: Int) { field = v }
<!ABSTRACT_PROPERTY_IN_NON_ABSTRACT_CLASS!>abstract<!> var c3: Int = 0; set(v: Int) { field = v }
val e: Int get() = a
val e1: Int = <!PROPERTY_INITIALIZER_NO_BACKING_FIELD!>0<!>; get() = a
+4 -4
View File
@@ -12,10 +12,10 @@ interface MyTrait {
<!ABSTRACT_MODIFIER_IN_TRAIT!>abstract<!> var b2: Int private set
<!ABSTRACT_MODIFIER_IN_TRAIT!>abstract<!> var b3: Int = <!ABSTRACT_PROPERTY_WITH_INITIALIZER!>0<!>; private set
<!BACKING_FIELD_IN_TRAIT!>var c: Int<!> set(v: Int) { $c = v }
<!BACKING_FIELD_IN_TRAIT!>var c1: Int<!> = <!PROPERTY_INITIALIZER_IN_TRAIT!>0<!>; set(v: Int) { $c1 = v }
<!ABSTRACT_MODIFIER_IN_TRAIT!>abstract<!> var c2: Int <!ABSTRACT_PROPERTY_WITH_SETTER!>set(v: Int) { $c2 = v }<!>
<!ABSTRACT_MODIFIER_IN_TRAIT!>abstract<!> var c3: Int = <!ABSTRACT_PROPERTY_WITH_INITIALIZER!>0<!>; <!ABSTRACT_PROPERTY_WITH_SETTER!>set(v: Int) { $c3 = v }<!>
<!BACKING_FIELD_IN_TRAIT!>var c: Int<!> set(v: Int) { field = v }
<!BACKING_FIELD_IN_TRAIT!>var c1: Int<!> = <!PROPERTY_INITIALIZER_IN_TRAIT!>0<!>; set(v: Int) { field = v }
<!ABSTRACT_MODIFIER_IN_TRAIT!>abstract<!> var c2: Int <!ABSTRACT_PROPERTY_WITH_SETTER!>set(v: Int) { field = v }<!>
<!ABSTRACT_MODIFIER_IN_TRAIT!>abstract<!> var c3: Int = <!ABSTRACT_PROPERTY_WITH_INITIALIZER!>0<!>; <!ABSTRACT_PROPERTY_WITH_SETTER!>set(v: Int) { field = v }<!>
val e: Int get() = a
val e1: Int = <!PROPERTY_INITIALIZER_IN_TRAIT!>0<!>; get() = a
+1 -1
View File
@@ -32,7 +32,7 @@ public abstract class A<T: Any, V: String?>(<!INAPPLICABLE_LATEINIT_MODIFIER!>la
get() = "A"
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit<!> var e9: String
set(v) { $e9 = v }
set(v) { field = v }
abstract <!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit<!> val e10: String
+2 -2
View File
@@ -1,8 +1,8 @@
var x : Int = 1 + <!UNINITIALIZED_VARIABLE!>x<!>
get() : Int = 1
set(value : <!WRONG_SETTER_PARAMETER_TYPE!>Long<!>) {
$x = value.toInt()
$x = <!TYPE_MISMATCH!>1.toLong()<!>
field = value.toInt()
field = <!TYPE_MISMATCH!>1.toLong()<!>
}
val xx : Int = <!PROPERTY_INITIALIZER_NO_BACKING_FIELD!>1 + x<!>
+1 -1
View File
@@ -35,7 +35,7 @@ class MyTest() {
var i: Int = 23
doSmth(i)
<!UNUSED_VALUE!>i =<!> 34
$a = v
field = v
}
init {
@@ -1,7 +1,11 @@
class Flower() {
var minusOne: Int = 1
get() = $minusOne + 1
set(n: Int) { $minusOne = n - 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 }
}
@@ -3,6 +3,7 @@ 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,4 +1,4 @@
class CustomGetVal() {
val zz = 1
get() = $zz * 2
get() = field * 2
}
@@ -1,3 +1,3 @@
package customGetValGlobal
val zz = 1
get() = $zz * 2
get() = field * 2
@@ -1,4 +1,4 @@
class Raise() {
var zz = 1
get() = $zz * 2
get() = field * 2
}
@@ -1,4 +1,4 @@
class Raise() {
var zz = 1
set(it) { $zz = it / 2 }
set(it) { field = it / 2 }
}
@@ -27,7 +27,7 @@ abstract class TestInitializationWithoutBackingField() {
var varWithCustomSetter : Int
set(v: Int) {
$varWithCustomSetter = v
field = v
}
init {
<!INITIALIZATION_USING_BACKING_FIELD_CUSTOM_SETTER!>varWithCustomSetter<!> = 3
@@ -70,7 +70,7 @@ abstract class TestInitializationThroughBackingField() {
var varWithCustomSetter : Int
set(v: Int) {
$varWithCustomSetter = v
field = v
}
init {
$varWithCustomSetter = 3
@@ -114,7 +114,7 @@ class TestBackingFieldsVisibility() {
}
<!ABSTRACT_PROPERTY_IN_NON_ABSTRACT_CLASS!>abstract<!> val w = 11
get() = $w //test there is no second error here
get() = field //test there is no second error here
}
val topLevelVar = 11
@@ -141,10 +141,10 @@ class T() {
get() {
val <!UNUSED_VARIABLE!>o<!> = object {
init {
$x = 34
field = 34
}
fun foo() {
$x = 23
field = 23
}
}
return 1
@@ -153,10 +153,10 @@ class T() {
var r: Int = $x
set(v: Int) {
if (true) {
$r = 33
field = 33
}
else {
$r = 35
field = 35
}
}
@@ -6,7 +6,7 @@ val z : Int = 34
val y : Int = 11
get() {
return $y
return field
}
val x : Int
@@ -5,7 +5,7 @@ import java.util.HashSet
val a: MutableSet<String>? = null
get() {
if (a == null) {
$a = HashSet()
field = HashSet()
}
return a
}
@@ -14,7 +14,7 @@ class R {
val b: String? = null
get() {
if (b == null) {
$b = "b"
field = "b"
}
return b
}
@@ -19,7 +19,7 @@ class A() {
val a : A = A()
get() {
c0++
return $a
return field
}
fun box() : String {
@@ -29,7 +29,7 @@ class A {
get() {
val x : Int
doSmth(<!UNINITIALIZED_VARIABLE!>x<!>)
return $a
return field
}
}
+4 -4
View File
@@ -14,10 +14,10 @@ enum class MyEnum() {
abstract var b2: Int private set
abstract var b3: Int = <!ABSTRACT_PROPERTY_WITH_INITIALIZER!>0<!>; private set
<!MUST_BE_INITIALIZED!>var c: Int<!> set(v: Int) { $c = v }
var c1: Int = 0; set(v: Int) { $c1 = v }
abstract var c2: Int <!ABSTRACT_PROPERTY_WITH_SETTER!>set(v: Int) { $c2 = v }<!>
abstract var c3: Int = <!ABSTRACT_PROPERTY_WITH_INITIALIZER!>0<!>; <!ABSTRACT_PROPERTY_WITH_SETTER!>set(v: Int) { $c3 = v }<!>
<!MUST_BE_INITIALIZED!>var c: Int<!> set(v: Int) { field = v }
var c1: Int = 0; set(v: Int) { field = v }
abstract var c2: Int <!ABSTRACT_PROPERTY_WITH_SETTER!>set(v: Int) { field = v }<!>
abstract var c3: Int = <!ABSTRACT_PROPERTY_WITH_INITIALIZER!>0<!>; <!ABSTRACT_PROPERTY_WITH_SETTER!>set(v: Int) { field = v }<!>
val e: Int get() = a
val e1: Int = <!PROPERTY_INITIALIZER_NO_BACKING_FIELD!>0<!>; get() = a
@@ -16,7 +16,7 @@ abstract class Test() {
val c4 : Int
get() = 1
<!MUST_BE_INITIALIZED!>val c5 : Int<!>
get() = $c5 + 1
get() = field + 1
abstract var y : Int
abstract var y1 : Int get
@@ -32,8 +32,8 @@ abstract class Test() {
<!MUST_BE_INITIALIZED!>var v3 : Int<!> get() = 1; set
var v4 : Int get() = 1; set(x){}
<!MUST_BE_INITIALIZED!>var v5 : Int<!> get() = 1; set(x){$v5 = x}
<!MUST_BE_INITIALIZED!>var v6 : Int<!> get() = $v6 + 1; set(x){}
<!MUST_BE_INITIALIZED!>var v5 : Int<!> get() = 1; set(x){field = x}
<!MUST_BE_INITIALIZED!>var v6 : Int<!> get() = field + 1; set(x){}
abstract val v7 : Int get
abstract var v8 : Int get set
@@ -15,7 +15,7 @@ abstract class A() {
class FinalClass() {
<!NON_FINAL_MEMBER_IN_FINAL_CLASS!>open<!> fun foo() {}
val i: Int = 1
<!WRONG_MODIFIER_TARGET!>open<!> get(): Int = $i
<!WRONG_MODIFIER_TARGET!>open<!> get(): Int = field
var j: Int = 1
<!WRONG_MODIFIER_TARGET!>open<!> set(v: Int) {}
}
+4 -4
View File
@@ -2,7 +2,7 @@ class A() {
var x: Int = 0
get() = <!TYPE_MISMATCH!>"s"<!>
set(value: <!WRONG_SETTER_PARAMETER_TYPE!>String<!>) {
$x = <!TYPE_MISMATCH!>value<!>
field = <!TYPE_MISMATCH!>value<!>
}
val y: Int
get(): <!WRONG_GETTER_RETURN_TYPE!>String<!> = "s"
@@ -13,7 +13,7 @@ class A() {
var a: Any = 1
set(v: <!WRONG_SETTER_PARAMETER_TYPE!>String<!>) {
$a = v
field = v
}
val b: Int
get(): <!WRONG_GETTER_RETURN_TYPE!>Any<!> = "s"
@@ -23,11 +23,11 @@ class A() {
}
val d = 1
get() {
return $d
return field
}
val e = 1
get(): <!WRONG_GETTER_RETURN_TYPE!>String<!> {
return <!TYPE_MISMATCH!>$e<!>
return <!TYPE_MISMATCH!>field<!>
}
}
@@ -12,7 +12,7 @@ class Test {
public val prop3: Int = 12
get() {
return $prop3
return field
}
var prop4 : Int = 13
@@ -25,7 +25,7 @@ class Test {
public var prop7 : Int = 20
set(i: Int) {
$prop7++
field++
}
}
}
@@ -12,7 +12,7 @@ interface Test {
public val prop3: Int = 12
get() {
return $prop3
return field
}
var prop4 : Int = 13
@@ -25,7 +25,7 @@ interface Test {
public var prop7 : Int = 20
set(i: Int) {
$prop7++
field++
}
}
}
@@ -2,7 +2,7 @@ class Test {
companion object {
public val prop: Int = 0
get() {
return $prop
return field
}
}
}
@@ -2,7 +2,7 @@ class Test {
companion object {
public var prop: Int = 0
set(i : Int) {
$prop = i
field = i
}
}
}
@@ -2,7 +2,7 @@ interface Test {
companion object {
public val prop: Int = 0
get() {
return $prop
return field
}
}
}
@@ -2,7 +2,7 @@ interface Test {
companion object {
public var prop: Int = 0
set(i : Int) {
$prop = i
field = i
}
}
}
+20 -20
View File
@@ -13,10 +13,10 @@ class MyClass() {
<error>abstract</error> var b2: Int private set
<error>abstract</error> var b3: Int = 0; private set
<error>var c: Int</error> set(v: Int) { $c = v }
var c1: Int = 0; set(v: Int) { $c1 = v }
<error>abstract</error> var c2: Int set(v: Int) { $c2 = v }
<error>abstract</error> var c3: Int = 0; set(v: Int) { $c3 = v }
<error>var c: Int</error> set(v: Int) { field = v }
var c1: Int = 0; set(v: Int) { field = v }
<error>abstract</error> var c2: Int set(v: Int) { field = v }
<error>abstract</error> var c3: Int = 0; set(v: Int) { field = v }
val e: Int get() = a
val e1: Int = <error>0</error>; get() = a
@@ -44,10 +44,10 @@ abstract class MyAbstractClass() {
abstract var b2: Int private set
abstract var b3: Int = <error>0</error>; private set
<error>var c: Int</error> set(v: Int) { $c = v }
var c1: Int = 0; set(v: Int) { $c1 = v }
abstract var c2: Int <error>set(v: Int) { $c2 = v }</error>
abstract var c3: Int = <error>0</error>; <error>set(v: Int) { $c3 = v }</error>
<error>var c: Int</error> set(v: Int) { field = v }
var c1: Int = 0; set(v: Int) { field = v }
abstract var c2: Int <error>set(v: Int) { field = v }</error>
abstract var c3: Int = <error>0</error>; <error>set(v: Int) { field = v }</error>
val e: Int get() = a
val e1: Int = <error>0</error>; get() = a
@@ -75,10 +75,10 @@ interface MyTrait {
<warning>abstract</warning> var b2: Int private set
<warning>abstract</warning> var b3: Int = <error>0</error>; private set
<error>var c: Int</error> set(v: Int) { $c = v }
<error>var c1: Int</error> = <error>0</error>; set(v: Int) { $c1 = v }
<warning>abstract</warning> var c2: Int <error>set(v: Int) { $c2 = v }</error>
<warning>abstract</warning> var c3: Int = <error>0</error>; <error>set(v: Int) { $c3 = v }</error>
<error>var c: Int</error> set(v: Int) { field = v }
<error>var c1: Int</error> = <error>0</error>; set(v: Int) { field = v }
<warning>abstract</warning> var c2: Int <error>set(v: Int) { field = v }</error>
<warning>abstract</warning> var c3: Int = <error>0</error>; <error>set(v: Int) { field = v }</error>
val e: Int get() = a
val e1: Int = <error>0</error>; get() = a
@@ -107,10 +107,10 @@ enum class MyEnum() {
abstract var b2: Int private set
abstract var b3: Int = <error>0</error>; private set
<error>var c: Int</error> set(v: Int) { $c = v }
var c1: Int = 0; set(v: Int) { $c1 = v }
abstract var c2: Int <error>set(v: Int) { $c2 = v }</error>
abstract var c3: Int = <error>0</error>; <error>set(v: Int) { $c3 = v }</error>
<error>var c: Int</error> set(v: Int) { field = v }
var c1: Int = 0; set(v: Int) { field = v }
abstract var c2: Int <error>set(v: Int) { field = v }</error>
abstract var c3: Int = <error>0</error>; <error>set(v: Int) { field = v }</error>
val e: Int get() = a
val e1: Int = <error>0</error>; get() = a
@@ -139,10 +139,10 @@ var b1: Int = 0; private set
<error><error>abstract</error> var b2: Int</error> private set
<error>abstract</error> var b3: Int = 0; private set
<error>var c: Int</error> set(v: Int) { $c = v }
var c1: Int = 0; set(v: Int) { $c1 = v }
<error><error>abstract</error> var c2: Int</error> set(v: Int) { $c2 = v }
<error>abstract</error> var c3: Int = 0; set(v: Int) { $c3 = v }
<error>var c: Int</error> set(v: Int) { field = v }
var c1: Int = 0; set(v: Int) { field = v }
<error><error>abstract</error> var c2: Int</error> set(v: Int) { field = v }
<error>abstract</error> var c3: Int = 0; set(v: Int) { field = v }
val e: Int get() = a
val e1: Int = <error>0</error>; get() = a
+5 -8
View File
@@ -1,8 +1,8 @@
var x : Int = 1 + <error>x</error>
get() : Int = 1
set(value : <error>Long</error>) {
$x = value.toInt()
$x = <error>1.toLong()</error>
field = value.toInt()
field = <error>1.toLong()</error>
}
val xx : Int = <error>1 + x</error>
@@ -14,15 +14,12 @@
class Test() {
var a : Int = 111
var b : Int get() = $a; set(x) {a = x; $a = x}
var b : Int get() = a; set(x) { a = x }
init {
<error>$b</error> = $a
$a = <error>$b</error>
a = <error>$b</error>
}
fun f() {
<error>$b</error> = $a
a = <error>$b</error>
}
}
+3 -3
View File
@@ -16,7 +16,7 @@
val c4 : Int
<info>get</info>() = 1
<error>val c5 : Int</error>
<info>get</info>() = $c5 + 1
<info>get</info>() = field + 1
<info>abstract</info> var y : Int
<info>abstract</info> var y1 : Int <info>get</info>
@@ -32,8 +32,8 @@
<error>var v3 : Int</error> <info>get</info>() = 1; <info>set</info>
var v4 : Int <info>get</info>() = 1; <info>set</info>(x){}
<error>var v5 : Int</error> <info>get</info>() = 1; <info>set</info>(x){$v5 = x}
<error>var v6 : Int</error> <info>get</info>() = $v6 + 1; <info>set</info>(x){}
<error>var v5 : Int</error> <info>get</info>() = 1; <info>set</info>(x){field = x}
<error>var v6 : Int</error> <info>get</info>() = field + 1; <info>set</info>(x){}
<error>var v9 : Int</error> <info>set</info>
<error>var v10 : Int</error> <info>get</info>
+4 -4
View File
@@ -2,7 +2,7 @@ class A() {
var x: Int = 0
get() = <error>"s"</error>
set(value: <error>String</error>) {
$x = <error>value</error>
field = <error>value</error>
}
val y: Int
get(): <error>String</error> = "s"
@@ -13,7 +13,7 @@ class A() {
var a: Any = 1
set(v: <error>String</error>) {
$a = v
field = v
}
val b: Int
get(): <error>Any</error> = "s"
@@ -23,11 +23,11 @@ class A() {
}
val d = 1
get() {
return $d
return field
}
val e = 1
get(): <error>String</error> {
return <error>$e</error>
return <error>field</error>
}
}
@@ -15,7 +15,7 @@ trait Base2 : Base1 {
class Base2Impl() : Base2 {
override var prop: String = ""
set(value) {
$prop = "prop:${value}"
field = "prop:${value}"
}
}
@@ -9,7 +9,7 @@ class BaseImpl(val s: String) : Base {
override fun foo(x: String) = "BaseImpl.foo: ${s}:${x}"
override var prop: String = "init"
set(value) {
$prop = "prop:${value}"
field = "prop:${value}"
}
}
@@ -4,9 +4,9 @@ open class Base() {
get() = 239
public var readwrite: Int = 0
get() = $readwrite + 1
get() = field + 1
set(n: Int) {
$readwrite = n
field = n
}
}
@@ -29,7 +29,7 @@ class A() {
val a: A = A()
get() {
c0++
return $a
return field
}
fun box(): String {
@@ -18,7 +18,7 @@ class A() {
var a: A = A()
get() {
c0++
return $a
return field
}
fun box(): String {
@@ -17,7 +17,7 @@ class A() {
var b = MyInt(0)
get() {
gc = gc + 1;
return $b;
return field;
}
set(a: MyInt) {
sc = sc + 1;
@@ -2,7 +2,7 @@ package foo
class A {
val a: Int = 1
get() = $a + 1
get() = field + 1
fun getA(): Int {
return $a
@@ -3,7 +3,7 @@ package foo
class Test() {
var a: Int = 5
set(b: Int) {
$a = 3
field = 3
}
}
@@ -4,7 +4,7 @@ class A {
val a: Int
val aa: Int
get() {
return $aa
return field
}
var aR = 0
@@ -22,7 +22,7 @@ class B {
private val a: Int
private val aa: Int
get() {
return $aa
return field
}
var aR = 0
@@ -8,7 +8,7 @@ trait Holder {
open class BasicHolder : Holder {
override val element: String
get() = $element + $element
get() = field + field
init {
element = "1"
@@ -5,7 +5,7 @@ open class A {
private val b = 2
get() {
return $b + 10 + 100 * a
return field + 10 + 100 * a
}
fun getBInA(): Int {
return b
@@ -37,10 +37,10 @@ class C : A, B {
override val bal: Int = 1
override var bar: Int = 2
get() {
return $bar + 20
return field + 20
}
set(value: Int) {
$bar = value + 20
field = value + 20
}
override var realBar: Int = 3
@@ -3,14 +3,14 @@ package foo
open class A {
open val a = 2
get() {
return $a + 1
return field + 1
}
}
class B : A() {
override val a: Int = 5
get() {
return super.a + 10 * $a + 100
return super.a + 10 * field + 100
}
}
@@ -100,10 +100,10 @@ class Logo(override var pos: Vector) : Shape() {
val gradientGenerator: RadialGradientGenerator? = null
get() {
if ($gradientGenerator == null) {
$gradientGenerator = RadialGradientGenerator(context)
if (field == null) {
field = RadialGradientGenerator(context)
}
return $gradientGenerator
return field
}
class Creature(override var pos: Vector, val state: CanvasState) : Shape() {