aboutsummaryrefslogtreecommitdiff
path: root/tests/neg
diff options
context:
space:
mode:
authorDmitry Petrashko <dark@d-d.me>2016-07-15 13:22:06 +0200
committerGitHub <noreply@github.com>2016-07-15 13:22:06 +0200
commitf37e45a516ca97a27fed279c5da26574d2fe77db (patch)
tree268a2283e96ce363bf4fd9bca9d7a6be6e90ef7f /tests/neg
parent18a1c206295fc85c795da48b3e737b88a2bb56e5 (diff)
parent7e00c724273d432c8900c0e8ec852bb77357958e (diff)
downloaddotty-f37e45a516ca97a27fed279c5da26574d2fe77db.tar.gz
dotty-f37e45a516ca97a27fed279c5da26574d2fe77db.tar.bz2
dotty-f37e45a516ca97a27fed279c5da26574d2fe77db.zip
Merge pull request #1291 from nicolasstucki/implement-scala-dynamic
Add scala.Dynamic support.
Diffstat (limited to 'tests/neg')
-rw-r--r--tests/neg/dynamicApplyDynamicTest1.scala7
-rw-r--r--tests/neg/dynamicApplyDynamicTest2.scala7
-rw-r--r--tests/neg/dynamicApplyDynamicTest3.scala7
-rw-r--r--tests/neg/dynamicApplyDynamicTest4.scala10
-rw-r--r--tests/neg/dynamicApplyDynamicTest5.scala9
-rw-r--r--tests/neg/dynamicApplyDynamicTest6.scala9
-rw-r--r--tests/neg/dynamicApplyDynamicTest7.scala9
-rw-r--r--tests/neg/dynamicApplyDynamicTest8.scala9
-rw-r--r--tests/neg/dynamicApplyDynamicTest9.scala9
-rw-r--r--tests/neg/dynamicApplyNamedDynamicTest1.scala7
-rw-r--r--tests/neg/dynamicApplyNamedDynamicTest2.scala10
-rw-r--r--tests/neg/dynamicApplyNamedDynamicTest3.scala7
-rw-r--r--tests/neg/dynamicApplyNamedDynamicTest4.scala7
-rw-r--r--tests/neg/dynamicApplyNamedDynamicTest5.scala9
-rw-r--r--tests/neg/dynamicApplyNamedDynamicTest6.scala9
-rw-r--r--tests/neg/dynamicApplyNamedDynamicTest7.scala9
-rw-r--r--tests/neg/dynamicApplyNamedDynamicTest8.scala9
-rw-r--r--tests/neg/dynamicDynamicImplicitsTest1.scala13
-rw-r--r--tests/neg/dynamicDynamicImplicitsTest2.scala13
-rw-r--r--tests/neg/dynamicDynamicImplicitsTest3.scala13
-rw-r--r--tests/neg/dynamicNoImport.scala13
-rw-r--r--tests/neg/dynamicSelectDynamicTest1.scala10
-rw-r--r--tests/neg/dynamicSelectDynamicTest2.scala7
-rw-r--r--tests/neg/dynamicSelectDynamicTest3.scala7
-rw-r--r--tests/neg/dynamicSelectDynamicTest4.scala11
-rw-r--r--tests/neg/dynamicSelectDynamicTest5.scala7
-rw-r--r--tests/neg/dynamicSelectDynamicTest6.scala11
-rw-r--r--tests/neg/dynamicSelectDynamicTest7.scala9
-rw-r--r--tests/neg/dynamicUpdateDynamicTest1.scala7
-rw-r--r--tests/neg/dynamicUpdateDynamicTest2.scala9
-rw-r--r--tests/neg/dynamicUpdateDynamicTest3.scala9
-rw-r--r--tests/neg/dynamicUpdateDynamicTest4.scala9
32 files changed, 291 insertions, 0 deletions
diff --git a/tests/neg/dynamicApplyDynamicTest1.scala b/tests/neg/dynamicApplyDynamicTest1.scala
new file mode 100644
index 000000000..90f4493eb
--- /dev/null
+++ b/tests/neg/dynamicApplyDynamicTest1.scala
@@ -0,0 +1,7 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic
+
+object DynamicTest {
+ new Foo().bazApply() // error
+}
diff --git a/tests/neg/dynamicApplyDynamicTest2.scala b/tests/neg/dynamicApplyDynamicTest2.scala
new file mode 100644
index 000000000..aa0e44405
--- /dev/null
+++ b/tests/neg/dynamicApplyDynamicTest2.scala
@@ -0,0 +1,7 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic
+
+object DynamicTest {
+ new Foo().bazApply("abc", 1) // error
+}
diff --git a/tests/neg/dynamicApplyDynamicTest3.scala b/tests/neg/dynamicApplyDynamicTest3.scala
new file mode 100644
index 000000000..61d3c9677
--- /dev/null
+++ b/tests/neg/dynamicApplyDynamicTest3.scala
@@ -0,0 +1,7 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic
+
+object DynamicTest {
+ new Foo().bazApply _ // error // error
+}
diff --git a/tests/neg/dynamicApplyDynamicTest4.scala b/tests/neg/dynamicApplyDynamicTest4.scala
new file mode 100644
index 000000000..4573bd08d
--- /dev/null
+++ b/tests/neg/dynamicApplyDynamicTest4.scala
@@ -0,0 +1,10 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def selectDynamic(name: String): String = ???
+ def applyDynamicNamed(name: String)(args: Any*): String = ???
+}
+
+object DynamicTest {
+ new Foo().bazApply() // error
+}
diff --git a/tests/neg/dynamicApplyDynamicTest5.scala b/tests/neg/dynamicApplyDynamicTest5.scala
new file mode 100644
index 000000000..d1d9cdd69
--- /dev/null
+++ b/tests/neg/dynamicApplyDynamicTest5.scala
@@ -0,0 +1,9 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def applyDynamic(name: String)(args: String*): String = ???
+}
+
+object DynamicTest {
+ new Foo().bazApply(1, 2, 3) // error // error // error
+}
diff --git a/tests/neg/dynamicApplyDynamicTest6.scala b/tests/neg/dynamicApplyDynamicTest6.scala
new file mode 100644
index 000000000..865858ff3
--- /dev/null
+++ b/tests/neg/dynamicApplyDynamicTest6.scala
@@ -0,0 +1,9 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def applyDynamic(name: String)(args: String*): String = ???
+}
+
+object DynamicTest {
+ def test: Int = new Foo().bazApply() // error
+}
diff --git a/tests/neg/dynamicApplyDynamicTest7.scala b/tests/neg/dynamicApplyDynamicTest7.scala
new file mode 100644
index 000000000..7985dd09e
--- /dev/null
+++ b/tests/neg/dynamicApplyDynamicTest7.scala
@@ -0,0 +1,9 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def applyDynamic(name: Int)(args: String*): String = ???
+}
+
+object DynamicTest {
+ def test: String = new Foo().bazApply() // error
+}
diff --git a/tests/neg/dynamicApplyDynamicTest8.scala b/tests/neg/dynamicApplyDynamicTest8.scala
new file mode 100644
index 000000000..ee8192d76
--- /dev/null
+++ b/tests/neg/dynamicApplyDynamicTest8.scala
@@ -0,0 +1,9 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def applyDynamicNamed(name: String)(args: (String, Int)*): String = ???
+}
+
+object DynamicTest {
+ def test: String = new Foo().bazApply("1" -> 2) // error
+}
diff --git a/tests/neg/dynamicApplyDynamicTest9.scala b/tests/neg/dynamicApplyDynamicTest9.scala
new file mode 100644
index 000000000..bc4f94d5e
--- /dev/null
+++ b/tests/neg/dynamicApplyDynamicTest9.scala
@@ -0,0 +1,9 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def applyDynamicNamed(name: String)(args: (String, Int)*): String = ???
+}
+
+object DynamicTest {
+ new Foo().applyDynamic("bar")("1" -> 2) // error
+}
diff --git a/tests/neg/dynamicApplyNamedDynamicTest1.scala b/tests/neg/dynamicApplyNamedDynamicTest1.scala
new file mode 100644
index 000000000..a51cd2c7b
--- /dev/null
+++ b/tests/neg/dynamicApplyNamedDynamicTest1.scala
@@ -0,0 +1,7 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic
+
+object DynamicTest {
+ new Foo().bazApply(a = "abc", b = 1) // error
+}
diff --git a/tests/neg/dynamicApplyNamedDynamicTest2.scala b/tests/neg/dynamicApplyNamedDynamicTest2.scala
new file mode 100644
index 000000000..ca801e77c
--- /dev/null
+++ b/tests/neg/dynamicApplyNamedDynamicTest2.scala
@@ -0,0 +1,10 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def selectDynamic(name: String): Array[String] = ???
+ def applyDynamic(name: String)(args: Any*): String = ???
+}
+
+object DynamicTest {
+ new Foo().bazApply(a = "abc", b = 1) // error
+}
diff --git a/tests/neg/dynamicApplyNamedDynamicTest3.scala b/tests/neg/dynamicApplyNamedDynamicTest3.scala
new file mode 100644
index 000000000..b8ec41c6d
--- /dev/null
+++ b/tests/neg/dynamicApplyNamedDynamicTest3.scala
@@ -0,0 +1,7 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic
+
+object DynamicTest {
+ new Foo().bazApply("abc", b = 1) // error
+}
diff --git a/tests/neg/dynamicApplyNamedDynamicTest4.scala b/tests/neg/dynamicApplyNamedDynamicTest4.scala
new file mode 100644
index 000000000..983cbc599
--- /dev/null
+++ b/tests/neg/dynamicApplyNamedDynamicTest4.scala
@@ -0,0 +1,7 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic
+
+object DynamicTest {
+ new Foo().bazApply("abc", 4, b = 1, b = "bcd") // error
+}
diff --git a/tests/neg/dynamicApplyNamedDynamicTest5.scala b/tests/neg/dynamicApplyNamedDynamicTest5.scala
new file mode 100644
index 000000000..3a48d38d8
--- /dev/null
+++ b/tests/neg/dynamicApplyNamedDynamicTest5.scala
@@ -0,0 +1,9 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def applyDynamicNamed(name: String)(args: String*): String = ???
+}
+
+object DynamicTest {
+ new Foo().bazApply("abc", 4, b = 1, b = "bcd") // error // error // error // error
+}
diff --git a/tests/neg/dynamicApplyNamedDynamicTest6.scala b/tests/neg/dynamicApplyNamedDynamicTest6.scala
new file mode 100644
index 000000000..4c39842af
--- /dev/null
+++ b/tests/neg/dynamicApplyNamedDynamicTest6.scala
@@ -0,0 +1,9 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def applyDynamicNamed(name: Int)(args: Any*): String = ???
+}
+
+object DynamicTest {
+ new Foo().bazApply("abc", 4, b = 1, b = "bcd") // error
+}
diff --git a/tests/neg/dynamicApplyNamedDynamicTest7.scala b/tests/neg/dynamicApplyNamedDynamicTest7.scala
new file mode 100644
index 000000000..c29339f6d
--- /dev/null
+++ b/tests/neg/dynamicApplyNamedDynamicTest7.scala
@@ -0,0 +1,9 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def applyDynamicNamed(name: String)(args: Any*): String = ???
+}
+
+object DynamicTest {
+ def test: Int = new Foo().bazApply("abc", 4, b = 1, b = "bcd") // error
+}
diff --git a/tests/neg/dynamicApplyNamedDynamicTest8.scala b/tests/neg/dynamicApplyNamedDynamicTest8.scala
new file mode 100644
index 000000000..e07b04ca1
--- /dev/null
+++ b/tests/neg/dynamicApplyNamedDynamicTest8.scala
@@ -0,0 +1,9 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def applyDynamic(name: String)(args: Any*): String = ???
+}
+
+object DynamicTest {
+ new Foo().applyDynamicNamed("abc")() // error
+}
diff --git a/tests/neg/dynamicDynamicImplicitsTest1.scala b/tests/neg/dynamicDynamicImplicitsTest1.scala
new file mode 100644
index 000000000..b044336aa
--- /dev/null
+++ b/tests/neg/dynamicDynamicImplicitsTest1.scala
@@ -0,0 +1,13 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def selectDynamic(name: String): String = ???
+}
+
+object DynamicTest {
+ implicit class Bar(foo: Foo) {
+ def bazSelect: Int = ???
+ }
+
+ def baz: String = new Foo().bazSelect // error
+}
diff --git a/tests/neg/dynamicDynamicImplicitsTest2.scala b/tests/neg/dynamicDynamicImplicitsTest2.scala
new file mode 100644
index 000000000..3229d80e6
--- /dev/null
+++ b/tests/neg/dynamicDynamicImplicitsTest2.scala
@@ -0,0 +1,13 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def applyDynamic(name: String)(args: Any*): String = ???
+}
+
+object DynamicTest {
+ implicit class Bar(foo: Foo) {
+ def bazApply: Int = ???
+ }
+
+ def baz: String = new Foo().bazApply("") // error
+}
diff --git a/tests/neg/dynamicDynamicImplicitsTest3.scala b/tests/neg/dynamicDynamicImplicitsTest3.scala
new file mode 100644
index 000000000..6c26b9500
--- /dev/null
+++ b/tests/neg/dynamicDynamicImplicitsTest3.scala
@@ -0,0 +1,13 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def applytDynamicNamed(name: String)(args: Any*): String = ???
+}
+
+object DynamicTest {
+ implicit class Bar(foo: Foo) {
+ def bazApply: Int = ???
+ }
+
+ def baz: String = new Foo().bazApply(a = "") // error
+}
diff --git a/tests/neg/dynamicNoImport.scala b/tests/neg/dynamicNoImport.scala
new file mode 100644
index 000000000..c009d91a4
--- /dev/null
+++ b/tests/neg/dynamicNoImport.scala
@@ -0,0 +1,13 @@
+class Foo extends scala.Dynamic // error
+trait Bar extends scala.Dynamic // error
+object Baz extends scala.Dynamic // error
+
+package A {
+ import scala.language.dynamics
+ package B {
+ import scala.language.{ dynamics => _ }
+ class Foo extends scala.Dynamic // error
+ trait Bar extends scala.Dynamic // error
+ object Baz extends scala.Dynamic // error
+ }
+}
diff --git a/tests/neg/dynamicSelectDynamicTest1.scala b/tests/neg/dynamicSelectDynamicTest1.scala
new file mode 100644
index 000000000..a45671ad1
--- /dev/null
+++ b/tests/neg/dynamicSelectDynamicTest1.scala
@@ -0,0 +1,10 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic
+
+object DynamicTest {
+ def testSelect = {
+ new Foo().bazSelect // error
+ ()
+ }
+}
diff --git a/tests/neg/dynamicSelectDynamicTest2.scala b/tests/neg/dynamicSelectDynamicTest2.scala
new file mode 100644
index 000000000..9ba19a14d
--- /dev/null
+++ b/tests/neg/dynamicSelectDynamicTest2.scala
@@ -0,0 +1,7 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic
+
+object DynamicTest {
+ def testSelect = new Foo().bazSelect // error
+}
diff --git a/tests/neg/dynamicSelectDynamicTest3.scala b/tests/neg/dynamicSelectDynamicTest3.scala
new file mode 100644
index 000000000..acdad7033
--- /dev/null
+++ b/tests/neg/dynamicSelectDynamicTest3.scala
@@ -0,0 +1,7 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic
+
+object DynamicTest {
+ new Foo().bazSelect // error
+}
diff --git a/tests/neg/dynamicSelectDynamicTest4.scala b/tests/neg/dynamicSelectDynamicTest4.scala
new file mode 100644
index 000000000..7295a43fd
--- /dev/null
+++ b/tests/neg/dynamicSelectDynamicTest4.scala
@@ -0,0 +1,11 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def selectDynamic(name: String): String = ???
+}
+
+object DynamicTest {
+ def testSelect: Int = {
+ new Foo().bazSelect // error
+ }
+}
diff --git a/tests/neg/dynamicSelectDynamicTest5.scala b/tests/neg/dynamicSelectDynamicTest5.scala
new file mode 100644
index 000000000..17836efe4
--- /dev/null
+++ b/tests/neg/dynamicSelectDynamicTest5.scala
@@ -0,0 +1,7 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic
+
+object DynamicTest {
+ new Foo().bazSelectUpdate(6) = "a" // error
+}
diff --git a/tests/neg/dynamicSelectDynamicTest6.scala b/tests/neg/dynamicSelectDynamicTest6.scala
new file mode 100644
index 000000000..8df9bf492
--- /dev/null
+++ b/tests/neg/dynamicSelectDynamicTest6.scala
@@ -0,0 +1,11 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def selectDynamic(name: Int): String = ???
+}
+
+object DynamicTest {
+ def testSelect: String = {
+ new Foo().bazSelect // error
+ }
+}
diff --git a/tests/neg/dynamicSelectDynamicTest7.scala b/tests/neg/dynamicSelectDynamicTest7.scala
new file mode 100644
index 000000000..4b4207844
--- /dev/null
+++ b/tests/neg/dynamicSelectDynamicTest7.scala
@@ -0,0 +1,9 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def applyDynamic(name: String)(args: Any*): String = ???
+}
+
+object DynamicTest {
+ new Foo().selectDynamic("bar") // error
+}
diff --git a/tests/neg/dynamicUpdateDynamicTest1.scala b/tests/neg/dynamicUpdateDynamicTest1.scala
new file mode 100644
index 000000000..8eba9fe60
--- /dev/null
+++ b/tests/neg/dynamicUpdateDynamicTest1.scala
@@ -0,0 +1,7 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic
+
+object DynamicTest {
+ new Foo().bazUpdate = 42 // error
+}
diff --git a/tests/neg/dynamicUpdateDynamicTest2.scala b/tests/neg/dynamicUpdateDynamicTest2.scala
new file mode 100644
index 000000000..8bb8a9537
--- /dev/null
+++ b/tests/neg/dynamicUpdateDynamicTest2.scala
@@ -0,0 +1,9 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def updateDynamic(name: String)(value: String): Unit = ???
+}
+
+object DynamicTest {
+ new Foo().bazUpdate = 42 // error
+}
diff --git a/tests/neg/dynamicUpdateDynamicTest3.scala b/tests/neg/dynamicUpdateDynamicTest3.scala
new file mode 100644
index 000000000..22008dda4
--- /dev/null
+++ b/tests/neg/dynamicUpdateDynamicTest3.scala
@@ -0,0 +1,9 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def updateDynamic(name: String)(value: Int): Unit = ???
+}
+
+object DynamicTest {
+ def test: Int = new Foo().bazUpdate = 42 // error
+}
diff --git a/tests/neg/dynamicUpdateDynamicTest4.scala b/tests/neg/dynamicUpdateDynamicTest4.scala
new file mode 100644
index 000000000..3cdd32b3c
--- /dev/null
+++ b/tests/neg/dynamicUpdateDynamicTest4.scala
@@ -0,0 +1,9 @@
+import scala.language.dynamics
+
+class Foo extends scala.Dynamic {
+ def updateDynamic(name: Int)(value: Int): Unit = ???
+}
+
+object DynamicTest {
+ new Foo().bazUpdate = 42 // error
+}