summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBurak Emir <emir@epfl.ch>2006-11-27 14:29:19 +0000
committerBurak Emir <emir@epfl.ch>2006-11-27 14:29:19 +0000
commitccf513fe443e842a2dd1ceababe173cda27f99c2 (patch)
tree755440f54708ad1a0838311ee1cc7ece73cbc4d8
parent6538ff2bea57b2c14e4cb27a06e10c0dbe7081bb (diff)
downloadscala-ccf513fe443e842a2dd1ceababe173cda27f99c2.tar.gz
scala-ccf513fe443e842a2dd1ceababe173cda27f99c2.tar.bz2
scala-ccf513fe443e842a2dd1ceababe173cda27f99c2.zip
more products, plus some static optimization in...
more products, plus some static optimization in pattern matcher
-rw-r--r--src/build/genprod.scala267
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/Parsers.scala9
-rw-r--r--src/compiler/scala/tools/nsc/matching/PatternMatchers.scala16
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Definitions.scala9
-rw-r--r--src/compiler/scala/tools/nsc/symtab/StdNames.scala1
-rw-r--r--src/library/scala/Function0.scala8
-rw-r--r--src/library/scala/Function1.scala15
-rw-r--r--src/library/scala/Function2.scala8
-rw-r--r--src/library/scala/Function3.scala10
-rw-r--r--src/library/scala/Function4.scala10
-rw-r--r--src/library/scala/Function5.scala10
-rw-r--r--src/library/scala/Function6.scala10
-rw-r--r--src/library/scala/Function7.scala10
-rw-r--r--src/library/scala/Function8.scala10
-rw-r--r--src/library/scala/PartialFunction.scala2
-rw-r--r--src/library/scala/Product0.scala2
-rw-r--r--src/library/scala/Product1.scala2
-rw-r--r--src/library/scala/Product10.scala75
-rw-r--r--src/library/scala/Product11.scala79
-rw-r--r--src/library/scala/Product12.scala83
-rw-r--r--src/library/scala/Product13.scala87
-rw-r--r--src/library/scala/Product14.scala91
-rw-r--r--src/library/scala/Product15.scala95
-rw-r--r--src/library/scala/Product16.scala99
-rw-r--r--src/library/scala/Product17.scala103
-rw-r--r--src/library/scala/Product18.scala107
-rw-r--r--src/library/scala/Product19.scala111
-rw-r--r--src/library/scala/Product2.scala2
-rw-r--r--src/library/scala/Product20.scala115
-rw-r--r--src/library/scala/Product21.scala119
-rw-r--r--src/library/scala/Product22.scala123
-rw-r--r--src/library/scala/Product3.scala2
-rw-r--r--src/library/scala/Product4.scala2
-rw-r--r--src/library/scala/Product5.scala2
-rw-r--r--src/library/scala/Product6.scala2
-rw-r--r--src/library/scala/Product7.scala2
-rw-r--r--src/library/scala/Product8.scala2
-rw-r--r--src/library/scala/Product9.scala2
-rw-r--r--src/library/scala/Tuple1.scala9
-rw-r--r--src/library/scala/Tuple2.scala9
-rw-r--r--src/library/scala/Tuple3.scala9
-rw-r--r--src/library/scala/Tuple4.scala9
-rw-r--r--src/library/scala/Tuple5.scala9
-rw-r--r--src/library/scala/Tuple6.scala9
-rw-r--r--src/library/scala/Tuple7.scala9
-rw-r--r--src/library/scala/Tuple8.scala9
46 files changed, 1694 insertions, 80 deletions
diff --git a/src/build/genprod.scala b/src/build/genprod.scala
new file mode 100644
index 0000000000..21c1a8c662
--- /dev/null
+++ b/src/build/genprod.scala
@@ -0,0 +1,267 @@
+// author: buraq
+
+
+// This program generates the Product$i classes, where 0 <= i <+ MAXWIDTH
+
+// usage: scala -classpath ... genprod PATH
+// where PATH is the desired output directory
+
+// $Id$
+object genprod {
+
+ /** The biggest ?? has Sup?? - 1 components/arguments */
+ val SUP_PRODUCT_ARITY = 23
+ val SUP_TUPLE_ARITY = 9
+ val SUP_FUNCTION_ARITY = 9
+
+ def productClassname(i:Int) = "Product"+i
+
+ def productFilename(i:Int) = productClassname(i)+".scala"
+
+ def tupleClassname(i:Int) = "Tuple"+i
+
+ def tupleFilename(i:Int) = tupleClassname(i)+".scala"
+
+ def functionClassname(i:Int) = "Function"+i
+
+ def functionFilename(i:Int) = functionClassname(i)+".scala"
+
+ def targs(i:Int) =
+ for (val j <- List.range(1,i+1)) yield "T" + j
+
+ def covariantArgs(i:Int) =
+ for (val t <- targs(i)) yield "+" + t
+
+ def contraCoArgs(i:Int) =
+ (for (val t <- targs(i)) yield "-" + t):::List("+R")
+
+ def vdefs(i: Int) =
+ for (val j <- List.range(1,i+1)) yield "v" + j
+
+ def mdefs(i: Int) =
+ for (val j <- List.range(1,i+1)) yield "_" + j
+
+
+ def zippedAndCommaSeparated (left: List[String], right: List[String]): String = {
+ val sb = new StringBuffer()
+ val it = (left zip right).elements
+ def append1 = {
+ val p = it.next
+ sb.append(p._1).append(':').append(p._2)
+ }
+ if(it.hasNext) {
+ append1
+ while(it.hasNext) { sb.append(", "); append1 }
+ }
+ sb.toString
+ }
+ def fields (i:Int) = zippedAndCommaSeparated( mdefs(i), targs(i) )
+
+ def funArgs(i:Int) = zippedAndCommaSeparated( vdefs(i), targs(i) )
+
+ def productFiles =
+ for(val i <- List.range(0, SUP_PRODUCT_ARITY)) yield ProductFile.make(i) ;
+
+ def tupleFiles =
+ for(val i <- List.range(1, SUP_TUPLE_ARITY)) yield TupleFile.make(i);
+
+ def functionFiles =
+ for(val i <- List.range(0, SUP_FUNCTION_ARITY)) yield FunctionFile.make(i)
+
+ def allfiles =
+ productFiles ::: tupleFiles ::: functionFiles
+
+ def main(args:Array[String]) = {
+ if(args.length != 1) {
+ Console.println("please give path of output directory")
+ System.exit(-1)
+ }
+ import java.io.{ File, FileOutputStream }
+ import java.nio.channels.Channels
+ val out = args(0)
+ for(val node <- allfiles) {
+ val f = new File(out + File.separator + node.attributes("name"))
+ f.createNewFile
+ val fos = new FileOutputStream(f)
+ val c = fos.getChannel
+ val w = Channels.newWriter(c, "utf-8")
+ w.write(node.text)
+ w.close
+ }
+ }
+}
+
+/* zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
+ F U N C T I O N
+zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz */
+
+object FunctionFile {
+ import genprod._
+ def make(i: Int) = {
+ val __typeArgs__ = contraCoArgs(i).mkString("[",", ","]")
+ val __funArgs__ = funArgs(i)
+<file name={functionFilename(i)}>
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// generated on {new java.util.Date().toString()} {if(descriptiveComment(i).length > 0) "(with fancy comment)" else ""} {if(moreMethods(i).length > 0) "(with extra methods)" else ""}
+// $Id$
+
+package scala
+
+
+/**
+ * Function with {i} parameters. {DescriptiveComment.forFunction(i)}
+ */
+trait {functionClassname(i)} {__typeArgs__} extends AnyRef {{
+ def apply({__funArgs__}): R
+ override def toString() = "&lt;function>"
+ {moreMethods(i)}
+}}
+</file>
+}
+
+ def moreMethods(i:Int) = i match {
+ case 1 => """
+ def compose[A](g: A => T1): A => R = { x => apply(g(x)) }
+ def andThen[A](g: R => A): T1 => A = g compose this
+"""
+ case _ => ""
+ }
+ def descriptiveComment(i:Int) = i match {
+ case 0 => """In the following example the definition of
+ * <code>currentSeconds</code> is a shorthand for the anonymous class
+ * definition <code>anonfun0</code>:
+ * <pre>
+ * <b>object</b> Main <b>extends</b> Application {
+ *
+ * <b>val</b> currentSeconds = () => System.currentTimeMillis() / 1000L
+ *
+ * <b>val</b> anonfun0 = <b>new</b> Function0[Long] {
+ * <b>def</b> apply(): Long = System.currentTimeMillis() / 1000L
+ * }
+ *
+ * Console.println(currentSeconds())
+ * Console.println(anonfun0())
+ * }</pre>"""
+ case 1 => """In the following example the definition of
+ * <code>succ</code> is a shorthand for the anonymous class definition
+ * <code>anonfun1</code>:
+ * <pre>
+ * <b>object</b> Main <b>extends</b> Application {
+ *
+ * <b>val</b> succ = (x: Int) => x + 1
+ *
+ * <b>val</b> anonfun1 = <b>new</b> Function1[Int, Int] {
+ * <b>def</b> apply(x: Int): Int = x + 1
+ * }
+ *
+ * Console.println(succ(0))
+ * Console.println(anonfun1(0))
+ * }</pre>"""
+ case 2 => """In the following example the definition of
+ * <code>max</code> is a shorthand for the anonymous class definition
+ * <code>anonfun2</code>:
+ * <pre>
+ * <b>object</b> Main <b>extends</b> Application {
+ *
+ * <b>val</b> max = (x: Int, y: Int) => <b>if</b> (x < y) y <b>else</b> x
+ *
+ * <b>val</b> anonfun2 = <b>new</b> Function2[Int, Int, Int] {
+ * <b>def</b> apply(x: Int, y: Int): Int = <b>if</b> (x < y) y <b>else</b> x
+ * }
+ *
+ * Console.println(max(0, 1))
+ * Console.println(anonfun2(0, 1))
+ * }</pre>"""
+ case _ => ""
+ }
+
+} // object FunctionFile
+/* zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
+ T U P L E
+zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz */
+
+object TupleFile {
+ import genprod._
+ def make(i: Int) = {
+ val __typeArgs__ = covariantArgs(i).mkString("[",", ","]")
+ val __fields__ = fields(i)
+<file name={tupleFilename(i)}>
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+// generated on {new java.util.Date().toString()}
+package scala;
+
+/** {tupleClassname(i)} is the canonical representation of a @see {productClassname(i)} */
+case class {tupleClassname(i)} {__typeArgs__} ({ __fields__ }) {{
+
+ override def productPrefix = ""
+
+}}
+</file>
+ }
+} // object TupleFile
+
+
+
+/* zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
+ P R O D U C T
+zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz */
+object ProductFile {
+ import genprod._
+ def make(i:Int) = {
+ val __typeArgs__ = if(i==0) Nil else covariantArgs(i).mkString("[",", ","]")
+<file name={productFilename(i)}>
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// generated on {new java.util.Date().toString()}
+package scala
+
+import Predef._
+
+/** {productClassname(i)} is a cartesian product of {i} components
+ */
+trait {productClassname(i)} {__typeArgs__} extends Product {{
+
+ /**
+ * The arity of this product.
+ * @return {i}
+ */
+ override def arity = {i}
+
+ /**
+ * Returns the n-th projection of this product if 0&lt;n&lt;=arity, otherwise null
+ * @param n number of the projection to be returned
+ * @throws IndexOutOfBoundsException
+ */
+ override def element(n: Int) = n match {{
+ {for(val Tuple2(m,j) <- mdefs(i).zip(List.range(1,i+1)))
+ yield "case "+j+" => "+m+"\n "}case _ => throw new IndexOutOfBoundsException(n.toString())
+ }}
+
+ {for(val Tuple2(m,t) <- mdefs(i) zip targs(i)) yield
+ "/** projection of this product */\n def "+m+":"+t+"\n\n " }
+}}
+</file>
+ }
+}
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
index 86219c6876..3c0c9e954a 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
@@ -1821,10 +1821,13 @@ trait Parsers requires SyntaxAnalyzer {
if (!vparamss.isEmpty) {
val argtypes: List[Tree] = vparamss.head map (.tpt.duplicate) //remove type annotation and you will get an interesting error message!!!
val nargs = argtypes.length
- if (nargs <= definitions.MaxTupleArity)
+ if (nargs <= definitions.MaxProductArity)
parents += productConstr(argtypes)
- } else
- parents += productConstr(Nil)
+ else
+ unit.warning(in.currentPos, "can't have more than "+definitions.MaxProductArity+" case fields ")
+ } else {
+ parents += productConstr(Nil)
+ }
}
val ps = parents.toList
newLineOptWhenFollowedBy(LBRACE)
diff --git a/src/compiler/scala/tools/nsc/matching/PatternMatchers.scala b/src/compiler/scala/tools/nsc/matching/PatternMatchers.scala
index da942995cb..56cedceb9e 100644
--- a/src/compiler/scala/tools/nsc/matching/PatternMatchers.scala
+++ b/src/compiler/scala/tools/nsc/matching/PatternMatchers.scala
@@ -62,6 +62,7 @@ trait PatternMatchers requires (transform.ExplicitOuter with PatternNodes) {
// statistics
var nremoved = 0
var nsubstituted = 0
+ var nstatic = 0
/** the symbol of the result variable
*/
@@ -746,8 +747,11 @@ print()
//print()
generalSwitchToTree()
}
- //if(settings.statistics.value)
- //Console.println("could remove "+(nremoved+nsubstituted)+" ValDefs, "+nremoved+" by deleting and "+nsubstituted+" by substitution")
+ //if(settings.Xpatternstatistics.value) {
+ // Console.print("deleted "+nremoved+" temps,")
+ // Console.print("substituted "+nsubstituted+" temps")
+ // Console.println("and optimized "+(nstatic)+" instance-tests to ne-null")
+ //}
return t
}
case class Break(res:Boolean) extends java.lang.Throwable
@@ -1174,7 +1178,13 @@ print()
}
val ntpe = node.getTpe
- var cond = gen.mkIsInstanceOf(selector.duplicate, ntpe)
+ var cond = typed { gen.mkIsInstanceOf(selector.duplicate, ntpe) }
+
+ // if type 2 test is same as static type, then just null test
+ if(selector.tpe =:= ntpe) {
+ cond = typed { Apply(Select(selector.duplicate, nme.ne), List(Literal(Constant(null)))) }
+ nstatic = nstatic + 1
+ }
// compare outer instance for patterns like foo1.Bar foo2.Bar if not statically known to match
if(!outerAlwaysEqual(casted.tpe, selector.tpe)) {
diff --git a/src/compiler/scala/tools/nsc/symtab/Definitions.scala b/src/compiler/scala/tools/nsc/symtab/Definitions.scala
index b71af309af..8bffa1e8f5 100644
--- a/src/compiler/scala/tools/nsc/symtab/Definitions.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Definitions.scala
@@ -113,17 +113,18 @@ trait Definitions requires SymbolTable {
typeRef(sym.typeConstructor.prefix, sym, elems)
} else NoType;
+ val MaxProductArity = 22
/* <unapply> */
- val ProductClass: Array[Symbol] = new Array(MaxTupleArity + 1)
+ val ProductClass: Array[Symbol] = new Array(MaxProductArity + 1)
def productProj(n: Int, j: Int) = getMember(ProductClass(n), "_" + j)
def isProductType(tp: Type): Boolean = tp match {
case TypeRef(_, sym, elems) =>
- elems.length <= MaxTupleArity && sym == ProductClass(elems.length);
+ elems.length <= MaxProductArity && sym == ProductClass(elems.length);
case _ =>
false
}
def productType(elems: List[Type]) =
- if (elems.length <= MaxTupleArity) {
+ if (elems.length <= MaxProductArity) {
val sym = ProductClass(elems.length)
typeRef(sym.typeConstructor.prefix, sym, elems)
} else NoType
@@ -618,6 +619,8 @@ trait Definitions requires SymbolTable {
for (val i <- 1 to MaxTupleArity) {
TupleClass(i) = getClass( "scala.Tuple" + i)
+ }
+ for (val i <- 1 to MaxProductArity) {
ProductClass(i) = getClass("scala.Product" + i)
}
/* </unapply> */
diff --git a/src/compiler/scala/tools/nsc/symtab/StdNames.scala b/src/compiler/scala/tools/nsc/symtab/StdNames.scala
index 4e30b6a457..70047ddafc 100644
--- a/src/compiler/scala/tools/nsc/symtab/StdNames.scala
+++ b/src/compiler/scala/tools/nsc/symtab/StdNames.scala
@@ -272,6 +272,7 @@ trait StdNames requires SymbolTable {
val lift_ = newTermName("lift")
val map = newTermName("map")
val n = newTermName("n")
+ val ne = newTermName("ne")
val nobinding = newTermName("nobinding")
val next = newTermName("next")
val newArray = newTermName("newArray")
diff --git a/src/library/scala/Function0.scala b/src/library/scala/Function0.scala
index 2daf0de622..5f2141510a 100644
--- a/src/library/scala/Function0.scala
+++ b/src/library/scala/Function0.scala
@@ -1,3 +1,4 @@
+
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
@@ -6,14 +7,14 @@
** |/ **
\* */
+// generated on Mon Nov 27 15:01:28 CET 2006 (with fancy comment)
// $Id$
-
package scala
/**
- * Function with no parameters. In the following example the definition of
+ * Function with 0 parameters. In the following example the definition of
* <code>currentSeconds</code> is a shorthand for the anonymous class
* definition <code>anonfun0</code>:
* <pre>
@@ -29,7 +30,8 @@ package scala
* Console.println(anonfun0())
* }</pre>
*/
-trait Function0[+R] extends AnyRef {
+trait Function0 [+R] extends AnyRef {
def apply(): R
override def toString() = "<function>"
+
}
diff --git a/src/library/scala/Function1.scala b/src/library/scala/Function1.scala
index add41c8c58..f05437c1b6 100644
--- a/src/library/scala/Function1.scala
+++ b/src/library/scala/Function1.scala
@@ -1,3 +1,4 @@
+
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
@@ -6,14 +7,14 @@
** |/ **
\* */
+// generated on Mon Nov 27 15:01:28 CET 2006 (with fancy comment) (with extra methods)
// $Id$
-
package scala
/**
- * Function with 1 parameter. In the following example the definition of
+ * Function with 1 parameters. In the following example the definition of
* <code>succ</code> is a shorthand for the anonymous class definition
* <code>anonfun1</code>:
* <pre>
@@ -29,9 +30,11 @@ package scala
* Console.println(anonfun1(0))
* }</pre>
*/
-trait Function1[-T0, +R] extends AnyRef {
- def apply(v0: T0): R
+trait Function1 [-T1, +R] extends AnyRef {
+ def apply(v1:T1): R
override def toString() = "<function>"
- def compose[A](g: A => T0): A => R = { x => apply(g(x)) }
-}
+ def compose[A](g: A => T1): A => R = { x => apply(g(x)) }
+ def andThen[A](g: R => A): T1 => A = g compose this
+
+}
diff --git a/src/library/scala/Function2.scala b/src/library/scala/Function2.scala
index be23a05716..73dfab251a 100644
--- a/src/library/scala/Function2.scala
+++ b/src/library/scala/Function2.scala
@@ -1,3 +1,4 @@
+
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
@@ -6,9 +7,9 @@
** |/ **
\* */
+// generated on Mon Nov 27 15:01:28 CET 2006 (with fancy comment)
// $Id$
-
package scala
@@ -29,7 +30,8 @@ package scala
* Console.println(anonfun2(0, 1))
* }</pre>
*/
-trait Function2[-T0, -T1, +R] extends AnyRef {
- def apply(v0: T0, v1: T1): R
+trait Function2 [-T1, -T2, +R] extends AnyRef {
+ def apply(v1:T1, v2:T2): R
override def toString() = "<function>"
+
}
diff --git a/src/library/scala/Function3.scala b/src/library/scala/Function3.scala
index b3925841a4..e00939b34c 100644
--- a/src/library/scala/Function3.scala
+++ b/src/library/scala/Function3.scala
@@ -1,3 +1,4 @@
+
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
@@ -6,16 +7,17 @@
** |/ **
\* */
+// generated on Mon Nov 27 15:01:28 CET 2006
// $Id$
-
package scala
/**
- * Function with 3 parameters
+ * Function with 3 parameters.
*/
-trait Function3[-T0, -T1, -T2, +R] extends AnyRef {
- def apply(v0: T0, v1: T1, v2: T2): R
+trait Function3 [-T1, -T2, -T3, +R] extends AnyRef {
+ def apply(v1:T1, v2:T2, v3:T3): R
override def toString() = "<function>"
+
}
diff --git a/src/library/scala/Function4.scala b/src/library/scala/Function4.scala
index b419574b9d..5626af9fd1 100644
--- a/src/library/scala/Function4.scala
+++ b/src/library/scala/Function4.scala
@@ -1,3 +1,4 @@
+
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
@@ -6,16 +7,17 @@
** |/ **
\* */
+// generated on Mon Nov 27 15:01:28 CET 2006
// $Id$
-
package scala
/**
- * Function with 4 parameters
+ * Function with 4 parameters.
*/
-trait Function4[-T0, -T1, -T2, -T3, +R] extends AnyRef {
- def apply(v0: T0, v1: T1, v2: T2, v3: T3): R
+trait Function4 [-T1, -T2, -T3, -T4, +R] extends AnyRef {
+ def apply(v1:T1, v2:T2, v3:T3, v4:T4): R
override def toString() = "<function>"
+
}
diff --git a/src/library/scala/Function5.scala b/src/library/scala/Function5.scala
index d2fa1e50fc..7aeb19efea 100644
--- a/src/library/scala/Function5.scala
+++ b/src/library/scala/Function5.scala
@@ -1,3 +1,4 @@
+
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
@@ -6,16 +7,17 @@
** |/ **
\* */
+// generated on Mon Nov 27 15:01:28 CET 2006
// $Id$
-
package scala
/**
- * Function with 5 parameters
+ * Function with 5 parameters.
*/
-trait Function5[-T0, -T1, -T2, -T3, -T4, +R] extends AnyRef {
- def apply(v0: T0, v1: T1, v2: T2, v3: T3, v4: T4): R
+trait Function5 [-T1, -T2, -T3, -T4, -T5, +R] extends AnyRef {
+ def apply(v1:T1, v2:T2, v3:T3, v4:T4, v5:T5): R
override def toString() = "<function>"
+
}
diff --git a/src/library/scala/Function6.scala b/src/library/scala/Function6.scala
index 2d270af3c2..cee9d99ebb 100644
--- a/src/library/scala/Function6.scala
+++ b/src/library/scala/Function6.scala
@@ -1,3 +1,4 @@
+
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
@@ -6,16 +7,17 @@
** |/ **
\* */
+// generated on Mon Nov 27 15:01:28 CET 2006
// $Id$
-
package scala
/**
- * Function with 6 parameters
+ * Function with 6 parameters.
*/
-trait Function6[-T0, -T1, -T2, -T3, -T4, -T5, +R] extends AnyRef {
- def apply(v0: T0, v1: T1, v2: T2, v3: T3, v4: T4, v5: T5): R
+trait Function6 [-T1, -T2, -T3, -T4, -T5, -T6, +R] extends AnyRef {
+ def apply(v1:T1, v2:T2, v3:T3, v4:T4, v5:T5, v6:T6): R
override def toString() = "<function>"
+
}
diff --git a/src/library/scala/Function7.scala b/src/library/scala/Function7.scala
index 0e69ed3ed2..8b1b2b8d1f 100644
--- a/src/library/scala/Function7.scala
+++ b/src/library/scala/Function7.scala
@@ -1,3 +1,4 @@
+
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
@@ -6,16 +7,17 @@
** |/ **
\* */
+// generated on Mon Nov 27 15:01:28 CET 2006
// $Id$
-
package scala
/**
- * Function with 7 parameters
+ * Function with 7 parameters.
*/
-trait Function7[-T0, -T1, -T2, -T3, -T4, -T5, -T6, +R] extends AnyRef {
- def apply(v0: T0, v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6): R
+trait Function7 [-T1, -T2, -T3, -T4, -T5, -T6, -T7, +R] extends AnyRef {
+ def apply(v1:T1, v2:T2, v3:T3, v4:T4, v5:T5, v6:T6, v7:T7): R
override def toString() = "<function>"
+
}
diff --git a/src/library/scala/Function8.scala b/src/library/scala/Function8.scala
index f5e5206cae..bea3deb8e2 100644
--- a/src/library/scala/Function8.scala
+++ b/src/library/scala/Function8.scala
@@ -1,3 +1,4 @@
+
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
@@ -6,16 +7,17 @@
** |/ **
\* */
+// generated on Mon Nov 27 15:01:28 CET 2006
// $Id$
-
package scala
/**
- * Function with 8 parameters
+ * Function with 8 parameters.
*/
-trait Function8[-T0, -T1, -T2, -T3, -T4, -T5, -T6, -T7, +R] extends AnyRef {
- def apply(v0: T0, v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7): R
+trait Function8 [-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, +R] extends AnyRef {
+ def apply(v1:T1, v2:T2, v3:T3, v4:T4, v5:T5, v6:T6, v7:T7, v8:T8): R
override def toString() = "<function>"
+
}
diff --git a/src/library/scala/PartialFunction.scala b/src/library/scala/PartialFunction.scala
index 316b62dea0..06b9f70681 100644
--- a/src/library/scala/PartialFunction.scala
+++ b/src/library/scala/PartialFunction.scala
@@ -37,7 +37,7 @@ trait PartialFunction[-A, +B] extends AnyRef with (A => B) {
else that.apply(x)
}
- def andThen[C](k: B => C) = new PartialFunction[A, C] {
+ override def andThen[C](k: B => C) = new PartialFunction[A, C] {
def isDefinedAt(x: A): Boolean = PartialFunction.this.isDefinedAt(x)
def apply(x: A): C = k(PartialFunction.this.apply(x))
}
diff --git a/src/library/scala/Product0.scala b/src/library/scala/Product0.scala
index a78fdd8ffe..713f0b8927 100644
--- a/src/library/scala/Product0.scala
+++ b/src/library/scala/Product0.scala
@@ -7,7 +7,7 @@
** |/ **
\* */
-// generated on Sun Nov 05 03:50:36 CET 2006
+// generated on Mon Nov 27 15:01:28 CET 2006
package scala
import Predef._
diff --git a/src/library/scala/Product1.scala b/src/library/scala/Product1.scala
index 944a49534b..afb436cc32 100644
--- a/src/library/scala/Product1.scala
+++ b/src/library/scala/Product1.scala
@@ -7,7 +7,7 @@
** |/ **
\* */
-// generated on Sun Nov 05 03:50:36 CET 2006
+// generated on Mon Nov 27 15:01:28 CET 2006
package scala
import Predef._
diff --git a/src/library/scala/Product10.scala b/src/library/scala/Product10.scala
new file mode 100644
index 0000000000..641aa43fa4
--- /dev/null
+++ b/src/library/scala/Product10.scala
@@ -0,0 +1,75 @@
+
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// generated on Mon Nov 27 15:01:28 CET 2006
+package scala
+
+import Predef._
+
+/** Product10 is a cartesian product of 10 components
+ */
+trait Product10 [+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10] extends Product {
+
+ /**
+ * The arity of this product.
+ * @return 10
+ */
+ override def arity = 10
+
+ /**
+ * Returns the n-th projection of this product if 0<n<=arity, otherwise null
+ * @param n number of the projection to be returned
+ * @throws IndexOutOfBoundsException
+ */
+ override def element(n: Int) = n match {
+ case 1 => _1
+ case 2 => _2
+ case 3 => _3
+ case 4 => _4
+ case 5 => _5
+ case 6 => _6
+ case 7 => _7
+ case 8 => _8
+ case 9 => _9
+ case 10 => _10
+ case _ => throw new IndexOutOfBoundsException(n.toString())
+ }
+
+ /** projection of this product */
+ def _1:T1
+
+ /** projection of this product */
+ def _2:T2
+
+ /** projection of this product */
+ def _3:T3
+
+ /** projection of this product */
+ def _4:T4
+
+ /** projection of this product */
+ def _5:T5
+
+ /** projection of this product */
+ def _6:T6
+
+ /** projection of this product */
+ def _7:T7
+
+ /** projection of this product */
+ def _8:T8
+
+ /** projection of this product */
+ def _9:T9
+
+ /** projection of this product */
+ def _10:T10
+
+
+}
diff --git a/src/library/scala/Product11.scala b/src/library/scala/Product11.scala
new file mode 100644
index 0000000000..807e979e70
--- /dev/null
+++ b/src/library/scala/Product11.scala
@@ -0,0 +1,79 @@
+
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// generated on Mon Nov 27 15:01:28 CET 2006
+package scala
+
+import Predef._
+
+/** Product11 is a cartesian product of 11 components
+ */
+trait Product11 [+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11] extends Product {
+
+ /**
+ * The arity of this product.
+ * @return 11
+ */
+ override def arity = 11
+
+ /**
+ * Returns the n-th projection of this product if 0<n<=arity, otherwise null
+ * @param n number of the projection to be returned
+ * @throws IndexOutOfBoundsException
+ */
+ override def element(n: Int) = n match {
+ case 1 => _1
+ case 2 => _2
+ case 3 => _3
+ case 4 => _4
+ case 5 => _5
+ case 6 => _6
+ case 7 => _7
+ case 8 => _8
+ case 9 => _9
+ case 10 => _10
+ case 11 => _11
+ case _ => throw new IndexOutOfBoundsException(n.toString())
+ }
+
+ /** projection of this product */
+ def _1:T1
+
+ /** projection of this product */
+ def _2:T2
+
+ /** projection of this product */
+ def _3:T3
+
+ /** projection of this product */
+ def _4:T4
+
+ /** projection of this product */
+ def _5:T5
+
+ /** projection of this product */
+ def _6:T6
+
+ /** projection of this product */
+ def _7:T7
+
+ /** projection of this product */
+ def _8:T8
+
+ /** projection of this product */
+ def _9:T9
+
+ /** projection of this product */
+ def _10:T10
+
+ /** projection of this product */
+ def _11:T11
+
+
+}
diff --git a/src/library/scala/Product12.scala b/src/library/scala/Product12.scala
new file mode 100644
index 0000000000..34e256b269
--- /dev/null
+++ b/src/library/scala/Product12.scala
@@ -0,0 +1,83 @@
+
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// generated on Mon Nov 27 15:01:28 CET 2006
+package scala
+
+import Predef._
+
+/** Product12 is a cartesian product of 12 components
+ */
+trait Product12 [+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12] extends Product {
+
+ /**
+ * The arity of this product.
+ * @return 12
+ */
+ override def arity = 12
+
+ /**
+ * Returns the n-th projection of this product if 0<n<=arity, otherwise null
+ * @param n number of the projection to be returned
+ * @throws IndexOutOfBoundsException
+ */
+ override def element(n: Int) = n match {
+ case 1 => _1
+ case 2 => _2
+ case 3 => _3
+ case 4 => _4
+ case 5 => _5
+ case 6 => _6
+ case 7 => _7
+ case 8 => _8
+ case 9 => _9
+ case 10 => _10
+ case 11 => _11
+ case 12 => _12
+ case _ => throw new IndexOutOfBoundsException(n.toString())
+ }
+
+ /** projection of this product */
+ def _1:T1
+
+ /** projection of this product */
+ def _2:T2
+
+ /** projection of this product */
+ def _3:T3
+
+ /** projection of this product */
+ def _4:T4
+
+ /** projection of this product */
+ def _5:T5
+
+ /** projection of this product */
+ def _6:T6
+
+ /** projection of this product */
+ def _7:T7
+
+ /** projection of this product */
+ def _8:T8
+
+ /** projection of this product */
+ def _9:T9
+
+ /** projection of this product */
+ def _10:T10
+
+ /** projection of this product */
+ def _11:T11
+
+ /** projection of this product */
+ def _12:T12
+
+
+}
diff --git a/src/library/scala/Product13.scala b/src/library/scala/Product13.scala
new file mode 100644
index 0000000000..81877e0e41
--- /dev/null
+++ b/src/library/scala/Product13.scala
@@ -0,0 +1,87 @@
+
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// generated on Mon Nov 27 15:01:28 CET 2006
+package scala
+
+import Predef._
+
+/** Product13 is a cartesian product of 13 components
+ */
+trait Product13 [+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +T13] extends Product {
+
+ /**
+ * The arity of this product.
+ * @return 13
+ */
+ override def arity = 13
+
+ /**
+ * Returns the n-th projection of this product if 0<n<=arity, otherwise null
+ * @param n number of the projection to be returned
+ * @throws IndexOutOfBoundsException
+ */
+ override def element(n: Int) = n match {
+ case 1 => _1
+ case 2 => _2
+ case 3 => _3
+ case 4 => _4
+ case 5 => _5
+ case 6 => _6
+ case 7 => _7
+ case 8 => _8
+ case 9 => _9
+ case 10 => _10
+ case 11 => _11
+ case 12 => _12
+ case 13 => _13
+ case _ => throw new IndexOutOfBoundsException(n.toString())
+ }
+
+ /** projection of this product */
+ def _1:T1
+
+ /** projection of this product */
+ def _2:T2
+
+ /** projection of this product */
+ def _3:T3
+
+ /** projection of this product */
+ def _4:T4
+
+ /** projection of this product */
+ def _5:T5
+
+ /** projection of this product */
+ def _6:T6
+
+ /** projection of this product */
+ def _7:T7
+
+ /** projection of this product */
+ def _8:T8
+
+ /** projection of this product */
+ def _9:T9
+
+ /** projection of this product */
+ def _10:T10
+
+ /** projection of this product */
+ def _11:T11
+
+ /** projection of this product */
+ def _12:T12
+
+ /** projection of this product */
+ def _13:T13
+
+
+}
diff --git a/src/library/scala/Product14.scala b/src/library/scala/Product14.scala
new file mode 100644
index 0000000000..89183be229
--- /dev/null
+++ b/src/library/scala/Product14.scala
@@ -0,0 +1,91 @@
+
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// generated on Mon Nov 27 15:01:28 CET 2006
+package scala
+
+import Predef._
+
+/** Product14 is a cartesian product of 14 components
+ */
+trait Product14 [+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +T13, +T14] extends Product {
+
+ /**
+ * The arity of this product.
+ * @return 14
+ */
+ override def arity = 14
+
+ /**
+ * Returns the n-th projection of this product if 0<n<=arity, otherwise null
+ * @param n number of the projection to be returned
+ * @throws IndexOutOfBoundsException
+ */
+ override def element(n: Int) = n match {
+ case 1 => _1
+ case 2 => _2
+ case 3 => _3
+ case 4 => _4
+ case 5 => _5
+ case 6 => _6
+ case 7 => _7
+ case 8 => _8
+ case 9 => _9
+ case 10 => _10
+ case 11 => _11
+ case 12 => _12
+ case 13 => _13
+ case 14 => _14
+ case _ => throw new IndexOutOfBoundsException(n.toString())
+ }
+
+ /** projection of this product */
+ def _1:T1
+
+ /** projection of this product */
+ def _2:T2
+
+ /** projection of this product */
+ def _3:T3
+
+ /** projection of this product */
+ def _4:T4
+
+ /** projection of this product */
+ def _5:T5
+
+ /** projection of this product */
+ def _6:T6
+
+ /** projection of this product */
+ def _7:T7
+
+ /** projection of this product */
+ def _8:T8
+
+ /** projection of this product */
+ def _9:T9
+
+ /** projection of this product */
+ def _10:T10
+
+ /** projection of this product */
+ def _11:T11
+
+ /** projection of this product */
+ def _12:T12
+
+ /** projection of this product */
+ def _13:T13
+
+ /** projection of this product */
+ def _14:T14
+
+
+}
diff --git a/src/library/scala/Product15.scala b/src/library/scala/Product15.scala
new file mode 100644
index 0000000000..92105fd8c3
--- /dev/null
+++ b/src/library/scala/Product15.scala
@@ -0,0 +1,95 @@
+
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// generated on Mon Nov 27 15:01:28 CET 2006
+package scala
+
+import Predef._
+
+/** Product15 is a cartesian product of 15 components
+ */
+trait Product15 [+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +T13, +T14, +T15] extends Product {
+
+ /**
+ * The arity of this product.
+ * @return 15
+ */
+ override def arity = 15
+
+ /**
+ * Returns the n-th projection of this product if 0<n<=arity, otherwise null
+ * @param n number of the projection to be returned
+ * @throws IndexOutOfBoundsException
+ */
+ override def element(n: Int) = n match {
+ case 1 => _1
+ case 2 => _2
+ case 3 => _3
+ case 4 => _4
+ case 5 => _5
+ case 6 => _6
+ case 7 => _7
+ case 8 => _8
+ case 9 => _9
+ case 10 => _10
+ case 11 => _11
+ case 12 => _12
+ case 13 => _13
+ case 14 => _14
+ case 15 => _15
+ case _ => throw new IndexOutOfBoundsException(n.toString())
+ }
+
+ /** projection of this product */
+ def _1:T1
+
+ /** projection of this product */
+ def _2:T2
+
+ /** projection of this product */
+ def _3:T3
+
+ /** projection of this product */
+ def _4:T4
+
+ /** projection of this product */
+ def _5:T5
+
+ /** projection of this product */
+ def _6:T6
+
+ /** projection of this product */
+ def _7:T7
+
+ /** projection of this product */
+ def _8:T8
+
+ /** projection of this product */
+ def _9:T9
+
+ /** projection of this product */
+ def _10:T10
+
+ /** projection of this product */
+ def _11:T11
+
+ /** projection of this product */
+ def _12:T12
+
+ /** projection of this product */
+ def _13:T13
+
+ /** projection of this product */
+ def _14:T14
+
+ /** projection of this product */
+ def _15:T15
+
+
+}
diff --git a/src/library/scala/Product16.scala b/src/library/scala/Product16.scala
new file mode 100644
index 0000000000..f0262d63aa
--- /dev/null
+++ b/src/library/scala/Product16.scala
@@ -0,0 +1,99 @@
+
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// generated on Mon Nov 27 15:01:28 CET 2006
+package scala
+
+import Predef._
+
+/** Product16 is a cartesian product of 16 components
+ */
+trait Product16 [+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +T13, +T14, +T15, +T16] extends Product {
+
+ /**
+ * The arity of this product.
+ * @return 16
+ */
+ override def arity = 16
+
+ /**
+ * Returns the n-th projection of this product if 0<n<=arity, otherwise null
+ * @param n number of the projection to be returned
+ * @throws IndexOutOfBoundsException
+ */
+ override def element(n: Int) = n match {
+ case 1 => _1
+ case 2 => _2
+ case 3 => _3
+ case 4 => _4
+ case 5 => _5
+ case 6 => _6
+ case 7 => _7
+ case 8 => _8
+ case 9 => _9
+ case 10 => _10
+ case 11 => _11
+ case 12 => _12
+ case 13 => _13
+ case 14 => _14
+ case 15 => _15
+ case 16 => _16
+ case _ => throw new IndexOutOfBoundsException(n.toString())
+ }
+
+ /** projection of this product */
+ def _1:T1
+
+ /** projection of this product */
+ def _2:T2
+
+ /** projection of this product */
+ def _3:T3
+
+ /** projection of this product */
+ def _4:T4
+
+ /** projection of this product */
+ def _5:T5
+
+ /** projection of this product */
+ def _6:T6
+
+ /** projection of this product */
+ def _7:T7
+
+ /** projection of this product */
+ def _8:T8
+
+ /** projection of this product */
+ def _9:T9
+
+ /** projection of this product */
+ def _10:T10
+
+ /** projection of this product */
+ def _11:T11
+
+ /** projection of this product */
+ def _12:T12
+
+ /** projection of this product */
+ def _13:T13
+
+ /** projection of this product */
+ def _14:T14
+
+ /** projection of this product */
+ def _15:T15
+
+ /** projection of this product */
+ def _16:T16
+
+
+}
diff --git a/src/library/scala/Product17.scala b/src/library/scala/Product17.scala
new file mode 100644
index 0000000000..104baf0748
--- /dev/null
+++ b/src/library/scala/Product17.scala
@@ -0,0 +1,103 @@
+
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// generated on Mon Nov 27 15:01:28 CET 2006
+package scala
+
+import Predef._
+
+/** Product17 is a cartesian product of 17 components
+ */
+trait Product17 [+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +T13, +T14, +T15, +T16, +T17] extends Product {
+
+ /**
+ * The arity of this product.
+ * @return 17
+ */
+ override def arity = 17
+
+ /**
+ * Returns the n-th projection of this product if 0<n<=arity, otherwise null
+ * @param n number of the projection to be returned
+ * @throws IndexOutOfBoundsException
+ */
+ override def element(n: Int) = n match {
+ case 1 => _1
+ case 2 => _2
+ case 3 => _3
+ case 4 => _4
+ case 5 => _5
+ case 6 => _6
+ case 7 => _7
+ case 8 => _8
+ case 9 => _9
+ case 10 => _10
+ case 11 => _11
+ case 12 => _12
+ case 13 => _13
+ case 14 => _14
+ case 15 => _15
+ case 16 => _16
+ case 17 => _17
+ case _ => throw new IndexOutOfBoundsException(n.toString())
+ }
+
+ /** projection of this product */
+ def _1:T1
+
+ /** projection of this product */
+ def _2:T2
+
+ /** projection of this product */
+ def _3:T3
+
+ /** projection of this product */
+ def _4:T4
+
+ /** projection of this product */
+ def _5:T5
+
+ /** projection of this product */
+ def _6:T6
+
+ /** projection of this product */
+ def _7:T7
+
+ /** projection of this product */
+ def _8:T8
+
+ /** projection of this product */
+ def _9:T9
+
+ /** projection of this product */
+ def _10:T10
+
+ /** projection of this product */
+ def _11:T11
+
+ /** projection of this product */
+ def _12:T12
+
+ /** projection of this product */
+ def _13:T13
+
+ /** projection of this product */
+ def _14:T14
+
+ /** projection of this product */
+ def _15:T15
+
+ /** projection of this product */
+ def _16:T16
+
+ /** projection of this product */
+ def _17:T17
+
+
+}
diff --git a/src/library/scala/Product18.scala b/src/library/scala/Product18.scala
new file mode 100644
index 0000000000..3d9ae2bbd1
--- /dev/null
+++ b/src/library/scala/Product18.scala
@@ -0,0 +1,107 @@
+
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// generated on Mon Nov 27 15:01:28 CET 2006
+package scala
+
+import Predef._
+
+/** Product18 is a cartesian product of 18 components
+ */
+trait Product18 [+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +T13, +T14, +T15, +T16, +T17, +T18] extends Product {
+
+ /**
+ * The arity of this product.
+ * @return 18
+ */
+ override def arity = 18
+
+ /**
+ * Returns the n-th projection of this product if 0<n<=arity, otherwise null
+ * @param n number of the projection to be returned
+ * @throws IndexOutOfBoundsException
+ */
+ override def element(n: Int) = n match {
+ case 1 => _1
+ case 2 => _2
+ case 3 => _3
+ case 4 => _4
+ case 5 => _5
+ case 6 => _6
+ case 7 => _7
+ case 8 => _8
+ case 9 => _9
+ case 10 => _10
+ case 11 => _11
+ case 12 => _12
+ case 13 => _13
+ case 14 => _14
+ case 15 => _15
+ case 16 => _16
+ case 17 => _17
+ case 18 => _18
+ case _ => throw new IndexOutOfBoundsException(n.toString())
+ }
+
+ /** projection of this product */
+ def _1:T1
+
+ /** projection of this product */
+ def _2:T2
+
+ /** projection of this product */
+ def _3:T3
+
+ /** projection of this product */
+ def _4:T4
+
+ /** projection of this product */
+ def _5:T5
+
+ /** projection of this product */
+ def _6:T6
+
+ /** projection of this product */
+ def _7:T7
+
+ /** projection of this product */
+ def _8:T8
+
+ /** projection of this product */
+ def _9:T9
+
+ /** projection of this product */
+ def _10:T10
+
+ /** projection of this product */
+ def _11:T11
+
+ /** projection of this product */
+ def _12:T12
+
+ /** projection of this product */
+ def _13:T13
+
+ /** projection of this product */
+ def _14:T14
+
+ /** projection of this product */
+ def _15:T15
+
+ /** projection of this product */
+ def _16:T16
+
+ /** projection of this product */
+ def _17:T17
+
+ /** projection of this product */
+ def _18:T18
+
+
+}
diff --git a/src/library/scala/Product19.scala b/src/library/scala/Product19.scala
new file mode 100644
index 0000000000..ba57af8a34
--- /dev/null
+++ b/src/library/scala/Product19.scala
@@ -0,0 +1,111 @@
+
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// generated on Mon Nov 27 15:01:28 CET 2006
+package scala
+
+import Predef._
+
+/** Product19 is a cartesian product of 19 components
+ */
+trait Product19 [+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +T13, +T14, +T15, +T16, +T17, +T18, +T19] extends Product {
+
+ /**
+ * The arity of this product.
+ * @return 19
+ */
+ override def arity = 19
+
+ /**
+ * Returns the n-th projection of this product if 0<n<=arity, otherwise null
+ * @param n number of the projection to be returned
+ * @throws IndexOutOfBoundsException
+ */
+ override def element(n: Int) = n match {
+ case 1 => _1
+ case 2 => _2
+ case 3 => _3
+ case 4 => _4
+ case 5 => _5
+ case 6 => _6
+ case 7 => _7
+ case 8 => _8
+ case 9 => _9
+ case 10 => _10
+ case 11 => _11
+ case 12 => _12
+ case 13 => _13
+ case 14 => _14
+ case 15 => _15
+ case 16 => _16
+ case 17 => _17
+ case 18 => _18
+ case 19 => _19
+ case _ => throw new IndexOutOfBoundsException(n.toString())
+ }
+
+ /** projection of this product */
+ def _1:T1
+
+ /** projection of this product */
+ def _2:T2
+
+ /** projection of this product */
+ def _3:T3
+
+ /** projection of this product */
+ def _4:T4
+
+ /** projection of this product */
+ def _5:T5
+
+ /** projection of this product */
+ def _6:T6
+
+ /** projection of this product */
+ def _7:T7
+
+ /** projection of this product */
+ def _8:T8
+
+ /** projection of this product */
+ def _9:T9
+
+ /** projection of this product */
+ def _10:T10
+
+ /** projection of this product */
+ def _11:T11
+
+ /** projection of this product */
+ def _12:T12
+
+ /** projection of this product */
+ def _13:T13
+
+ /** projection of this product */
+ def _14:T14
+
+ /** projection of this product */
+ def _15:T15
+
+ /** projection of this product */
+ def _16:T16
+
+ /** projection of this product */
+ def _17:T17
+
+ /** projection of this product */
+ def _18:T18
+
+ /** projection of this product */
+ def _19:T19
+
+
+}
diff --git a/src/library/scala/Product2.scala b/src/library/scala/Product2.scala
index b23fe3bd01..f786593546 100644
--- a/src/library/scala/Product2.scala
+++ b/src/library/scala/Product2.scala
@@ -7,7 +7,7 @@
** |/ **
\* */
-// generated on Sun Nov 05 03:50:36 CET 2006
+// generated on Mon Nov 27 15:01:28 CET 2006
package scala
import Predef._
diff --git a/src/library/scala/Product20.scala b/src/library/scala/Product20.scala
new file mode 100644
index 0000000000..0994c1d21e
--- /dev/null
+++ b/src/library/scala/Product20.scala
@@ -0,0 +1,115 @@
+
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// generated on Mon Nov 27 15:01:28 CET 2006
+package scala
+
+import Predef._
+
+/** Product20 is a cartesian product of 20 components
+ */
+trait Product20 [+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +T13, +T14, +T15, +T16, +T17, +T18, +T19, +T20] extends Product {
+
+ /**
+ * The arity of this product.
+ * @return 20
+ */
+ override def arity = 20
+
+ /**
+ * Returns the n-th projection of this product if 0<n<=arity, otherwise null
+ * @param n number of the projection to be returned
+ * @throws IndexOutOfBoundsException
+ */
+ override def element(n: Int) = n match {
+ case 1 => _1
+ case 2 => _2
+ case 3 => _3
+ case 4 => _4
+ case 5 => _5
+ case 6 => _6
+ case 7 => _7
+ case 8 => _8
+ case 9 => _9
+ case 10 => _10
+ case 11 => _11
+ case 12 => _12
+ case 13 => _13
+ case 14 => _14
+ case 15 => _15
+ case 16 => _16
+ case 17 => _17
+ case 18 => _18
+ case 19 => _19
+ case 20 => _20
+ case _ => throw new IndexOutOfBoundsException(n.toString())
+ }
+
+ /** projection of this product */
+ def _1:T1
+
+ /** projection of this product */
+ def _2:T2
+
+ /** projection of this product */
+ def _3:T3
+
+ /** projection of this product */
+ def _4:T4
+
+ /** projection of this product */
+ def _5:T5
+
+ /** projection of this product */
+ def _6:T6
+
+ /** projection of this product */
+ def _7:T7
+
+ /** projection of this product */
+ def _8:T8
+
+ /** projection of this product */
+ def _9:T9
+
+ /** projection of this product */
+ def _10:T10
+
+ /** projection of this product */
+ def _11:T11
+
+ /** projection of this product */
+ def _12:T12
+
+ /** projection of this product */
+ def _13:T13
+
+ /** projection of this product */
+ def _14:T14
+
+ /** projection of this product */
+ def _15:T15
+
+ /** projection of this product */
+ def _16:T16
+
+ /** projection of this product */
+ def _17:T17
+
+ /** projection of this product */
+ def _18:T18
+
+ /** projection of this product */
+ def _19:T19
+
+ /** projection of this product */
+ def _20:T20
+
+
+}
diff --git a/src/library/scala/Product21.scala b/src/library/scala/Product21.scala
new file mode 100644
index 0000000000..29f34cf24a
--- /dev/null
+++ b/src/library/scala/Product21.scala
@@ -0,0 +1,119 @@
+
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// generated on Mon Nov 27 15:01:28 CET 2006
+package scala
+
+import Predef._
+
+/** Product21 is a cartesian product of 21 components
+ */
+trait Product21 [+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +T13, +T14, +T15, +T16, +T17, +T18, +T19, +T20, +T21] extends Product {
+
+ /**
+ * The arity of this product.
+ * @return 21
+ */
+ override def arity = 21
+
+ /**
+ * Returns the n-th projection of this product if 0<n<=arity, otherwise null
+ * @param n number of the projection to be returned
+ * @throws IndexOutOfBoundsException
+ */
+ override def element(n: Int) = n match {
+ case 1 => _1
+ case 2 => _2
+ case 3 => _3
+ case 4 => _4
+ case 5 => _5
+ case 6 => _6
+ case 7 => _7
+ case 8 => _8
+ case 9 => _9
+ case 10 => _10
+ case 11 => _11
+ case 12 => _12
+ case 13 => _13
+ case 14 => _14
+ case 15 => _15
+ case 16 => _16
+ case 17 => _17
+ case 18 => _18
+ case 19 => _19
+ case 20 => _20
+ case 21 => _21
+ case _ => throw new IndexOutOfBoundsException(n.toString())
+ }
+
+ /** projection of this product */
+ def _1:T1
+
+ /** projection of this product */
+ def _2:T2
+
+ /** projection of this product */
+ def _3:T3
+
+ /** projection of this product */
+ def _4:T4
+
+ /** projection of this product */
+ def _5:T5
+
+ /** projection of this product */
+ def _6:T6
+
+ /** projection of this product */
+ def _7:T7
+
+ /** projection of this product */
+ def _8:T8
+
+ /** projection of this product */
+ def _9:T9
+
+ /** projection of this product */
+ def _10:T10
+
+ /** projection of this product */
+ def _11:T11
+
+ /** projection of this product */
+ def _12:T12
+
+ /** projection of this product */
+ def _13:T13
+
+ /** projection of this product */
+ def _14:T14
+
+ /** projection of this product */
+ def _15:T15
+
+ /** projection of this product */
+ def _16:T16
+
+ /** projection of this product */
+ def _17:T17
+
+ /** projection of this product */
+ def _18:T18
+
+ /** projection of this product */
+ def _19:T19
+
+ /** projection of this product */
+ def _20:T20
+
+ /** projection of this product */
+ def _21:T21
+
+
+}
diff --git a/src/library/scala/Product22.scala b/src/library/scala/Product22.scala
new file mode 100644
index 0000000000..6402c1294a
--- /dev/null
+++ b/src/library/scala/Product22.scala
@@ -0,0 +1,123 @@
+
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// generated on Mon Nov 27 15:01:28 CET 2006
+package scala
+
+import Predef._
+
+/** Product22 is a cartesian product of 22 components
+ */
+trait Product22 [+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +T13, +T14, +T15, +T16, +T17, +T18, +T19, +T20, +T21, +T22] extends Product {
+
+ /**
+ * The arity of this product.
+ * @return 22
+ */
+ override def arity = 22
+
+ /**
+ * Returns the n-th projection of this product if 0<n<=arity, otherwise null
+ * @param n number of the projection to be returned
+ * @throws IndexOutOfBoundsException
+ */
+ override def element(n: Int) = n match {
+ case 1 => _1
+ case 2 => _2
+ case 3 => _3
+ case 4 => _4
+ case 5 => _5
+ case 6 => _6
+ case 7 => _7
+ case 8 => _8
+ case 9 => _9
+ case 10 => _10
+ case 11 => _11
+ case 12 => _12
+ case 13 => _13
+ case 14 => _14
+ case 15 => _15
+ case 16 => _16
+ case 17 => _17
+ case 18 => _18
+ case 19 => _19
+ case 20 => _20
+ case 21 => _21
+ case 22 => _22
+ case _ => throw new IndexOutOfBoundsException(n.toString())
+ }
+
+ /** projection of this product */
+ def _1:T1
+
+ /** projection of this product */
+ def _2:T2
+
+ /** projection of this product */
+ def _3:T3
+
+ /** projection of this product */
+ def _4:T4
+
+ /** projection of this product */
+ def _5:T5
+
+ /** projection of this product */
+ def _6:T6
+
+ /** projection of this product */
+ def _7:T7
+
+ /** projection of this product */
+ def _8:T8
+
+ /** projection of this product */
+ def _9:T9
+
+ /** projection of this product */
+ def _10:T10
+
+ /** projection of this product */
+ def _11:T11
+
+ /** projection of this product */
+ def _12:T12
+
+ /** projection of this product */
+ def _13:T13
+
+ /** projection of this product */
+ def _14:T14
+
+ /** projection of this product */
+ def _15:T15
+
+ /** projection of this product */
+ def _16:T16
+
+ /** projection of this product */
+ def _17:T17
+
+ /** projection of this product */
+ def _18:T18
+
+ /** projection of this product */
+ def _19:T19
+
+ /** projection of this product */
+ def _20:T20
+
+ /** projection of this product */
+ def _21:T21
+
+ /** projection of this product */
+ def _22:T22
+
+
+}
diff --git a/src/library/scala/Product3.scala b/src/library/scala/Product3.scala
index ee17610110..3246cbf374 100644
--- a/src/library/scala/Product3.scala
+++ b/src/library/scala/Product3.scala
@@ -7,7 +7,7 @@
** |/ **
\* */
-// generated on Sun Nov 05 03:50:36 CET 2006
+// generated on Mon Nov 27 15:01:28 CET 2006
package scala
import Predef._
diff --git a/src/library/scala/Product4.scala b/src/library/scala/Product4.scala
index 5537c28ace..88cfe5d5cd 100644
--- a/src/library/scala/Product4.scala
+++ b/src/library/scala/Product4.scala
@@ -7,7 +7,7 @@
** |/ **
\* */
-// generated on Sun Nov 05 03:50:36 CET 2006
+// generated on Mon Nov 27 15:01:28 CET 2006
package scala
import Predef._
diff --git a/src/library/scala/Product5.scala b/src/library/scala/Product5.scala
index ffd29713d1..4aa25040a7 100644
--- a/src/library/scala/Product5.scala
+++ b/src/library/scala/Product5.scala
@@ -7,7 +7,7 @@
** |/ **
\* */
-// generated on Sun Nov 05 03:50:36 CET 2006
+// generated on Mon Nov 27 15:01:28 CET 2006
package scala
import Predef._
diff --git a/src/library/scala/Product6.scala b/src/library/scala/Product6.scala
index 4dd5140315..e8474a35a3 100644
--- a/src/library/scala/Product6.scala
+++ b/src/library/scala/Product6.scala
@@ -7,7 +7,7 @@
** |/ **
\* */
-// generated on Sun Nov 05 03:50:36 CET 2006
+// generated on Mon Nov 27 15:01:28 CET 2006
package scala
import Predef._
diff --git a/src/library/scala/Product7.scala b/src/library/scala/Product7.scala
index ce0ebfaac0..53786d9082 100644
--- a/src/library/scala/Product7.scala
+++ b/src/library/scala/Product7.scala
@@ -7,7 +7,7 @@
** |/ **
\* */
-// generated on Sun Nov 05 03:50:36 CET 2006
+// generated on Mon Nov 27 15:01:28 CET 2006
package scala
import Predef._
diff --git a/src/library/scala/Product8.scala b/src/library/scala/Product8.scala
index bbe8275f6b..38d817070c 100644
--- a/src/library/scala/Product8.scala
+++ b/src/library/scala/Product8.scala
@@ -7,7 +7,7 @@
** |/ **
\* */
-// generated on Sun Nov 05 03:50:36 CET 2006
+// generated on Mon Nov 27 15:01:28 CET 2006
package scala
import Predef._
diff --git a/src/library/scala/Product9.scala b/src/library/scala/Product9.scala
index 354d1d09ef..a12d72c1ec 100644
--- a/src/library/scala/Product9.scala
+++ b/src/library/scala/Product9.scala
@@ -7,7 +7,7 @@
** |/ **
\* */
-// generated on Sun Nov 05 03:50:36 CET 2006
+// generated on Mon Nov 27 15:01:28 CET 2006
package scala
import Predef._
diff --git a/src/library/scala/Tuple1.scala b/src/library/scala/Tuple1.scala
index 37d4425b04..cee9981954 100644
--- a/src/library/scala/Tuple1.scala
+++ b/src/library/scala/Tuple1.scala
@@ -1,3 +1,4 @@
+
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
@@ -8,10 +9,12 @@
// $Id$
-
+// generated on Mon Nov 27 15:01:28 CET 2006
package scala;
+/** Tuple1 is the canonical representation of a @see Product1 */
+case class Tuple1 [+T1] (_1:T1) {
+
+ override def productPrefix = ""
-case class Tuple1[+T1](_1: T1) {
- override def toString(): String = "(" + _1 + ")";
}
diff --git a/src/library/scala/Tuple2.scala b/src/library/scala/Tuple2.scala
index 406a34b818..b59f987417 100644
--- a/src/library/scala/Tuple2.scala
+++ b/src/library/scala/Tuple2.scala
@@ -1,3 +1,4 @@
+
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
@@ -8,10 +9,12 @@
// $Id$
-
+// generated on Mon Nov 27 15:01:28 CET 2006
package scala;
+/** Tuple2 is the canonical representation of a @see Product2 */
+case class Tuple2 [+T1, +T2] (_1:T1, _2:T2) {
+
+ override def productPrefix = ""
-case class Tuple2[+T1, +T2](_1: T1, _2: T2) {
- override def toString(): String = "(" + _1 + "," + _2 + ")";
}
diff --git a/src/library/scala/Tuple3.scala b/src/library/scala/Tuple3.scala
index 60b77fd2cf..a24b01aa94 100644
--- a/src/library/scala/Tuple3.scala
+++ b/src/library/scala/Tuple3.scala
@@ -1,3 +1,4 @@
+
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
@@ -8,10 +9,12 @@
// $Id$
-
+// generated on Mon Nov 27 15:01:28 CET 2006
package scala;
+/** Tuple3 is the canonical representation of a @see Product3 */
+case class Tuple3 [+T1, +T2, +T3] (_1:T1, _2:T2, _3:T3) {
+
+ override def productPrefix = ""
-case class Tuple3[+T1, +T2, +T3](_1: T1, _2: T2, _3: T3) {
- override def toString(): String = "(" + _1 + "," + _2 + "," + _3 + ")";
}
diff --git a/src/library/scala/Tuple4.scala b/src/library/scala/Tuple4.scala
index 92c0b1d812..2e720b26c3 100644
--- a/src/library/scala/Tuple4.scala
+++ b/src/library/scala/Tuple4.scala
@@ -1,3 +1,4 @@
+
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
@@ -8,10 +9,12 @@
// $Id$
-
+// generated on Mon Nov 27 15:01:28 CET 2006
package scala;
+/** Tuple4 is the canonical representation of a @see Product4 */
+case class Tuple4 [+T1, +T2, +T3, +T4] (_1:T1, _2:T2, _3:T3, _4:T4) {
+
+ override def productPrefix = ""
-case class Tuple4[+T1, +T2, +T3, +T4](_1: T1, _2: T2, _3: T3, _4: T4) {
- override def toString(): String = "(" + _1 + "," + _2 + "," + _3 + "," + _4 + ")";
}
diff --git a/src/library/scala/Tuple5.scala b/src/library/scala/Tuple5.scala
index d9436ae72e..5e880b855a 100644
--- a/src/library/scala/Tuple5.scala
+++ b/src/library/scala/Tuple5.scala
@@ -1,3 +1,4 @@
+
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
@@ -8,10 +9,12 @@
// $Id$
-
+// generated on Mon Nov 27 15:01:28 CET 2006
package scala;
+/** Tuple5 is the canonical representation of a @see Product5 */
+case class Tuple5 [+T1, +T2, +T3, +T4, +T5] (_1:T1, _2:T2, _3:T3, _4:T4, _5:T5) {
+
+ override def productPrefix = ""
-case class Tuple5[+T1, +T2, +T3, +T4, +T5](_1: T1, _2: T2, _3: T3, _4: T4, _5: T5) {
- override def toString(): String = "(" + _1 + "," + _2 + "," + _3 + "," + _4 + "," + _5 + ")";
}
diff --git a/src/library/scala/Tuple6.scala b/src/library/scala/Tuple6.scala
index aebc560a0a..9eb9ebd746 100644
--- a/src/library/scala/Tuple6.scala
+++ b/src/library/scala/Tuple6.scala
@@ -1,3 +1,4 @@
+
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
@@ -8,10 +9,12 @@
// $Id$
-
+// generated on Mon Nov 27 15:01:28 CET 2006
package scala;
+/** Tuple6 is the canonical representation of a @see Product6 */
+case class Tuple6 [+T1, +T2, +T3, +T4, +T5, +T6] (_1:T1, _2:T2, _3:T3, _4:T4, _5:T5, _6:T6) {
+
+ override def productPrefix = ""
-case class Tuple6[+T1, +T2, +T3, +T4, +T5, +T6](_1: T1, _2: T2, _3: T3, _4: T4, _5: T5, _6: T6) {
- override def toString(): String = "(" + _1 + "," + _2 + "," + _3 + "," + _4 + "," + _5 + "," + _6 + ")";
}
diff --git a/src/library/scala/Tuple7.scala b/src/library/scala/Tuple7.scala
index 5ba13aabb2..80c5022e52 100644
--- a/src/library/scala/Tuple7.scala
+++ b/src/library/scala/Tuple7.scala
@@ -1,3 +1,4 @@
+
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
@@ -8,10 +9,12 @@
// $Id$
-
+// generated on Mon Nov 27 15:01:28 CET 2006
package scala;
+/** Tuple7 is the canonical representation of a @see Product7 */
+case class Tuple7 [+T1, +T2, +T3, +T4, +T5, +T6, +T7] (_1:T1, _2:T2, _3:T3, _4:T4, _5:T5, _6:T6, _7:T7) {
+
+ override def productPrefix = ""
-case class Tuple7[+T1, +T2, +T3, +T4, +T5, +T6, +T7](_1: T1, _2: T2, _3: T3, _4: T4, _5: T5, _6: T6, _7: T7) {
- override def toString(): String = "(" + _1 + "," + _2 + "," + _3 + "," + _4 + "," + _5 + "," + _6 + "," + _7 + ")";
}
diff --git a/src/library/scala/Tuple8.scala b/src/library/scala/Tuple8.scala
index d75faab87e..db4e2acb5b 100644
--- a/src/library/scala/Tuple8.scala
+++ b/src/library/scala/Tuple8.scala
@@ -1,3 +1,4 @@
+
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2002-2006, LAMP/EPFL **
@@ -8,10 +9,12 @@
// $Id$
-
+// generated on Mon Nov 27 15:01:28 CET 2006
package scala;
+/** Tuple8 is the canonical representation of a @see Product8 */
+case class Tuple8 [+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8] (_1:T1, _2:T2, _3:T3, _4:T4, _5:T5, _6:T6, _7:T7, _8:T8) {
+
+ override def productPrefix = ""
-case class Tuple8[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8](_1: T1, _2: T2, _3: T3, _4: T4, _5: T5, _6: T6, _7: T7, _8: T8) {
- override def toString(): String = "(" + _1 + "," + _2 + "," + _3 + "," + _4 + "," + _5 + "," + _6 + "," + _7 + "," + _8 + ")";
}