summaryrefslogtreecommitdiff
path: root/test/files/pos/annotations.scala
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@epfl.ch>2009-06-07 11:13:47 +0000
committerLukas Rytz <lukas.rytz@epfl.ch>2009-06-07 11:13:47 +0000
commit8cc477f8b6fd81c45fe30ac454c021a9769911ad (patch)
treece574d8e84ea47c453298fe557b49f7d51ddfdf3 /test/files/pos/annotations.scala
parenta2166dec9d687347a08c9e6a95e07f1a67f0d370 (diff)
downloadscala-8cc477f8b6fd81c45fe30ac454c021a9769911ad.tar.gz
scala-8cc477f8b6fd81c45fe30ac454c021a9769911ad.tar.bz2
scala-8cc477f8b6fd81c45fe30ac454c021a9769911ad.zip
fixed BeanProperty, added BooleanBeanProperty, ...
fixed BeanProperty, added BooleanBeanProperty, added many tests (#1029, #1751, #294, #1942, #1782, #1788, #637).
Diffstat (limited to 'test/files/pos/annotations.scala')
-rw-r--r--test/files/pos/annotations.scala50
1 files changed, 50 insertions, 0 deletions
diff --git a/test/files/pos/annotations.scala b/test/files/pos/annotations.scala
index 9f780c0094..5492d89351 100644
--- a/test/files/pos/annotations.scala
+++ b/test/files/pos/annotations.scala
@@ -22,5 +22,55 @@ object Test {
// bug #1070
trait T { @BeanProperty var field = 1 }
+
+ // annotation on annotation constructor
+ @(ann @ann(100))(200) def foo() = 300
+}
+
+// test forward references to getters / setters
+class BeanPropertyTests {
+ @scala.reflect.BeanProperty lazy val lv1 = 0
+
+ def foo() {
+ val bp1 = new BeanPropertyTests1
+
+ println(lv1)
+ println(getLv1())
+ println(bp1.getLv2())
+
+ println(getV1())
+ setV1(10)
+ bp1.setV2(100)
+ }
+
+ @scala.reflect.BeanProperty var v1 = 0
+
}
+class BeanPropertyTests1 {
+ @scala.reflect.BeanProperty lazy val lv2 = "0"
+ @scala.reflect.BeanProperty var v2 = 0
+}
+
+// test mixin of getters / setters, and implementing abstract
+// methods using @BeanProperty
+class C extends T with BeanF {
+ def foo() {
+ setF("doch!")
+ setG(true)
+ this.getF()
+ }
+}
+
+trait T {
+ @scala.reflect.BeanProperty var f = "nei"
+ @scala.reflect.BooleanBeanProperty var g = false
+}
+
+trait BeanF {
+ def getF(): String
+ def setF(n: String): Unit
+
+ def isG(): Boolean
+ def setG(nb: Boolean): Unit
+}