summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Definitions.scala2
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala4
-rw-r--r--src/library/scala/Product.scala3
-rw-r--r--test/files/scalap/caseClass/result.test1
-rw-r--r--test/files/scalap/caseObject/result.test1
5 files changed, 7 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/Definitions.scala b/src/compiler/scala/tools/nsc/symtab/Definitions.scala
index 08a7227a7f..d3b1d4dabe 100644
--- a/src/compiler/scala/tools/nsc/symtab/Definitions.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Definitions.scala
@@ -289,7 +289,7 @@ trait Definitions extends reflect.generic.StandardDefinitions {
lazy val ProductRootClass: Symbol = getClass("scala.Product")
def Product_productArity = getMember(ProductRootClass, nme.productArity)
def Product_productElement = getMember(ProductRootClass, nme.productElement)
- def Product_productElementName = getMember(ProductRootClass, nme.productElementName)
+ // def Product_productElementName = getMember(ProductRootClass, nme.productElementName)
def Product_productPrefix = getMember(ProductRootClass, nme.productPrefix)
def Product_canEqual = getMember(ProductRootClass, nme.canEqual_)
diff --git a/src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala b/src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala
index 042343ac16..1e8b89cb6f 100644
--- a/src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala
@@ -271,7 +271,9 @@ trait SyntheticMethods extends ast.TreeDSL {
Product_productPrefix -> (() => productPrefixMethod),
Product_productArity -> (() => productArityMethod(accessors.length)),
Product_productElement -> (() => productElementMethod(accessors)),
- Product_productElementName -> (() => productElementNameMethod(accessors)),
+ // This is disabled pending a reimplementation which doesn't add any
+ // weight to case classes (i.e. inspects the bytecode.)
+ // Product_productElementName -> (() => productElementNameMethod(accessors)),
Product_canEqual -> (() => canEqualMethod)
)
}
diff --git a/src/library/scala/Product.scala b/src/library/scala/Product.scala
index 417b87f191..a0503cfe4c 100644
--- a/src/library/scala/Product.scala
+++ b/src/library/scala/Product.scala
@@ -29,6 +29,9 @@ trait Product extends Equals {
*/
def productElement(n: Int): Any
+ // !!! This will be disabled pending reimplementation, but it can't be removed
+ // until starr forgets about it.
+
/** Returns the name of the field at the given index from the definition
* of the class.
*
diff --git a/test/files/scalap/caseClass/result.test b/test/files/scalap/caseClass/result.test
index 4c6ac85765..eb1ad74295 100644
--- a/test/files/scalap/caseClass/result.test
+++ b/test/files/scalap/caseClass/result.test
@@ -10,6 +10,5 @@ case class CaseClass[A <: scala.Seq[scala.Int]](i : A, s : scala.Predef.String)
override def productPrefix : java.lang.String = { /* compiled code */ }
override def productArity : scala.Int = { /* compiled code */ }
override def productElement(x$1 : scala.Int) : scala.Any = { /* compiled code */ }
- override def productElementName(x$1 : scala.Int) : java.lang.String = { /* compiled code */ }
override def canEqual(x$1 : scala.Any) : scala.Boolean = { /* compiled code */ }
} \ No newline at end of file
diff --git a/test/files/scalap/caseObject/result.test b/test/files/scalap/caseObject/result.test
index 0e710936a0..d888191919 100644
--- a/test/files/scalap/caseObject/result.test
+++ b/test/files/scalap/caseObject/result.test
@@ -4,7 +4,6 @@ case object CaseObject extends java.lang.Object with scala.ScalaObject with scal
override def productPrefix : java.lang.String = { /* compiled code */ }
override def productArity : scala.Int = { /* compiled code */ }
override def productElement(x$1 : scala.Int) : scala.Any = { /* compiled code */ }
- override def productElementName(x$1 : scala.Int) : java.lang.String = { /* compiled code */ }
override def canEqual(x$1 : scala.Any) : scala.Boolean = { /* compiled code */ }
protected def readResolve() : java.lang.Object = { /* compiled code */ }
}