diff options
Diffstat (limited to 'src/dotty/tools/backend/jvm/DottyBackendInterface.scala')
-rw-r--r-- | src/dotty/tools/backend/jvm/DottyBackendInterface.scala | 17 |
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 |