diff options
author | Martin Odersky <odersky@gmail.com> | 2012-07-08 11:30:46 +0200 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@epfl.ch> | 2012-07-11 17:40:34 +0200 |
commit | 39fc4aa845dab660d9d360f9b6e9fd82f5d765fe (patch) | |
tree | 792a4c8b8bfc0948493171a43ff6075c56bdbdc1 /src/reflect/scala/reflect/internal/Symbols.scala | |
parent | 2d35dfcffdf227466b22e3920943a3acc6240e7f (diff) | |
download | scala-39fc4aa845dab660d9d360f9b6e9fd82f5d765fe.tar.gz scala-39fc4aa845dab660d9d360f9b6e9fd82f5d765fe.tar.bz2 scala-39fc4aa845dab660d9d360f9b6e9fd82f5d765fe.zip |
polymorphic value classes
dropping boxing code, which turned out to be a dead end.
Diffstat (limited to 'src/reflect/scala/reflect/internal/Symbols.scala')
-rw-r--r-- | src/reflect/scala/reflect/internal/Symbols.scala | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/reflect/scala/reflect/internal/Symbols.scala b/src/reflect/scala/reflect/internal/Symbols.scala index 77c27126c5..94be7848bf 100644 --- a/src/reflect/scala/reflect/internal/Symbols.scala +++ b/src/reflect/scala/reflect/internal/Symbols.scala @@ -2239,10 +2239,10 @@ trait Symbols extends api.Symbols { self: SymbolTable => base.info.decl(sname) filter (_.hasAccessorFlag) } - /** Return the accessor method of the first parameter of this class. + /** If this is a derived value class, return its unbox method * or NoSymbol if it does not exist. */ - def firstParamAccessor: Symbol = NoSymbol + def derivedValueClassUnbox: Symbol = NoSymbol /** The case module corresponding to this case class * @pre case class is a member of some other class or package @@ -3146,8 +3146,10 @@ trait Symbols extends api.Symbols { self: SymbolTable => clone } - override def firstParamAccessor = - info.decls.find(_ hasAllFlags PARAMACCESSOR | METHOD) getOrElse NoSymbol + override def derivedValueClassUnbox = + (info.decl(nme.unbox)) orElse + (info.decls.find(_ hasAllFlags PARAMACCESSOR | METHOD) getOrElse + NoSymbol) private[this] var childSet: Set[Symbol] = Set() override def children = childSet |