"field": deprecated warnings introduced, compiler tests migrated to the new syntax
This commit is contained in:
committed by
Mikhail Glukhikh
parent
028e0ec59a
commit
a1e3471d92
@@ -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);
|
||||
|
||||
+3
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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++
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
@@ -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 {
|
||||
|
||||
@@ -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
@@ -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
@@ -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,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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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 }
|
||||
}
|
||||
|
||||
+7
-7
@@ -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
|
||||
|
||||
+2
-2
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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) {}
|
||||
}
|
||||
|
||||
@@ -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<!>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -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++
|
||||
}
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -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++
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -2,7 +2,7 @@ class Test {
|
||||
companion object {
|
||||
public val prop: Int = 0
|
||||
get() {
|
||||
return $prop
|
||||
return field
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ class Test {
|
||||
companion object {
|
||||
public var prop: Int = 0
|
||||
set(i : Int) {
|
||||
$prop = i
|
||||
field = i
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ interface Test {
|
||||
companion object {
|
||||
public val prop: Int = 0
|
||||
get() {
|
||||
return $prop
|
||||
return field
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ interface Test {
|
||||
companion object {
|
||||
public var prop: Int = 0
|
||||
set(i : Int) {
|
||||
$prop = i
|
||||
field = i
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+20
-20
@@ -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
|
||||
|
||||
Vendored
+5
-8
@@ -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>
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
@@ -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 {
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
|
||||
+2
-2
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user