From 5bb26aa18d774162828693bb8c4fcc246359ecf5 Mon Sep 17 00:00:00 2001 From: Burak Emir Date: Thu, 12 Apr 2007 14:30:11 +0000 Subject: renamed arity=>productArity,element=>productEle... renamed arity=>productArity,element=>productElement --- src/build/genprod.scala | 28 +++++++++++++++-- .../tools/nsc/matching/ParallelMatching.scala | 35 ++++++++++++---------- .../scala/tools/nsc/matching/PatternMatchers.scala | 4 +++ src/compiler/scala/tools/nsc/symtab/StdNames.scala | 4 +-- .../tools/nsc/typechecker/SyntheticMethods.scala | 30 ++++++++++++++++--- src/library/scala/Function0.scala | 2 +- src/library/scala/Function1.scala | 2 +- src/library/scala/Function2.scala | 2 +- src/library/scala/Function3.scala | 2 +- src/library/scala/Function4.scala | 2 +- src/library/scala/Function5.scala | 2 +- src/library/scala/Function6.scala | 2 +- src/library/scala/Function7.scala | 2 +- src/library/scala/Function8.scala | 2 +- src/library/scala/Product.scala | 17 +++++++++-- src/library/scala/Product1.scala | 24 ++++++++++++--- src/library/scala/Product10.scala | 24 ++++++++++++--- src/library/scala/Product11.scala | 24 ++++++++++++--- src/library/scala/Product12.scala | 24 ++++++++++++--- src/library/scala/Product13.scala | 24 ++++++++++++--- src/library/scala/Product14.scala | 24 ++++++++++++--- src/library/scala/Product15.scala | 24 ++++++++++++--- src/library/scala/Product16.scala | 24 ++++++++++++--- src/library/scala/Product17.scala | 24 ++++++++++++--- src/library/scala/Product18.scala | 24 ++++++++++++--- src/library/scala/Product19.scala | 24 ++++++++++++--- src/library/scala/Product2.scala | 24 ++++++++++++--- src/library/scala/Product20.scala | 24 ++++++++++++--- src/library/scala/Product21.scala | 24 ++++++++++++--- src/library/scala/Product22.scala | 24 ++++++++++++--- src/library/scala/Product3.scala | 24 ++++++++++++--- src/library/scala/Product4.scala | 24 ++++++++++++--- src/library/scala/Product5.scala | 24 ++++++++++++--- src/library/scala/Product6.scala | 24 ++++++++++++--- src/library/scala/Product7.scala | 24 ++++++++++++--- src/library/scala/Product8.scala | 24 ++++++++++++--- src/library/scala/Product9.scala | 24 ++++++++++++--- src/library/scala/Tuple1.scala | 2 +- src/library/scala/Tuple10.scala | 4 +-- src/library/scala/Tuple11.scala | 4 +-- src/library/scala/Tuple12.scala | 4 +-- src/library/scala/Tuple13.scala | 4 +-- src/library/scala/Tuple14.scala | 4 +-- src/library/scala/Tuple15.scala | 4 +-- src/library/scala/Tuple16.scala | 4 +-- src/library/scala/Tuple17.scala | 4 +-- src/library/scala/Tuple18.scala | 4 +-- src/library/scala/Tuple19.scala | 4 +-- src/library/scala/Tuple2.scala | 2 +- src/library/scala/Tuple20.scala | 4 +-- src/library/scala/Tuple21.scala | 4 +-- src/library/scala/Tuple22.scala | 4 +-- src/library/scala/Tuple3.scala | 2 +- src/library/scala/Tuple4.scala | 2 +- src/library/scala/Tuple5.scala | 2 +- src/library/scala/Tuple6.scala | 2 +- src/library/scala/Tuple7.scala | 2 +- src/library/scala/Tuple8.scala | 2 +- src/library/scala/Tuple9.scala | 2 +- src/library/scala/runtime/ScalaRunTime.scala | 3 ++ 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&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, @@ -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 A(x_1,...,x_k)), returns x_(i+1) + * for 0 <= i < k + * + * @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 A(x_1,...,x_k)) + */ + def productArity: Int = arity /** return k for a product A(x_1,...,x_k)) */ - 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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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<=n<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 -- cgit v1.2.3