aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-10-11 22:06:17 +0200
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2014-10-12 10:52:02 +0200
commit74fa107dab3c2442bf14753926bb82f7325645ad (patch)
tree50bbeb66fab24590061815274eec25d2eaadeba6 /src
parent4e897165d9dbd58536a176b9901e0c62457e6b4d (diff)
downloaddotty-74fa107dab3c2442bf14753926bb82f7325645ad.tar.gz
dotty-74fa107dab3c2442bf14753926bb82f7325645ad.tar.bz2
dotty-74fa107dab3c2442bf14753926bb82f7325645ad.zip
Moved caseAccessors to SymUtils
Diffstat (limited to 'src')
-rw-r--r--src/dotty/tools/dotc/transform/SymUtils.scala3
-rw-r--r--src/dotty/tools/dotc/transform/SyntheticMethods.scala4
2 files changed, 5 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/transform/SymUtils.scala b/src/dotty/tools/dotc/transform/SymUtils.scala
index 82bea1813..2875327c4 100644
--- a/src/dotty/tools/dotc/transform/SymUtils.scala
+++ b/src/dotty/tools/dotc/transform/SymUtils.scala
@@ -51,6 +51,9 @@ class SymUtils(val self: Symbol) extends AnyVal {
def accessorNamed(name: TermName)(implicit ctx: Context): Symbol =
self.owner.info.decl(name).suchThat(_ is Accessor).symbol
+ def caseAccessors(implicit ctx:Context) =
+ self.decls.filter(_ is CaseAccessor).toList
+
def getter(implicit ctx: Context): Symbol =
if (self.isGetter) self else accessorNamed(self.asTerm.name.getterName)
diff --git a/src/dotty/tools/dotc/transform/SyntheticMethods.scala b/src/dotty/tools/dotc/transform/SyntheticMethods.scala
index 34cca2872..128449efa 100644
--- a/src/dotty/tools/dotc/transform/SyntheticMethods.scala
+++ b/src/dotty/tools/dotc/transform/SyntheticMethods.scala
@@ -2,7 +2,7 @@ package dotty.tools.dotc
package transform
import core._
-import Symbols._, Types._, Contexts._, Names._, StdNames._, Constants._
+import Symbols._, Types._, Contexts._, Names._, StdNames._, Constants._, SymUtils._
import scala.collection.{ mutable, immutable }
import Flags._
import TreeTransforms._
@@ -48,7 +48,7 @@ class SyntheticMethods extends MiniPhaseTransform with IdentityDenotTransformer
*/
def syntheticMethods(clazz: ClassSymbol)(implicit ctx: Context): List[Tree] = {
val clazzType = clazz.typeRef
- def accessors = clazz.decls.filter(_ is CaseAccessor).toList
+ lazy val accessors = clazz.caseAccessors
val symbolsToSynthesize: List[Symbol] =
if (clazz.is(Case)) caseSymbols