summaryrefslogtreecommitdiff
path: root/test/disabled/presentation/timeofday/src/timeofday.scala
diff options
context:
space:
mode:
authorAleksandar Prokopec <aleksandar.prokopec@gmail.com>2011-12-07 14:53:37 +0100
committerAleksandar Prokopec <aleksandar.prokopec@gmail.com>2011-12-07 14:53:37 +0100
commit014a13d2be634bb3ab3468d0c071a9a870a9a9b0 (patch)
tree491ad18ca796a70b34be1d4732b80c371bfd650d /test/disabled/presentation/timeofday/src/timeofday.scala
parenta36175feb5bfce59909fa4f3d9d5df6753b6ee3a (diff)
parent332fec96e31840878bed41dd7b5314b97d8da7c2 (diff)
downloadscala-014a13d2be634bb3ab3468d0c071a9a870a9a9b0.tar.gz
scala-014a13d2be634bb3ab3468d0c071a9a870a9a9b0.tar.bz2
scala-014a13d2be634bb3ab3468d0c071a9a870a9a9b0.zip
Merge branch 'master' of https://github.com/scala/scala into execution-context
Diffstat (limited to 'test/disabled/presentation/timeofday/src/timeofday.scala')
-rw-r--r--test/disabled/presentation/timeofday/src/timeofday.scala35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/disabled/presentation/timeofday/src/timeofday.scala b/test/disabled/presentation/timeofday/src/timeofday.scala
new file mode 100644
index 0000000000..d6355097f1
--- /dev/null
+++ b/test/disabled/presentation/timeofday/src/timeofday.scala
@@ -0,0 +1,35 @@
+object timeofday {
+ class DateError extends Exception
+
+ /** Simulating properties in Scala
+ * (example 4.2.1 in ScalaReference.pdf)
+ */
+ class TimeOfDayVar {
+ private var h, m, s: Int = 0
+
+ def hours = h
+
+ /** A method 'ident_=' is a setter for 'ident'. 'code.ident = ...' will
+ * be translated to a call to 'ident_='
+ */
+ def hours_= (h: Int) =
+ if (0 <= h && h < 24) this.h = h
+ else throw new DateError()
+
+ def minutes = m
+ def minutes_= (m: Int) =
+ if (0 <= m && m < 60) this.m = m
+ else throw new DateError()
+
+ def seconds = s
+ def seconds_= (s: Int) =
+ if (0 <= s && s < 60) this./*!*/s = s
+ else throw new DateError()
+ }
+
+ def main(args: Array[String]) {
+ val d = new TimeOfDayVar
+ d.hours = 8; d./*!*/minutes = 30; d.seconds = 0
+ d.hours/*#*/ = 25 // throws a DateError exception
+ }
+} \ No newline at end of file