diff options
Diffstat (limited to 'tests/pending/run/applydynamic_sip.scala')
-rw-r--r-- | tests/pending/run/applydynamic_sip.scala | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/tests/pending/run/applydynamic_sip.scala b/tests/pending/run/applydynamic_sip.scala deleted file mode 100644 index a163ab960..000000000 --- a/tests/pending/run/applydynamic_sip.scala +++ /dev/null @@ -1,66 +0,0 @@ -object Test extends dotty.runtime.LegacyApp { - object stubUpdate { - def update(as: Any*) = println(".update"+as.toList.mkString("(",", ", ")")) - } - - object stub { - def apply = {println(".apply"); stubUpdate} - def apply(as: Any*) = println(".apply"+as.toList.mkString("(",", ", ")")) - def update(as: Any*) = println(".update"+as.toList.mkString("(",", ", ")")) - } - class MyDynamic extends Dynamic { - def applyDynamic[T](n: String)(as: Any*) = {println("qual.applyDynamic("+ n +")"+ as.toList.mkString("(",", ", ")")); stub} - def applyDynamicNamed[T](n: String)(as: (String, Any)*) = {println("qual.applyDynamicNamed("+ n +")"+ as.toList.mkString("(",", ", ")")); stub} - def selectDynamic[T](n: String) = {println("qual.selectDynamic("+ n +")"); stub} - def updateDynamic(n: String)(x: Any): Unit = {println("qual.updateDynamic("+ n +")("+ x +")")} - } - val qual = new MyDynamic - val expr = "expr" - val a = "a" - val a2 = "a2" - type T = String - - // If qual.sel is followed by a potential type argument list [Ts] and an argument list (arg1, …, argn) where none of the arguments argi are named: - // qual.applyDynamic(“sel”)(arg1, …, argn) - qual.sel() - qual.sel(a) - // qual.sel(a, a2: _*) -- should not accept varargs? - qual.sel(a)(a2) - qual.sel[T](a) - qual.sel[T](a)(a2) - - // If qual.sel is followed by a potential type argument list [Ts] - // and a non-empty named argument list (x1 = arg1, …, xn = argn) where some name prefixes xi = might be missing: - // qual.applyDynamicNamed(“sel”)(xs1 -> arg1, …, xsn -> argn) - qual.sel(arg = a) - qual.sel[T](arg = a) - qual.sel(a, arg2 = "a2") - // qual.sel(a)(a2, arg2 = "a2") - // qual.sel[T](a)(a2, arg2 = "a2") - // qual.sel(arg = a, a2: _*) - // qual.sel(arg, arg2 = "a2", a2: _*) - - // If qual.sel appears immediately on the left-hand side of an assigment - // qual.updateDynamic(“sel”)(expr) - qual.sel = expr - - // If qual.sel, possibly applied to type arguments, but is - // not applied to explicit value arguments, - // nor immediately followed by an assignment operator: - // qual.selectDynamic[Ts](“sel”) - qual.sel - qual.sel[T] - - qual.sel(1) = expr // parser turns this into qual.sel.update(1, expr) - qual.sel() = expr // parser turns this into qual.sel.update(expr) - qual.sel.apply(1) - qual.sel.apply(1) = 1 - - qual.apply(a) - qual.apply[String](a) - qual(a) - qual[String](a) - qual[T](arg = a) - qual(a, arg2 = "a2") - qual(a) = a2 -} |