diff options
author | michelou <michelou@epfl.ch> | 2007-04-19 17:01:17 +0000 |
---|---|---|
committer | michelou <michelou@epfl.ch> | 2007-04-19 17:01:17 +0000 |
commit | 7b2bdb4e75f72fbdf4c488aea112d7838f89bc5f (patch) | |
tree | 27e0c0de8c467cc178d04975f6c5de2b1fb4cf96 /src/compiler | |
parent | 2f4064efbe52bf3ef5b96d6b2a25670876064d4c (diff) | |
download | scala-7b2bdb4e75f72fbdf4c488aea112d7838f89bc5f.tar.gz scala-7b2bdb4e75f72fbdf4c488aea112d7838f89bc5f.tar.bz2 scala-7b2bdb4e75f72fbdf4c488aea112d7838f89bc5f.zip |
updated element/arity to productElement/product...
updated element/arity to productElement/productArity
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala | 25 |
1 files changed, 1 insertions, 24 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala b/src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala index 07b95fe0f7..3446443628 100644 --- a/src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala +++ b/src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala @@ -1,5 +1,5 @@ /* NSC -- new Scala compiler - * Copyright 2005-2006 LAMP/EPFL + * Copyright 2005-2007 LAMP/EPFL * @author Martin Odersky */ // $Id$ @@ -7,7 +7,6 @@ package scala.tools.nsc.typechecker import symtab.Flags._ -import util.FreshNameCreator import scala.collection.mutable.ListBuffer /** <ul> @@ -73,29 +72,11 @@ 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.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.productElement, FINAL, MethodType(List(IntClass.tpe), AnyClass.tpe/*retTpe*/)) @@ -249,12 +230,8 @@ trait SyntheticMethods requires Analyzer { if (!hasOverridingImplementation(Product_productPrefix)) ts += productPrefixMethod val accessors = clazz.caseFieldAccessors - if (!hasImplementation("arity")) // remove after starr update - ts += OLDproductArityMethod(accessors.length) if (!hasOverridingImplementation(Product_productArity)) ts += productArityMethod(accessors.length) - if (!hasImplementation("element")) // remove after starr update - ts += OLDproductElementMethod(accessors) if (!hasOverridingImplementation(Product_productElement)) ts += productElementMethod(accessors) } |