diff options
author | Burak Emir <emir@epfl.ch> | 2006-11-05 02:53:14 +0000 |
---|---|---|
committer | Burak Emir <emir@epfl.ch> | 2006-11-05 02:53:14 +0000 |
commit | 1e23988361e85f275b44041207988ef9aa0099f2 (patch) | |
tree | 167c7224dfbec04561337d771226fd678a3d1ae0 /src/library/scala/Product9.scala | |
parent | 9d507e381c8c101a3edf16e0c065e9b8efd5feec (diff) | |
download | scala-1e23988361e85f275b44041207988ef9aa0099f2.tar.gz scala-1e23988361e85f275b44041207988ef9aa0099f2.tar.bz2 scala-1e23988361e85f275b44041207988ef9aa0099f2.zip |
caseclass->product
Diffstat (limited to 'src/library/scala/Product9.scala')
-rw-r--r-- | src/library/scala/Product9.scala | 49 |
1 files changed, 47 insertions, 2 deletions
diff --git a/src/library/scala/Product9.scala b/src/library/scala/Product9.scala index e7a7f73982..354d1d09ef 100644 --- a/src/library/scala/Product9.scala +++ b/src/library/scala/Product9.scala @@ -7,20 +7,65 @@ ** |/ ** \* */ -// generated on Fri Oct 27 18:56:23 CEST 2006 +// generated on Sun Nov 05 03:50:36 CET 2006 package scala import Predef._ -trait Product9 [+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9] { +/** Product9 is a cartesian product of 9 components + */ +trait Product9 [+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9] extends Product { + + /** + * The arity of this product. + * @return 9 + */ + override def arity = 9 + + /** + * 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 _ => 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 + } |