aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNicolas Stucki <nicolas.stucki@gmail.com>2016-07-28 11:42:28 +0200
committerNicolas Stucki <nicolas.stucki@gmail.com>2016-07-28 13:29:30 +0200
commit1744f79cf9fe5b1a44532115726ea88a8e7a979a (patch)
tree702df2bf9e49e97f2a7ed9428193af324e9019b1 /src
parent79e0fe02708a115140f53678499c423c773123c4 (diff)
downloaddotty-1744f79cf9fe5b1a44532115726ea88a8e7a979a.tar.gz
dotty-1744f79cf9fe5b1a44532115726ea88a8e7a979a.tar.bz2
dotty-1744f79cf9fe5b1a44532115726ea88a8e7a979a.zip
Add Function25 on top of #1413.
Diffstat (limited to 'src')
-rw-r--r--src/dotty/tools/dotc/core/Definitions.scala4
-rw-r--r--src/scala/Function25.scala21
-rw-r--r--src/scala/Function26.scala20
-rw-r--r--src/scala/Function27.scala20
-rw-r--r--src/scala/Function28.scala20
-rw-r--r--src/scala/Function29.scala20
-rw-r--r--src/scala/Function30.scala20
7 files changed, 123 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/core/Definitions.scala b/src/dotty/tools/dotc/core/Definitions.scala
index 5a19903be..cb83fda04 100644
--- a/src/dotty/tools/dotc/core/Definitions.scala
+++ b/src/dotty/tools/dotc/core/Definitions.scala
@@ -13,8 +13,8 @@ import scala.reflect.api.{ Universe => ApiUniverse }
object Definitions {
val MaxTupleArity, MaxAbstractFunctionArity = 22
- val MaxFunctionArity = 24
- // Awaiting a definite solution that drops the limit altogether, 24 gives a safety
+ val MaxFunctionArity = 30
+ // Awaiting a definite solution that drops the limit altogether, 30 gives a safety
// margin over the previous 22, so that treecopiers in miniphases are allowed to
// temporarily create larger closures. This is needed in lambda lift where large closures
// are first formed by treecopiers before they are split apart into parameters and
diff --git a/src/scala/Function25.scala b/src/scala/Function25.scala
new file mode 100644
index 000000000..6df740b5b
--- /dev/null
+++ b/src/scala/Function25.scala
@@ -0,0 +1,21 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2013, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+package scala
+
+
+/** A function of 25 parameters. Used as a temporary fix until arity limit is dropped.
+ *
+ */
+trait Function25[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, -T18, -T19, -T20, -T21, -T22, -T23, -T24, -T25, +R] extends AnyRef { self =>
+ /** Apply the body of this function to the arguments.
+ * @return the result of function application.
+ */
+ def apply(v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8, v9: T9, v10: T10, v11: T11, v12: T12, v13: T13, v14: T14, v15: T15, v16: T16, v17: T17, v18: T18, v19: T19, v20: T20, v21: T21, v22: T22, v23: T23, v24: T24, v25: T25): R
+
+ override def toString() = "<function25>"
+}
diff --git a/src/scala/Function26.scala b/src/scala/Function26.scala
new file mode 100644
index 000000000..5daccb6f0
--- /dev/null
+++ b/src/scala/Function26.scala
@@ -0,0 +1,20 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2013, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+package scala
+
+/** A function of 26 parameters. Used as a temporary fix until arity limit is dropped.
+ *
+ */
+trait Function26[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, -T18, -T19, -T20, -T21, -T22, -T23, -T24, -T25, -T26, +R] extends AnyRef { self =>
+ /** Apply the body of this function to the arguments.
+ * @return the result of function application.
+ */
+ def apply(v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8, v9: T9, v10: T10, v11: T11, v12: T12, v13: T13, v14: T14, v15: T15, v16: T16, v17: T17, v18: T18, v19: T19, v20: T20, v21: T21, v22: T22, v23: T23, v24: T24, v25: T25, v26: T26): R
+
+ override def toString() = "<function26>"
+}
diff --git a/src/scala/Function27.scala b/src/scala/Function27.scala
new file mode 100644
index 000000000..daebd3ed4
--- /dev/null
+++ b/src/scala/Function27.scala
@@ -0,0 +1,20 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2013, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+package scala
+
+/** A function of 27 parameters. Used as a temporary fix until arity limit is dropped.
+ *
+ */
+trait Function27[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, -T18, -T19, -T20, -T21, -T22, -T23, -T24, -T25, -T26, -T27, +R] extends AnyRef { self =>
+ /** Apply the body of this function to the arguments.
+ * @return the result of function application.
+ */
+ def apply(v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8, v9: T9, v10: T10, v11: T11, v12: T12, v13: T13, v14: T14, v15: T15, v16: T16, v17: T17, v18: T18, v19: T19, v20: T20, v21: T21, v22: T22, v23: T23, v24: T24, v25: T25, v26: T26, v27: T27): R
+
+ override def toString() = "<function27>"
+}
diff --git a/src/scala/Function28.scala b/src/scala/Function28.scala
new file mode 100644
index 000000000..82912caea
--- /dev/null
+++ b/src/scala/Function28.scala
@@ -0,0 +1,20 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2013, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+package scala
+
+/** A function of 28 parameters. Used as a temporary fix until arity limit is dropped.
+ *
+ */
+trait Function28[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, -T18, -T19, -T20, -T21, -T22, -T23, -T24, -T25, -T26, -T27, -T28, +R] extends AnyRef { self =>
+ /** Apply the body of this function to the arguments.
+ * @return the result of function application.
+ */
+ def apply(v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8, v9: T9, v10: T10, v11: T11, v12: T12, v13: T13, v14: T14, v15: T15, v16: T16, v17: T17, v18: T18, v19: T19, v20: T20, v21: T21, v22: T22, v23: T23, v24: T24, v25: T25, v26: T26, v27: T27, v28: T28): R
+
+ override def toString() = "<function28>"
+}
diff --git a/src/scala/Function29.scala b/src/scala/Function29.scala
new file mode 100644
index 000000000..6dabf2051
--- /dev/null
+++ b/src/scala/Function29.scala
@@ -0,0 +1,20 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2013, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+package scala
+
+/** A function of 29 parameters. Used as a temporary fix until arity limit is dropped.
+ *
+ */
+trait Function29[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, -T18, -T19, -T20, -T21, -T22, -T23, -T24, -T25, -T26, -T27, -T28, -T29, +R] extends AnyRef { self =>
+ /** Apply the body of this function to the arguments.
+ * @return the result of function application.
+ */
+ def apply(v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8, v9: T9, v10: T10, v11: T11, v12: T12, v13: T13, v14: T14, v15: T15, v16: T16, v17: T17, v18: T18, v19: T19, v20: T20, v21: T21, v22: T22, v23: T23, v24: T24, v25: T25, v26: T26, v27: T27, v28: T28, v29: T29): R
+
+ override def toString() = "<function29>"
+}
diff --git a/src/scala/Function30.scala b/src/scala/Function30.scala
new file mode 100644
index 000000000..20fd970dd
--- /dev/null
+++ b/src/scala/Function30.scala
@@ -0,0 +1,20 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2013, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+package scala
+
+/** A function of 30 parameters. Used as a temporary fix until arity limit is dropped.
+ *
+ */
+trait Function30[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, -T18, -T19, -T20, -T21, -T22, -T23, -T24, -T25, -T26, -T27, -T28, -T29, -T30, +R] extends AnyRef { self =>
+ /** Apply the body of this function to the arguments.
+ * @return the result of function application.
+ */
+ def apply(v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8, v9: T9, v10: T10, v11: T11, v12: T12, v13: T13, v14: T14, v15: T15, v16: T16, v17: T17, v18: T18, v19: T19, v20: T20, v21: T21, v22: T22, v23: T23, v24: T24, v25: T25, v26: T26, v27: T27, v28: T28, v29: T29, v30: T30): R
+
+ override def toString() = "<function30>"
+}