aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/backend/jvm/DottyBackendInterface.scala
diff options
context:
space:
mode:
authorDmitry Petrashko <dmitry.petrashko@gmail.com>2014-12-02 18:02:18 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2014-12-16 13:15:01 +0100
commitf3c74e15b3f0d61ac73bb03d2e4fdd0306115a3d (patch)
tree5d4d79fb821d81c644f8edd8087f7488300ce860 /src/dotty/tools/backend/jvm/DottyBackendInterface.scala
parentf7158754e355447d3411cbda5b6b4c8779eae302 (diff)
downloaddotty-f3c74e15b3f0d61ac73bb03d2e4fdd0306115a3d.tar.gz
dotty-f3c74e15b3f0d61ac73bb03d2e4fdd0306115a3d.tar.bz2
dotty-f3c74e15b3f0d61ac73bb03d2e4fdd0306115a3d.zip
Adapt dotty to changes in BackendInterface that save allocation on Product1s
Diffstat (limited to 'src/dotty/tools/backend/jvm/DottyBackendInterface.scala')
-rw-r--r--src/dotty/tools/backend/jvm/DottyBackendInterface.scala17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/dotty/tools/backend/jvm/DottyBackendInterface.scala b/src/dotty/tools/backend/jvm/DottyBackendInterface.scala
index 461d4aa79..1710c1325 100644
--- a/src/dotty/tools/backend/jvm/DottyBackendInterface.scala
+++ b/src/dotty/tools/backend/jvm/DottyBackendInterface.scala
@@ -660,35 +660,36 @@ class DottyBackendInterface()(implicit ctx: Context) extends BackendInterface{
// todo: this product1s should also eventually become name-based pattn matching
object Literal extends LiteralDeconstructor {
- def unapply(a: Literal): Option[Constant] = Some(a.const)
+ def get = field.const
}
object Throw extends ThrowDeconstructor {
- def unapply(s: Throw): Option[Tree] = Some(s.expr)
+ def get = field.expr
}
object New extends NewDeconstructor {
- def unapply(s: New): Option[Type] = Some(s.tpt.tpe)
+ def get = field.tpt.tpe
}
object This extends ThisDeconstructor {
- def unapply(s: This): Option[Name] = Some(s.qual)
+ def get = field.qual
def apply(s: Symbol): This = tpd.This(s.asClass)
}
object Return extends ReturnDeconstructor {
- def unapply(s: Return): Option[Tree] = Some(s.expr)
+ def get = field.expr
}
object Ident extends IdentDeconstructor {
- def unapply(s: Ident): Option[Name] = Some(s.name)
+ def get = field.name
}
object Alternative extends AlternativeDeconstructor {
- def unapply(s: Alternative): Option[List[Tree]] = Some(s.trees)
+ def get = field.trees
}
+
object Constant extends ConstantDeconstructor {
- def unapply(a: Constant): Option[Any] = Some(a.value)
+ def get = field.value
}
object ThrownException extends ThrownException {
def unapply(a: Annotation): Option[Symbol] = None // todo