aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/run/if-with-constant-cond.check4
-rw-r--r--tests/run/if-with-constant-cond.scala9
-rw-r--r--tests/run/inline-constant-in-constructor-1.check3
-rw-r--r--tests/run/inline-constant-in-constructor-1.scala15
-rw-r--r--tests/run/inline-constant-in-constructor-2.check3
-rw-r--r--tests/run/inline-constant-in-constructor-2.scala14
-rw-r--r--tests/run/inline-constant-in-constructor-3.check4
-rw-r--r--tests/run/inline-constant-in-constructor-3.scala19
-rw-r--r--tests/run/inline-constant-lazy-val.check2
-rw-r--r--tests/run/inline-constant-lazy-val.scala10
10 files changed, 83 insertions, 0 deletions
diff --git a/tests/run/if-with-constant-cond.check b/tests/run/if-with-constant-cond.check
new file mode 100644
index 000000000..2e31d4f23
--- /dev/null
+++ b/tests/run/if-with-constant-cond.check
@@ -0,0 +1,4 @@
+cond1
+then1
+cond2
+else2
diff --git a/tests/run/if-with-constant-cond.scala b/tests/run/if-with-constant-cond.scala
new file mode 100644
index 000000000..db5959c84
--- /dev/null
+++ b/tests/run/if-with-constant-cond.scala
@@ -0,0 +1,9 @@
+
+object Test {
+
+ def main(args: Array[String]): Unit = {
+ if ({ println("cond1"); true }: true) println("then1") else println("else1")
+ if ({ println("cond2"); false }: false) println("then2") else println("else2")
+ }
+
+} \ No newline at end of file
diff --git a/tests/run/inline-constant-in-constructor-1.check b/tests/run/inline-constant-in-constructor-1.check
new file mode 100644
index 000000000..05035c26d
--- /dev/null
+++ b/tests/run/inline-constant-in-constructor-1.check
@@ -0,0 +1,3 @@
+assert
+s
+r init
diff --git a/tests/run/inline-constant-in-constructor-1.scala b/tests/run/inline-constant-in-constructor-1.scala
new file mode 100644
index 000000000..11a727fd6
--- /dev/null
+++ b/tests/run/inline-constant-in-constructor-1.scala
@@ -0,0 +1,15 @@
+
+
+abstract class A {
+ def s: Boolean = { println("s"); r }
+ def r: Boolean
+}
+
+object Test extends A {
+ assert({ println("assert"); r == s }) // r constant type not replaced by true, r not initialized yet
+ override val r: true = {
+ println("r init")
+ true
+ }
+ def main(args: Array[String]): Unit = {}
+}
diff --git a/tests/run/inline-constant-in-constructor-2.check b/tests/run/inline-constant-in-constructor-2.check
new file mode 100644
index 000000000..05035c26d
--- /dev/null
+++ b/tests/run/inline-constant-in-constructor-2.check
@@ -0,0 +1,3 @@
+assert
+s
+r init
diff --git a/tests/run/inline-constant-in-constructor-2.scala b/tests/run/inline-constant-in-constructor-2.scala
new file mode 100644
index 000000000..a8d351ab6
--- /dev/null
+++ b/tests/run/inline-constant-in-constructor-2.scala
@@ -0,0 +1,14 @@
+
+abstract class A {
+ def s: Boolean = { println("s"); r }
+ def r: Boolean
+}
+
+object Test extends A {
+ assert({ println("assert"); r == s }) // r constant type replaced by false
+ override val r: false = {
+ println("r init")
+ false
+ }
+ def main(args: Array[String]): Unit = {}
+}
diff --git a/tests/run/inline-constant-in-constructor-3.check b/tests/run/inline-constant-in-constructor-3.check
new file mode 100644
index 000000000..b0171e3d9
--- /dev/null
+++ b/tests/run/inline-constant-in-constructor-3.check
@@ -0,0 +1,4 @@
+assert
+r2
+s
+r init
diff --git a/tests/run/inline-constant-in-constructor-3.scala b/tests/run/inline-constant-in-constructor-3.scala
new file mode 100644
index 000000000..621ace231
--- /dev/null
+++ b/tests/run/inline-constant-in-constructor-3.scala
@@ -0,0 +1,19 @@
+
+
+abstract class A {
+ def s: Boolean = { println("s"); r }
+ def r: Boolean
+}
+
+object Test extends A {
+ assert({ println("assert"); r2 != s }) // s not initialized yet
+ def r2: true = {
+ println("r2")
+ true
+ }
+ override val r: true = {
+ println("r init")
+ true
+ }
+ def main(args: Array[String]): Unit = {}
+}
diff --git a/tests/run/inline-constant-lazy-val.check b/tests/run/inline-constant-lazy-val.check
new file mode 100644
index 000000000..16858db7a
--- /dev/null
+++ b/tests/run/inline-constant-lazy-val.check
@@ -0,0 +1,2 @@
+X
+Y
diff --git a/tests/run/inline-constant-lazy-val.scala b/tests/run/inline-constant-lazy-val.scala
new file mode 100644
index 000000000..5f4aaa12b
--- /dev/null
+++ b/tests/run/inline-constant-lazy-val.scala
@@ -0,0 +1,10 @@
+
+object Test {
+ lazy val x: true = { println("X"); true }
+
+ def main(args: Array[String]): Unit = {
+ lazy val y: true = { println("Y"); true }
+ x
+ y
+ }
+} \ No newline at end of file