summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBurak Emir <emir@epfl.ch>2007-04-12 14:30:11 +0000
committerBurak Emir <emir@epfl.ch>2007-04-12 14:30:11 +0000
commit5bb26aa18d774162828693bb8c4fcc246359ecf5 (patch)
tree9eb5b85e7452ad334fe209741166726af0bdc2d2 /src
parent34856ebaeccf44adace4dba8c44ba2155e231b83 (diff)
downloadscala-5bb26aa18d774162828693bb8c4fcc246359ecf5.tar.gz
scala-5bb26aa18d774162828693bb8c4fcc246359ecf5.tar.bz2
scala-5bb26aa18d774162828693bb8c4fcc246359ecf5.zip
renamed arity=>productArity,element=>productEle...
renamed arity=>productArity,element=>productElement
Diffstat (limited to 'src')
-rw-r--r--src/build/genprod.scala28
-rw-r--r--src/compiler/scala/tools/nsc/matching/ParallelMatching.scala35
-rw-r--r--src/compiler/scala/tools/nsc/matching/PatternMatchers.scala4
-rw-r--r--src/compiler/scala/tools/nsc/symtab/StdNames.scala4
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala30
-rw-r--r--src/library/scala/Function0.scala2
-rw-r--r--src/library/scala/Function1.scala2
-rw-r--r--src/library/scala/Function2.scala2
-rw-r--r--src/library/scala/Function3.scala2
-rw-r--r--src/library/scala/Function4.scala2
-rw-r--r--src/library/scala/Function5.scala2
-rw-r--r--src/library/scala/Function6.scala2
-rw-r--r--src/library/scala/Function7.scala2
-rw-r--r--src/library/scala/Function8.scala2
-rw-r--r--src/library/scala/Product.scala17
-rw-r--r--src/library/scala/Product1.scala24
-rw-r--r--src/library/scala/Product10.scala24
-rw-r--r--src/library/scala/Product11.scala24
-rw-r--r--src/library/scala/Product12.scala24
-rw-r--r--src/library/scala/Product13.scala24
-rw-r--r--src/library/scala/Product14.scala24
-rw-r--r--src/library/scala/Product15.scala24
-rw-r--r--src/library/scala/Product16.scala24
-rw-r--r--src/library/scala/Product17.scala24
-rw-r--r--src/library/scala/Product18.scala24
-rw-r--r--src/library/scala/Product19.scala24
-rw-r--r--src/library/scala/Product2.scala24
-rw-r--r--src/library/scala/Product20.scala24
-rw-r--r--src/library/scala/Product21.scala24
-rw-r--r--src/library/scala/Product22.scala24
-rw-r--r--src/library/scala/Product3.scala24
-rw-r--r--src/library/scala/Product4.scala24
-rw-r--r--src/library/scala/Product5.scala24
-rw-r--r--src/library/scala/Product6.scala24
-rw-r--r--src/library/scala/Product7.scala24
-rw-r--r--src/library/scala/Product8.scala24
-rw-r--r--src/library/scala/Product9.scala24
-rw-r--r--src/library/scala/Tuple1.scala2
-rw-r--r--src/library/scala/Tuple10.scala4
-rw-r--r--src/library/scala/Tuple11.scala4
-rw-r--r--src/library/scala/Tuple12.scala4
-rw-r--r--src/library/scala/Tuple13.scala4
-rw-r--r--src/library/scala/Tuple14.scala4
-rw-r--r--src/library/scala/Tuple15.scala4
-rw-r--r--src/library/scala/Tuple16.scala4
-rw-r--r--src/library/scala/Tuple17.scala4
-rw-r--r--src/library/scala/Tuple18.scala4
-rw-r--r--src/library/scala/Tuple19.scala4
-rw-r--r--src/library/scala/Tuple2.scala2
-rw-r--r--src/library/scala/Tuple20.scala4
-rw-r--r--src/library/scala/Tuple21.scala4
-rw-r--r--src/library/scala/Tuple22.scala4
-rw-r--r--src/library/scala/Tuple3.scala2
-rw-r--r--src/library/scala/Tuple4.scala2
-rw-r--r--src/library/scala/Tuple5.scala2
-rw-r--r--src/library/scala/Tuple6.scala2
-rw-r--r--src/library/scala/Tuple7.scala2
-rw-r--r--src/library/scala/Tuple8.scala2
-rw-r--r--src/library/scala/Tuple9.scala2
-rw-r--r--src/library/scala/runtime/ScalaRunTime.scala3
60 files changed, 580 insertions, 157 deletions
diff --git a/src/build/genprod.scala b/src/build/genprod.scala
index ae74e82f00..367809b847 100644
--- a/src/build/genprod.scala
+++ b/src/build/genprod.scala
@@ -26,6 +26,7 @@ object genprod {
val SUP_PRODUCT_ARITY = 23
val SUP_TUPLE_ARITY = 23
val SUP_FUNCTION_ARITY = 9
+ val SUP_CHOICE_ARITY = 9 // not implemented yet
def productClassname(i: Int) = "Product"+i
@@ -39,6 +40,10 @@ object genprod {
def functionFilename(i: Int) = functionClassname(i)+".scala"
+ def choiceClassname(i: Int) = "Choice"+i
+
+ def choiceFilename(i: Int) = choiceClassname(i)+".scala"
+
def targs(i: Int) =
for (val j <- List.range(1, i+1)) yield "T" + j
@@ -82,6 +87,9 @@ object genprod {
def functionFiles =
for(val i <- List.range(0, SUP_FUNCTION_ARITY)) yield FunctionFile.make(i)
+ //def choiceFiles =
+ // for(val i <- List.range(2, SUP_CHOICE_ARITY)) yield ChoiceFile.make(i)
+
def allfiles =
productFiles ::: tupleFiles ::: functionFiles
@@ -303,7 +311,23 @@ trait {productClassname(i)}{__typeArgs__} extends Product {{
* The arity of this product.
* @return {i}
*/
- override def arity = {i}
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return {i}
+ */
+ override def productArity = {i}
+
+ /**
+ * Returns the n-th projection of this product if 0&amp;lt;=n&amp;lt;arity,
+ * otherwise <code>null</code>.
+ *
+ * @param n number of the projection to be returned
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&amp;lt;=n&amp;lt;arity,
@@ -313,7 +337,7 @@ trait {productClassname(i)}{__typeArgs__} extends Product {{
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {{
+ override def productElement(n: Int) = n match {{
{for(val Tuple2(m, j) <- mdefs(i).zip(List.range(0, i)))
yield "case "+j+" => "+m+"\n "}case _ => throw new IndexOutOfBoundsException(n.toString())
}}
diff --git a/src/compiler/scala/tools/nsc/matching/ParallelMatching.scala b/src/compiler/scala/tools/nsc/matching/ParallelMatching.scala
index 5c9c66b5b2..5431152f76 100644
--- a/src/compiler/scala/tools/nsc/matching/ParallelMatching.scala
+++ b/src/compiler/scala/tools/nsc/matching/ParallelMatching.scala
@@ -532,40 +532,45 @@ trait ParallelMatching requires (transform.ExplicitOuter with PatternMatchers wi
/** returns the condition in "if(cond) k1 else k2"
*/
- def condition(tpe: Type, scrut: Symbol) = {
+ def condition(tpe: Type, scrut: Symbol): Tree = {
val res = condition1(tpe, scrut)
DEBUG("condition, tpe = "+tpe+", scrut.tpe = "+scrut.tpe+", res = "+res)
res
}
- def condition1(tpe: Type, scrut: Symbol) = {
+ def condition1(tpe: Type, scrut: Symbol): Tree = {
+ assert (scrut ne NoSymbol)
+ condition(tpe, Ident(scrut) . setType (scrut.tpe) . setSymbol (scrut))
+ }
+
+ def condition(tpe: Type, scrutineeTree: Tree): Tree = {
assert( tpe ne NoType )
- assert(scrut ne NoSymbol)
+ assert(scrutineeTree.tpe ne NoType)
if(tpe.isInstanceOf[SingletonType] && !tpe.isInstanceOf[ConstantType]) {
- if(scrut.tpe <:< definitions.AnyRefClass.tpe)
- Eq(gen.mkAttributedRef(tpe.symbol), Ident(scrut)) // object
+ if(scrutineeTree.tpe <:< definitions.AnyRefClass.tpe)
+ Eq(gen.mkAttributedRef(tpe.symbol), scrutineeTree) // object
else
- Equals(gen.mkAttributedRef(tpe.symbol), Ident(scrut)) // object
+ Equals(gen.mkAttributedRef(tpe.symbol), scrutineeTree) // object
} else if(tpe.isInstanceOf[ConstantType]) {
val value = tpe.asInstanceOf[ConstantType].value
//if(false && value.isInstanceOf[NamedConstant])
// Equals(Ident(scrut), value.asInstanceOf[NamedConstant].tree) // constant
//assert(scrut.tpe <:< definitions.AnyRefClass.tpe, "stupid, should be caught by type checker "+value)
//else
- if(value == Constant(null) && scrut.tpe <:< definitions.AnyRefClass.tpe)
- Eq(Ident(scrut), Literal(value)) // constant
+ if(value == Constant(null) && scrutineeTree.tpe <:< definitions.AnyRefClass.tpe)
+ Eq(scrutineeTree, Literal(value)) // constant
else
- Equals(Ident(scrut), Literal(value)) // constant
- } else if(scrut.tpe <:< tpe && tpe <:< definitions.AnyRefClass.tpe)
- NotNull(Ident(scrut))
+ Equals(scrutineeTree, Literal(value)) // constant
+ } else if(scrutineeTree.tpe <:< tpe && tpe <:< definitions.AnyRefClass.tpe)
+ NotNull(scrutineeTree)
else if(tpe.prefix.symbol.isTerm && tpe.symbol.linkedModuleOfClass != NoSymbol) { // object
- Console.println("iT"+tpe.prefix.symbol.isTerm)
- Console.println("lmoc"+tpe.symbol.linkedModuleOfClass)
- Eq(gen.mkAttributedRef(tpe.prefix, tpe.symbol.linkedModuleOfClass), Ident(scrut))
+ //Console.println("iT"+tpe.prefix.symbol.isTerm)
+ //Console.println("lmoc"+tpe.symbol.linkedModuleOfClass)
+ Eq(gen.mkAttributedRef(tpe.prefix, tpe.symbol.linkedModuleOfClass), scrutineeTree)
} else
//Console.println(tpe.prefix.symbol.isTerm)
//Console.println(tpe.symbol)
//Console.println(tpe.symbol.linkedModuleOfClass)
- gen.mkIsInstanceOf(Ident(scrut), tpe)
+ gen.mkIsInstanceOf(scrutineeTree, tpe)
}
def needsOuterTest(tpe2test:Type, scrutinee:Type) = tpe2test.normalize match {
diff --git a/src/compiler/scala/tools/nsc/matching/PatternMatchers.scala b/src/compiler/scala/tools/nsc/matching/PatternMatchers.scala
index 251a761afe..c2537baa93 100644
--- a/src/compiler/scala/tools/nsc/matching/PatternMatchers.scala
+++ b/src/compiler/scala/tools/nsc/matching/PatternMatchers.scala
@@ -1168,6 +1168,10 @@ print()
val ntpe = node.tpe
var cond: Tree = null
+ // new, but doesn't work
+ // cond = if(ignoreSelectorType) Literal(Constant(true))
+ // else condition(ntpe, selector.duplicate)
+
// if type 2 test is same as static type, then just null test
if(isSubType(selector.tpe, ntpe) && isSubType(ntpe, defs.AnyRefClass.tpe)) {
cond = NotNull(selector.duplicate)
diff --git a/src/compiler/scala/tools/nsc/symtab/StdNames.scala b/src/compiler/scala/tools/nsc/symtab/StdNames.scala
index 0466242b7c..2407ba28eb 100644
--- a/src/compiler/scala/tools/nsc/symtab/StdNames.scala
+++ b/src/compiler/scala/tools/nsc/symtab/StdNames.scala
@@ -245,8 +245,6 @@ trait StdNames requires SymbolTable {
val booleanValue = newTermName("booleanValue")
val box = newTermName("box")
val boxArray = newTermName("boxArray")
- val arity = newTermName("arity")
- val element = newTermName("element")
val checkCastability = newTermName("checkCastability")
val classOf = newTermName("classOf")
val coerce = newTermName("coerce")
@@ -293,6 +291,8 @@ trait StdNames requires SymbolTable {
val null_ = newTermName("null")
val predef = newTermName("predef")
val print = newTermName("print")
+ val productArity = newTermName("productArity")
+ val productElement = newTermName("productElement")
val productPrefix = newTermName("productPrefix")
val readResolve = newTermName("readResolve")
val receive = newTermName("receive")
diff --git a/src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala b/src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala
index 420230a48d..b66a534c89 100644
--- a/src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala
@@ -72,14 +72,32 @@ trait SyntheticMethods requires Analyzer {
typed(DefDef(method, vparamss => Literal(Constant(clazz.name.decode))))
}
+ /*deprecated*/ def OLDproductArityMethod(nargs:Int ): Tree = {
+ val method = syntheticMethod("arity", FINAL, PolyType(List(), IntClass.tpe))
+ typed(DefDef(method, vparamss => Literal(Constant(nargs))))
+ }
+
def productArityMethod(nargs:Int ): Tree = {
- val method = syntheticMethod(nme.arity, FINAL, PolyType(List(), IntClass.tpe))
+ val method = syntheticMethod(nme.productArity, FINAL, PolyType(List(), IntClass.tpe))
typed(DefDef(method, vparamss => Literal(Constant(nargs))))
}
+ /*deprecated*/ def OLDproductElementMethod(accs: List[Symbol]): Tree = {
+ //val retTpe = lub(accs map (.tpe.resultType))
+ val method = syntheticMethod("element", FINAL, MethodType(List(IntClass.tpe), AnyClass.tpe/*retTpe*/))
+ typed(DefDef(method, vparamss => Match(Ident(vparamss.head.head), {
+ (for(val (sym,i) <- accs.zipWithIndex) yield {
+ CaseDef(Literal(Constant(i)),EmptyTree, Ident(sym))
+ }):::List(CaseDef(Ident(nme.WILDCARD), EmptyTree,
+ Throw(New(TypeTree(IndexOutOfBoundsExceptionClass.tpe), List(List(
+ Select(Ident(vparamss.head.head), nme.toString_)
+ ))))))
+ })))
+ }
+
def productElementMethod(accs: List[Symbol]): Tree = {
//val retTpe = lub(accs map (.tpe.resultType))
- val method = syntheticMethod(nme.element, FINAL, MethodType(List(IntClass.tpe), AnyClass.tpe/*retTpe*/))
+ val method = syntheticMethod(nme.productElement, FINAL, MethodType(List(IntClass.tpe), AnyClass.tpe/*retTpe*/))
typed(DefDef(method, vparamss => Match(Ident(vparamss.head.head), {
(for(val (sym,i) <- accs.zipWithIndex) yield {
CaseDef(Literal(Constant(i)),EmptyTree, Ident(sym))
@@ -230,9 +248,13 @@ trait SyntheticMethods requires Analyzer {
if (!hasDirectImplementation(nme.productPrefix)) ts += productPrefixMethod
val accessors = clazz.caseFieldAccessors
- if (!hasImplementation(nme.arity))
+ if (!hasImplementation("arity")) // remove after starr update
+ ts += OLDproductArityMethod(accessors.length)
+ if (!hasImplementation(nme.productArity))
ts += productArityMethod(accessors.length)
- if (!hasImplementation(nme.element))
+ if (!hasImplementation("element")) // remove after starr update
+ ts += OLDproductElementMethod(accessors)
+ if (!hasImplementation(nme.productElement))
ts += productElementMethod(accessors)
}
diff --git a/src/library/scala/Function0.scala b/src/library/scala/Function0.scala
index 0e2c20b93e..67e3657d93 100644
--- a/src/library/scala/Function0.scala
+++ b/src/library/scala/Function0.scala
@@ -9,7 +9,7 @@
// $Id$
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007 (with fancy comment)
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007 (with fancy comment)
package scala
diff --git a/src/library/scala/Function1.scala b/src/library/scala/Function1.scala
index dc3e6529e5..138013dd4e 100644
--- a/src/library/scala/Function1.scala
+++ b/src/library/scala/Function1.scala
@@ -9,7 +9,7 @@
// $Id$
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007 (with fancy comment) (with extra methods)
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007 (with fancy comment) (with extra methods)
package scala
diff --git a/src/library/scala/Function2.scala b/src/library/scala/Function2.scala
index 12abf932f3..e6f2c693e9 100644
--- a/src/library/scala/Function2.scala
+++ b/src/library/scala/Function2.scala
@@ -9,7 +9,7 @@
// $Id$
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007 (with fancy comment)
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007 (with fancy comment)
package scala
diff --git a/src/library/scala/Function3.scala b/src/library/scala/Function3.scala
index 419b9667ba..2f0ce8187e 100644
--- a/src/library/scala/Function3.scala
+++ b/src/library/scala/Function3.scala
@@ -9,7 +9,7 @@
// $Id$
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Function4.scala b/src/library/scala/Function4.scala
index 1d05de1902..c081503090 100644
--- a/src/library/scala/Function4.scala
+++ b/src/library/scala/Function4.scala
@@ -9,7 +9,7 @@
// $Id$
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Function5.scala b/src/library/scala/Function5.scala
index beb41bb3c5..96af279ebe 100644
--- a/src/library/scala/Function5.scala
+++ b/src/library/scala/Function5.scala
@@ -9,7 +9,7 @@
// $Id$
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Function6.scala b/src/library/scala/Function6.scala
index f678a64ae3..855c477330 100644
--- a/src/library/scala/Function6.scala
+++ b/src/library/scala/Function6.scala
@@ -9,7 +9,7 @@
// $Id$
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Function7.scala b/src/library/scala/Function7.scala
index a8f64b42bd..afdde42ce6 100644
--- a/src/library/scala/Function7.scala
+++ b/src/library/scala/Function7.scala
@@ -9,7 +9,7 @@
// $Id$
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Function8.scala b/src/library/scala/Function8.scala
index 757955ae7a..cf5fac110f 100644
--- a/src/library/scala/Function8.scala
+++ b/src/library/scala/Function8.scala
@@ -9,7 +9,7 @@
// $Id$
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Product.scala b/src/library/scala/Product.scala
index 75ffa84378..96e989284f 100644
--- a/src/library/scala/Product.scala
+++ b/src/library/scala/Product.scala
@@ -26,11 +26,24 @@ trait Product extends AnyRef {
* @throws IndexOutOfBoundsException
* @return ...
*/
- def element(n: Int): Any
+ def productElement(n: Int): Any = element(n)
+
+ /** for a case class <code>A(x_1,...,x_k))</code>, returns <code>x_(i+1)</code>
+ * for <code>0 &lt;= i &lt; k</code>
+ *
+ * @param n the position of the n-th element
+ * @throws IndexOutOfBoundsException
+ * @return ...
+ */
+ @deprecated def element(n: Int): Any /* = productElement(n) */
+
+ /** return k for a product <code>A(x_1,...,x_k))</code>
+ */
+ def productArity: Int = arity
/** return k for a product <code>A(x_1,...,x_k))</code>
*/
- def arity: Int
+ @deprecated def arity: Int /* = productElement(n) */
/**
* By default the empty string. Implementations may override this
diff --git a/src/library/scala/Product1.scala b/src/library/scala/Product1.scala
index 33b61f3b33..e8e669a9d6 100644
--- a/src/library/scala/Product1.scala
+++ b/src/library/scala/Product1.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product1[+T1] extends Product {
* The arity of this product.
* @return 1
*/
- override def arity = 1
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 1
+ */
+ override def productArity = 1
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product1[+T1] extends Product {
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case _ => throw new IndexOutOfBoundsException(n.toString())
}
diff --git a/src/library/scala/Product10.scala b/src/library/scala/Product10.scala
index 7fb54b5494..a2e9c8277b 100644
--- a/src/library/scala/Product10.scala
+++ b/src/library/scala/Product10.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product10[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10] extends Produ
* The arity of this product.
* @return 10
*/
- override def arity = 10
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 10
+ */
+ override def productArity = 10
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product10[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10] extends Produ
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product11.scala b/src/library/scala/Product11.scala
index 40a94f0c57..36b434ff0b 100644
--- a/src/library/scala/Product11.scala
+++ b/src/library/scala/Product11.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product11[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11] extends
* The arity of this product.
* @return 11
*/
- override def arity = 11
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 11
+ */
+ override def productArity = 11
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product11[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11] extends
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product12.scala b/src/library/scala/Product12.scala
index a1ff52f39e..92a473ba42 100644
--- a/src/library/scala/Product12.scala
+++ b/src/library/scala/Product12.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product12[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12] e
* The arity of this product.
* @return 12
*/
- override def arity = 12
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 12
+ */
+ override def productArity = 12
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product12[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12] e
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product13.scala b/src/library/scala/Product13.scala
index 284b46bee9..0f4b3ae4ab 100644
--- a/src/library/scala/Product13.scala
+++ b/src/library/scala/Product13.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product13[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* The arity of this product.
* @return 13
*/
- override def arity = 13
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 13
+ */
+ override def productArity = 13
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product13[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product14.scala b/src/library/scala/Product14.scala
index b3b38b244c..90e0945dec 100644
--- a/src/library/scala/Product14.scala
+++ b/src/library/scala/Product14.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product14[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* The arity of this product.
* @return 14
*/
- override def arity = 14
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 14
+ */
+ override def productArity = 14
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product14[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product15.scala b/src/library/scala/Product15.scala
index 4bfe909ec5..37087bc0a1 100644
--- a/src/library/scala/Product15.scala
+++ b/src/library/scala/Product15.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product15[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* The arity of this product.
* @return 15
*/
- override def arity = 15
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 15
+ */
+ override def productArity = 15
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product15[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product16.scala b/src/library/scala/Product16.scala
index b12aed6c27..87341585a8 100644
--- a/src/library/scala/Product16.scala
+++ b/src/library/scala/Product16.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product16[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* The arity of this product.
* @return 16
*/
- override def arity = 16
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 16
+ */
+ override def productArity = 16
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product16[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product17.scala b/src/library/scala/Product17.scala
index b39c3df051..1461788eee 100644
--- a/src/library/scala/Product17.scala
+++ b/src/library/scala/Product17.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product17[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* The arity of this product.
* @return 17
*/
- override def arity = 17
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 17
+ */
+ override def productArity = 17
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product17[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product18.scala b/src/library/scala/Product18.scala
index beba913a0d..e60e1630dc 100644
--- a/src/library/scala/Product18.scala
+++ b/src/library/scala/Product18.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product18[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* The arity of this product.
* @return 18
*/
- override def arity = 18
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 18
+ */
+ override def productArity = 18
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product18[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product19.scala b/src/library/scala/Product19.scala
index b5f300d9e4..4000c47f4a 100644
--- a/src/library/scala/Product19.scala
+++ b/src/library/scala/Product19.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product19[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* The arity of this product.
* @return 19
*/
- override def arity = 19
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 19
+ */
+ override def productArity = 19
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product19[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product2.scala b/src/library/scala/Product2.scala
index 0866c141c7..108ad443ae 100644
--- a/src/library/scala/Product2.scala
+++ b/src/library/scala/Product2.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product2[+T1, +T2] extends Product {
* The arity of this product.
* @return 2
*/
- override def arity = 2
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 2
+ */
+ override def productArity = 2
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product2[+T1, +T2] extends Product {
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case _ => throw new IndexOutOfBoundsException(n.toString())
diff --git a/src/library/scala/Product20.scala b/src/library/scala/Product20.scala
index fe7e0b1f4e..7fd355b462 100644
--- a/src/library/scala/Product20.scala
+++ b/src/library/scala/Product20.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product20[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* The arity of this product.
* @return 20
*/
- override def arity = 20
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 20
+ */
+ override def productArity = 20
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product20[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product21.scala b/src/library/scala/Product21.scala
index e09700eb77..da161392af 100644
--- a/src/library/scala/Product21.scala
+++ b/src/library/scala/Product21.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product21[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* The arity of this product.
* @return 21
*/
- override def arity = 21
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 21
+ */
+ override def productArity = 21
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product21[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product22.scala b/src/library/scala/Product22.scala
index a9682cedbd..1a429d0e6a 100644
--- a/src/library/scala/Product22.scala
+++ b/src/library/scala/Product22.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product22[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* The arity of this product.
* @return 22
*/
- override def arity = 22
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 22
+ */
+ override def productArity = 22
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product22[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product3.scala b/src/library/scala/Product3.scala
index 58ed57f556..caf7fd6d73 100644
--- a/src/library/scala/Product3.scala
+++ b/src/library/scala/Product3.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product3[+T1, +T2, +T3] extends Product {
* The arity of this product.
* @return 3
*/
- override def arity = 3
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 3
+ */
+ override def productArity = 3
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product3[+T1, +T2, +T3] extends Product {
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product4.scala b/src/library/scala/Product4.scala
index 0f7ad52392..b65a2c3aed 100644
--- a/src/library/scala/Product4.scala
+++ b/src/library/scala/Product4.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product4[+T1, +T2, +T3, +T4] extends Product {
* The arity of this product.
* @return 4
*/
- override def arity = 4
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 4
+ */
+ override def productArity = 4
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product4[+T1, +T2, +T3, +T4] extends Product {
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product5.scala b/src/library/scala/Product5.scala
index c03007bbb5..3e1fbe3ddd 100644
--- a/src/library/scala/Product5.scala
+++ b/src/library/scala/Product5.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product5[+T1, +T2, +T3, +T4, +T5] extends Product {
* The arity of this product.
* @return 5
*/
- override def arity = 5
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 5
+ */
+ override def productArity = 5
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product5[+T1, +T2, +T3, +T4, +T5] extends Product {
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product6.scala b/src/library/scala/Product6.scala
index 2dd6dca489..c158731ce8 100644
--- a/src/library/scala/Product6.scala
+++ b/src/library/scala/Product6.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product6[+T1, +T2, +T3, +T4, +T5, +T6] extends Product {
* The arity of this product.
* @return 6
*/
- override def arity = 6
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 6
+ */
+ override def productArity = 6
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product6[+T1, +T2, +T3, +T4, +T5, +T6] extends Product {
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product7.scala b/src/library/scala/Product7.scala
index 32eec71c36..9f314d9ea2 100644
--- a/src/library/scala/Product7.scala
+++ b/src/library/scala/Product7.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product7[+T1, +T2, +T3, +T4, +T5, +T6, +T7] extends Product {
* The arity of this product.
* @return 7
*/
- override def arity = 7
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 7
+ */
+ override def productArity = 7
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product7[+T1, +T2, +T3, +T4, +T5, +T6, +T7] extends Product {
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product8.scala b/src/library/scala/Product8.scala
index b60a6aa75f..a747a4c83c 100644
--- a/src/library/scala/Product8.scala
+++ b/src/library/scala/Product8.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product8[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8] extends Product {
* The arity of this product.
* @return 8
*/
- override def arity = 8
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 8
+ */
+ override def productArity = 8
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product8[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8] extends Product {
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Product9.scala b/src/library/scala/Product9.scala
index 7673dc85ca..db3bc8a656 100644
--- a/src/library/scala/Product9.scala
+++ b/src/library/scala/Product9.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9547 2007-01-03 16:34:59Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Wed Jan 03 17:36:14 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
@@ -28,7 +28,23 @@ trait Product9[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9] extends Product {
* The arity of this product.
* @return 9
*/
- override def arity = 9
+ @deprecated override def arity = productArity
+
+ /**
+ * The arity of this product.
+ * @return 9
+ */
+ override def productArity = 9
+
+ /**
+ * 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
+ * @return same as _(n+1)
+ * @throws IndexOutOfBoundsException
+ */
+ @deprecated override def element(n: Int) = productElement(n)
/**
* Returns the n-th projection of this product if 0&lt;=n&lt;arity,
@@ -38,7 +54,7 @@ trait Product9[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9] extends Product {
* @return same as _(n+1)
* @throws IndexOutOfBoundsException
*/
- override def element(n: Int) = n match {
+ override def productElement(n: Int) = n match {
case 0 => _1
case 1 => _2
case 2 => _3
diff --git a/src/library/scala/Tuple1.scala b/src/library/scala/Tuple1.scala
index 7be8dffccf..3a8754365a 100644
--- a/src/library/scala/Tuple1.scala
+++ b/src/library/scala/Tuple1.scala
@@ -9,7 +9,7 @@
// $Id$
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple10.scala b/src/library/scala/Tuple10.scala
index f85aeeae9c..13e866e60d 100644
--- a/src/library/scala/Tuple10.scala
+++ b/src/library/scala/Tuple10.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9548 2007-01-03 16:50:11Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple11.scala b/src/library/scala/Tuple11.scala
index 5e24c07c56..2aaef95c47 100644
--- a/src/library/scala/Tuple11.scala
+++ b/src/library/scala/Tuple11.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9548 2007-01-03 16:50:11Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple12.scala b/src/library/scala/Tuple12.scala
index dcd843bd11..5c4564d43b 100644
--- a/src/library/scala/Tuple12.scala
+++ b/src/library/scala/Tuple12.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9548 2007-01-03 16:50:11Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple13.scala b/src/library/scala/Tuple13.scala
index 314ab30b1c..bdcf47cbeb 100644
--- a/src/library/scala/Tuple13.scala
+++ b/src/library/scala/Tuple13.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9548 2007-01-03 16:50:11Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple14.scala b/src/library/scala/Tuple14.scala
index b32a05744b..a35a426725 100644
--- a/src/library/scala/Tuple14.scala
+++ b/src/library/scala/Tuple14.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9548 2007-01-03 16:50:11Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple15.scala b/src/library/scala/Tuple15.scala
index 3783030041..6b2e622e41 100644
--- a/src/library/scala/Tuple15.scala
+++ b/src/library/scala/Tuple15.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9548 2007-01-03 16:50:11Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple16.scala b/src/library/scala/Tuple16.scala
index 8cfc1d7027..5d4a2fabdd 100644
--- a/src/library/scala/Tuple16.scala
+++ b/src/library/scala/Tuple16.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9548 2007-01-03 16:50:11Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple17.scala b/src/library/scala/Tuple17.scala
index 153f103d04..23ad1e48b5 100644
--- a/src/library/scala/Tuple17.scala
+++ b/src/library/scala/Tuple17.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9548 2007-01-03 16:50:11Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple18.scala b/src/library/scala/Tuple18.scala
index 7a5451762b..401d265a40 100644
--- a/src/library/scala/Tuple18.scala
+++ b/src/library/scala/Tuple18.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9548 2007-01-03 16:50:11Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple19.scala b/src/library/scala/Tuple19.scala
index 0827bafaa4..9068d2323c 100644
--- a/src/library/scala/Tuple19.scala
+++ b/src/library/scala/Tuple19.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9548 2007-01-03 16:50:11Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple2.scala b/src/library/scala/Tuple2.scala
index 5e642df396..b4724985c1 100644
--- a/src/library/scala/Tuple2.scala
+++ b/src/library/scala/Tuple2.scala
@@ -9,7 +9,7 @@
// $Id$
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple20.scala b/src/library/scala/Tuple20.scala
index 064ab98715..25920a8250 100644
--- a/src/library/scala/Tuple20.scala
+++ b/src/library/scala/Tuple20.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9548 2007-01-03 16:50:11Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple21.scala b/src/library/scala/Tuple21.scala
index cef7528b38..11960ba545 100644
--- a/src/library/scala/Tuple21.scala
+++ b/src/library/scala/Tuple21.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9548 2007-01-03 16:50:11Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple22.scala b/src/library/scala/Tuple22.scala
index 4c61ee0909..233c04e3b7 100644
--- a/src/library/scala/Tuple22.scala
+++ b/src/library/scala/Tuple22.scala
@@ -7,9 +7,9 @@
** |/ **
\* */
-// $Id: genprod.scala 9548 2007-01-03 16:50:11Z emir $
+// $Id: genprod.scala 10061 2007-02-20 18:06:07 +0100 (Tue, 20 Feb 2007) moors $
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple3.scala b/src/library/scala/Tuple3.scala
index a4b01fc32b..9b1e4d1534 100644
--- a/src/library/scala/Tuple3.scala
+++ b/src/library/scala/Tuple3.scala
@@ -9,7 +9,7 @@
// $Id$
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple4.scala b/src/library/scala/Tuple4.scala
index 95265214e4..3377f96044 100644
--- a/src/library/scala/Tuple4.scala
+++ b/src/library/scala/Tuple4.scala
@@ -9,7 +9,7 @@
// $Id$
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple5.scala b/src/library/scala/Tuple5.scala
index 124c3bdc9b..d319450083 100644
--- a/src/library/scala/Tuple5.scala
+++ b/src/library/scala/Tuple5.scala
@@ -9,7 +9,7 @@
// $Id$
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple6.scala b/src/library/scala/Tuple6.scala
index 6de442adab..96d4c32f9c 100644
--- a/src/library/scala/Tuple6.scala
+++ b/src/library/scala/Tuple6.scala
@@ -9,7 +9,7 @@
// $Id$
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple7.scala b/src/library/scala/Tuple7.scala
index 7ee19e4292..12b766eec5 100644
--- a/src/library/scala/Tuple7.scala
+++ b/src/library/scala/Tuple7.scala
@@ -9,7 +9,7 @@
// $Id$
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple8.scala b/src/library/scala/Tuple8.scala
index 56f6d6f0fa..86e8664e87 100644
--- a/src/library/scala/Tuple8.scala
+++ b/src/library/scala/Tuple8.scala
@@ -9,7 +9,7 @@
// $Id$
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/Tuple9.scala b/src/library/scala/Tuple9.scala
index b9d3b33e6a..73368be030 100644
--- a/src/library/scala/Tuple9.scala
+++ b/src/library/scala/Tuple9.scala
@@ -9,7 +9,7 @@
// $Id$
-// generated by genprod on Tue Feb 20 15:57:32 CET 2007
+// generated by genprod on Thu Apr 12 14:45:21 CEST 2007
package scala
diff --git a/src/library/scala/runtime/ScalaRunTime.scala b/src/library/scala/runtime/ScalaRunTime.scala
index c53e690ee0..54cd51bddf 100644
--- a/src/library/scala/runtime/ScalaRunTime.scala
+++ b/src/library/scala/runtime/ScalaRunTime.scala
@@ -71,6 +71,7 @@ object ScalaRunTime {
def _toString(x: Product): String =
caseFields(x).mkString(x.productPrefix + "(", ",", ")")
+ // todo: use productArity, productElement
def _hashCode(x: Product): Int = {
var code = x.getClass().hashCode()
val arr = x.arity
@@ -82,6 +83,7 @@ object ScalaRunTime {
code
}
+ // todo: use productArity, productElement
def _equals(x: Product, y: Any): Boolean = y match {
case y1: Product if x.arity == y1.arity =>
val arity = x.arity
@@ -93,6 +95,7 @@ object ScalaRunTime {
false
}
+ // todo: use productArity, productElement
def _equalsWithVarArgs(x: Product, y: Any): Boolean = y match {
case y1: Product if x.arity == y1.arity =>
val arity = x.arity