Test for static

This commit is contained in:
Mikhael Bogdanov
2013-06-03 16:21:04 +04:00
parent be72e096ef
commit 4feb395dcc
53 changed files with 1155 additions and 43 deletions
@@ -0,0 +1,58 @@
class Test {
class object {
public val prop1 : Int = 10
public var prop2 : Int = 11
protected set
public val prop3: Int = 12
get() {
return $prop3
}
var prop4 : Int = 13
fun incProp4() {
$prop4++
}
public var prop5 : Int = 14
public var prop7 : Int = 20
set(i: Int) {
$prop7++
}
}
}
fun box(): String {
val t = Test;
if (t.prop1 != 10) return "fail1";
if (t.prop2 != 11) return "fail2";
if (t.prop3 != 12) return "fail3";
if (t.prop4 != 13) return "fail4";
t.incProp4()
if (t.prop4 != 14) return "fail4.inc";
if (t.prop5 != 14) return "fail5";
t.prop5 = 1414
if (t.prop5 != 1414) return "fail6";
if (t.prop7 != 20) return "fail7";
t.prop7 = 1000000
if (t.prop7 != 21) return "fail8";
return "OK"
}
@@ -0,0 +1,8 @@
class staticProperty {
public static void main(String[] args) {
int i = Test.valProp;
int j = Test.varProp;
Test.varProp = 100;
}
}
@@ -0,0 +1,9 @@
class Test {
class object {
public val valProp: Int = 10
public var varProp: Int = 10
}
}
@@ -0,0 +1,8 @@
class staticProperty {
public static void main(String[] args) {
int i = Test.valProp;
int j = Test.varProp;
Test.varProp = 100;
}
}
@@ -0,0 +1,9 @@
trait Test {
class object {
public val valProp: Int = 10
public var varProp: Int = 10
}
}
@@ -0,0 +1,30 @@
package test
class Test {
class object {
public val prop1 : Int = 10
public var prop2 : Int = 11
protected set
public val prop3: Int = 12
get() {
return $prop3
}
var prop4 : Int = 13
fun incProp4() {
$prop4++
}
public var prop5 : Int = 14
public var prop7 : Int = 20
set(i: Int) {
$prop7++
}
}
}
@@ -0,0 +1,26 @@
package test
internal final class Test {
/*primary*/ public constructor Test()
internal class object <class-object-for-Test> {
/*primary*/ private constructor <class-object-for-Test>()
public final val prop1: jet.Int
public final fun <get-prop1>(): jet.Int
public final var prop2: jet.Int
public final fun <get-prop2>(): jet.Int
protected final fun <set-prop2>(/*0*/ <set-?>: jet.Int): jet.Unit
public final val prop3: jet.Int
public final fun <get-prop3>(): jet.Int
internal final var prop4: jet.Int
internal final fun <get-prop4>(): jet.Int
internal final fun <set-prop4>(/*0*/ <set-?>: jet.Int): jet.Unit
public final var prop5: jet.Int
public final fun <get-prop5>(): jet.Int
public final fun <set-prop5>(/*0*/ <set-?>: jet.Int): jet.Unit
public final var prop7: jet.Int
public final fun <get-prop7>(): jet.Int
public final fun <set-prop7>(/*0*/ i: jet.Int): jet.Unit
internal final fun incProp4(): jet.Unit
}
}
@@ -0,0 +1,30 @@
package test
trait Test {
class object {
public val prop1 : Int = 10
public var prop2 : Int = 11
protected set
public val prop3: Int = 12
get() {
return $prop3
}
var prop4 : Int = 13
fun incProp4() {
$prop4++
}
public var prop5 : Int = 14
public var prop7 : Int = 20
set(i: Int) {
$prop7++
}
}
}
@@ -0,0 +1,25 @@
package test
internal trait Test {
internal class object <class-object-for-Test> {
/*primary*/ private constructor <class-object-for-Test>()
public final val prop1: jet.Int
public final fun <get-prop1>(): jet.Int
public final var prop2: jet.Int
public final fun <get-prop2>(): jet.Int
protected final fun <set-prop2>(/*0*/ <set-?>: jet.Int): jet.Unit
public final val prop3: jet.Int
public final fun <get-prop3>(): jet.Int
internal final var prop4: jet.Int
internal final fun <get-prop4>(): jet.Int
internal final fun <set-prop4>(/*0*/ <set-?>: jet.Int): jet.Unit
public final var prop5: jet.Int
public final fun <get-prop5>(): jet.Int
public final fun <set-prop5>(/*0*/ <set-?>: jet.Int): jet.Unit
public final var prop7: jet.Int
public final fun <get-prop7>(): jet.Int
public final fun <set-prop7>(/*0*/ i: jet.Int): jet.Unit
internal final fun incProp4(): jet.Unit
}
}
@@ -0,0 +1,32 @@
class TestDelegate() {
fun get(thisRef: Any?, desc: PropertyMetadata): Int {
return 10
}
public open fun set(thisRef: Any?, desc: PropertyMetadata, svalue : Int) {
}
}
class Test {
class object {
protected var prop: Int by TestDelegate()
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop$delegate
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop$delegate
// FLAGS: ACC_STATIC, ACC_FINAL, ACC_PRIVATE
@@ -0,0 +1,27 @@
class TestDelegate() {
fun get(thisRef: Any?, desc: PropertyMetadata): Int {
return 10
}
}
class Test {
class object {
public val prop: Int by TestDelegate()
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop$delegate
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop$delegate
// FLAGS: ACC_STATIC, ACC_FINAL, ACC_PRIVATE
@@ -0,0 +1,13 @@
class Test {
class object {
public val Test.prop: Int = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_FINAL, ACC_STATIC, ACC_PRIVATE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
@@ -0,0 +1,13 @@
class Test {
class object {
public var Test.prop: Int = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PRIVATE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
@@ -0,0 +1,13 @@
class Test {
class object {
var prop: Int = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PUBLIC
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
@@ -0,0 +1,13 @@
class Test {
class object {
var prop: Int = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PUBLIC
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
@@ -0,0 +1,14 @@
class Test {
class object {
var prop: Int = 0
private set
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PRIVATE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
@@ -0,0 +1,19 @@
class Test {
class object {
var prop: Int
get() {
return 10
}
set(i : Int) {
}
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
@@ -0,0 +1,13 @@
class Test {
class object {
private val prop = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PRIVATE, ACC_FINAL
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
@@ -0,0 +1,13 @@
class Test {
class object {
private var prop = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PRIVATE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
@@ -0,0 +1,13 @@
class Test {
class object {
protected val prop: Int = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PROTECTED, ACC_FINAL
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
@@ -0,0 +1,14 @@
class Test {
class object {
protected var prop: Int = 0
private set
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PRIVATE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
@@ -0,0 +1,13 @@
class Test {
class object {
public val prop: Int = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
@@ -0,0 +1,16 @@
class Test {
class object {
public val prop: Int = 0
get() {
return $prop
}
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PRIVATE, ACC_FINAL
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
@@ -0,0 +1,13 @@
class Test {
class object {
public var prop: Int = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PUBLIC
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
@@ -0,0 +1,16 @@
class Test {
class object {
public var prop: Int = 0
set(i : Int) {
$prop = i
}
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PRIVATE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
@@ -0,0 +1,14 @@
class Test {
class object {
public var prop: Int = 0
private set
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PRIVATE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
@@ -0,0 +1,14 @@
class Test {
class object {
public var prop: Int = 0
protected set
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PROTECTED
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
@@ -0,0 +1,14 @@
class Test {
class object {
public var prop: Int = 0
public set
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PUBLIC
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
@@ -0,0 +1,32 @@
class TestDelegate() {
fun get(thisRef: Any?, desc: PropertyMetadata): Int {
return 10
}
public open fun set(thisRef: Any?, desc: PropertyMetadata, svalue : Int) {
}
}
trait Test {
class object {
protected var prop: Int by TestDelegate()
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop$delegate
// FLAGS: ACC_FINAL, ACC_PRIVATE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop$delegate
// FLAGS: ACC_FINAL, ACC_PRIVATE
// ABSENT: TRUE
@@ -0,0 +1,27 @@
class TestDelegate() {
fun get(thisRef: Any?, desc: PropertyMetadata): Int {
return 10
}
}
trait Test {
class object {
public val prop: Int by TestDelegate()
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop$delegate
// FLAGS: ACC_FINAL, ACC_PRIVATE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop$delegate
// ABSENT: TRUE
@@ -0,0 +1,13 @@
trait Test {
class object {
public val Test.prop: Int = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// FLAGS: ACC_FINAL, ACC_PRIVATE
@@ -0,0 +1,13 @@
trait Test {
class object {
public var Test.prop: Int = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// FLAGS: ACC_PRIVATE
@@ -0,0 +1,13 @@
trait Test {
class object {
val prop: Int = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// FLAGS: ACC_PRIVATE, ACC_FINAL
@@ -0,0 +1,13 @@
trait Test {
class object {
var prop: Int = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// FLAGS: ACC_PRIVATE
@@ -0,0 +1,14 @@
trait Test {
class object {
var prop: Int = 0
private set
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// FLAGS: ACC_PRIVATE
@@ -0,0 +1,19 @@
trait Test {
class object {
var prop: Int
get() {
return 10
}
set(i : Int) {
}
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// ABSENT: TRUE
@@ -0,0 +1,13 @@
trait Test {
class object {
private val prop = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// FLAGS: ACC_PRIVATE, ACC_FINAL
@@ -0,0 +1,13 @@
trait Test {
class object {
private var prop = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// FLAGS: ACC_PRIVATE
@@ -0,0 +1,13 @@
trait Test {
class object {
protected val prop: Int = 0
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// FLAGS: ACC_PRIVATE, ACC_FINAL
@@ -0,0 +1,14 @@
trait Test {
class object {
protected var prop: Int = 0
private set
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// FLAGS: ACC_PRIVATE
@@ -0,0 +1,13 @@
trait Test {
class object {
public val prop: Int = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// FLAGS: ACC_PRIVATE, ACC_FINAL
@@ -0,0 +1,16 @@
trait Test {
class object {
public val prop: Int = 0
get() {
return $prop
}
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// FLAGS: ACC_PRIVATE, ACC_FINAL
@@ -0,0 +1,13 @@
trait Test {
class object {
public var prop: Int = 0
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// FLAGS: ACC_PRIVATE
@@ -0,0 +1,16 @@
trait Test {
class object {
public var prop: Int = 0
set(i : Int) {
$prop = i
}
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// FLAGS: ACC_PRIVATE
@@ -0,0 +1,14 @@
trait Test {
class object {
public var prop: Int = 0
private set
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// FLAGS: ACC_PRIVATE
@@ -0,0 +1,14 @@
trait Test {
class object {
public var prop: Int = 0
protected set
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// FLAGS: ACC_PRIVATE
@@ -0,0 +1,14 @@
trait Test {
class object {
public var prop: Int = 0
public set
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$object, prop
// FLAGS: ACC_PRIVATE