[FIR-TEST] Add new testdata generated after changes in previous commit

This commit is contained in:
Dmitriy Novozhilov
2019-12-11 16:16:22 +03:00
parent e9c02a1cca
commit 2536fa0cd5
4578 changed files with 104067 additions and 1 deletions
@@ -0,0 +1,6 @@
class Flower() {
var minusOne: Int = 1
get() = field + 1
set(n: Int) { field = n - 1 }
}
@@ -0,0 +1,4 @@
class CustomGetVal() {
val zz = 1
get() = field * 2
}
@@ -0,0 +1,3 @@
package customGetValGlobal
val zz = 1
get() = field * 2
@@ -0,0 +1,4 @@
class Raise() {
var zz = 1
get() = field * 2
}
@@ -0,0 +1,4 @@
class Raise() {
var zz = 1
set(it) { field = it / 2 }
}
@@ -0,0 +1,17 @@
// See KT-9303: synthetic field variable does not exist for extension properties
val String.foo: Int
get() {
// No shadowing here
val field = 42
return field
}
val String.bar: Int = 13
// Error
get() = field
class My {
val String.x: Int = 7
// Error
get() = field
}
@@ -0,0 +1,8 @@
var y: Int = 1
// No backing field!
var x: Int
get() = y
set(field) {
y = field
}
@@ -0,0 +1,9 @@
class My(val field: Int) {
// Backing field, initializer
val second: Int = 0
get() = field
// No backing field, no initializer
val third: Int
get() = this.field
}
@@ -0,0 +1,18 @@
open class Base {
open val x: Int = 1
get() = field - 1
}
class Other: Base() {
override val x = 2
}
class Another: Base() {
override val x = 3
get() = field + 1
}
class NoBackingField: Base() {
override val x: Int
get() = 5
}
@@ -0,0 +1,4 @@
interface My {
val x: Int = 0
get() = field
}
@@ -0,0 +1,11 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE
fun foo() {
open class Local {
val my: Int = 2
get() = field
}
val your = object: Local() {
val your: Int = 3
get() = field
}
}
@@ -0,0 +1,2 @@
val my: Int = 21
get() = field * 2
@@ -0,0 +1,5 @@
var my: Int = 0
get() = -field
set(arg) {
field = arg
}
@@ -0,0 +1,7 @@
// !LANGUAGE: +RestrictionOfValReassignmentViaBackingField
val my: Int = 1
get() {
field++
return field
}
@@ -0,0 +1,7 @@
// !LANGUAGE: -RestrictionOfValReassignmentViaBackingField
val my: Int = 1
get() {
field++
return field
}
@@ -0,0 +1,8 @@
class My {
// No initialization needed because no backing field
val two: Int
get() {
val field = 2
return field
}
}
@@ -0,0 +1,30 @@
class My(val v: Int) {
// Ok: setter is just private
var x: Int
private set
var y: Int
set(arg) { field = arg }
var z: Int
set(arg) { field = arg }
// Ok: initializer available
var w: Int = v
set(arg) { field = arg }
// Ok: no backing field
var u: Int
get() = w
set(arg) { w = 2 * arg }
constructor(): this(0) {
z = v
}
init {
x = 1
y = 2
u = 3
}
}
@@ -0,0 +1,27 @@
abstract class My(val v: Int) {
// Ok: variable is just abstract
abstract var x: Int
open var y: Int
open var z: Int
// Ok: initializer available
open var w: Int = v
set(arg) { field = arg }
// Ok: no backing field, no initializer possible
open var u: Int
get() = w
set(arg) { w = 2 * arg }
constructor(): this(0) {
z = v
}
init {
x = 1
y = 2
u = 3
}
}
@@ -0,0 +1,26 @@
// KT-7042 Providing return type for property setter is not reported as error
var x: Int = 1
// No backing field!
var y: Int
get() = x
set(value): Any {
x = value
}
var z: Int
get() = x
set(value): Unit {
x = value
}
var u: String = ""
set(value): Unit {
field = value
}
var v: String = ""
set(value): String {
field = value
}
@@ -0,0 +1,16 @@
// KT-782 Allow backing field usage for accessors of variables on namespace level
package kt782
val z : Int = 34
val y : Int = 11
get() {
return field
}
val x : Int
get() = z
val w : Int = 56
get() = field