Skip to content

Commit ae252e1

Browse files
committed
Move logic of CaseDefOps into TreeOps
1 parent 3c34dbc commit ae252e1

File tree

6 files changed

+44
-58
lines changed

6 files changed

+44
-58
lines changed

library/src/scala/tasty/Reflection.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import scala.tasty.reflect._
44

55
abstract class Reflection
66
extends Core
7-
with CaseDefOps
87
with ConstantOps
98
with ContextOps
109
with CommentOps

library/src/scala/tasty/reflect/CaseDefOps.scala

Lines changed: 0 additions & 50 deletions
This file was deleted.

library/src/scala/tasty/reflect/Printers.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import scala.tasty.util.Chars
88

99
trait Printers
1010
extends Core
11-
with CaseDefOps
1211
with ConstantOps
1312
with FlagsOps
1413
with IdOps

library/src/scala/tasty/reflect/TreeOps.scala

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1037,4 +1037,48 @@ trait TreeOps extends Core {
10371037
kernel.matchWildcardTypeTree(tree).isDefined
10381038
}
10391039

1040+
// ----- CaseDefs ------------------------------------------------
1041+
1042+
implicit class CaseDefAPI(caseDef: CaseDef) {
1043+
def pattern(implicit ctx: Context): Pattern = kernel.CaseDef_pattern(caseDef)
1044+
def guard(implicit ctx: Context): Option[Term] = kernel.CaseDef_guard(caseDef)
1045+
def rhs(implicit ctx: Context): Term = kernel.CaseDef_rhs(caseDef)
1046+
}
1047+
1048+
object IsCaseDef {
1049+
def unapply(self: Tree)(implicit ctx: Context): Option[CaseDef] =
1050+
kernel.matchCaseDef(self)
1051+
}
1052+
1053+
object CaseDef {
1054+
def apply(pattern: Pattern, guard: Option[Term], rhs: Term)(implicit ctx: Context): CaseDef =
1055+
kernel.CaseDef_module_apply(pattern, guard, rhs)
1056+
1057+
def copy(original: CaseDef)(pattern: Pattern, guard: Option[Term], rhs: Term)(implicit ctx: Context): CaseDef =
1058+
kernel.CaseDef_module_copy(original)(pattern, guard, rhs)
1059+
1060+
def unapply(tree: Tree)(implicit ctx: Context): Option[(Pattern, Option[Term], Term)] =
1061+
kernel.matchCaseDef(tree).map( x => (x.pattern, x.guard, x.rhs))
1062+
}
1063+
1064+
implicit class TypeCaseDefAPI(caseDef: TypeCaseDef) {
1065+
def pattern(implicit ctx: Context): TypeTree = kernel.TypeCaseDef_pattern(caseDef)
1066+
def rhs(implicit ctx: Context): TypeTree = kernel.TypeCaseDef_rhs(caseDef)
1067+
}
1068+
1069+
object IsTypeCaseDef {
1070+
def unapply(self: Tree)(implicit ctx: Context): Option[TypeCaseDef] =
1071+
kernel.matchTypeCaseDef(self)
1072+
}
1073+
1074+
object TypeCaseDef {
1075+
def apply(pattern: TypeTree, rhs: TypeTree)(implicit ctx: Context): TypeCaseDef =
1076+
kernel.TypeCaseDef_module_apply(pattern, rhs)
1077+
1078+
def copy(original: TypeCaseDef)(pattern: TypeTree, rhs: TypeTree)(implicit ctx: Context): TypeCaseDef =
1079+
kernel.TypeCaseDef_module_copy(original)(pattern, rhs)
1080+
1081+
def unapply(tree: Tree)(implicit ctx: Context): Option[(TypeTree, TypeTree)] =
1082+
kernel.matchTypeCaseDef(tree).map( x => (x.pattern, x.rhs))
1083+
}
10401084
}

library/src/scala/tasty/reflect/TreeUtils.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ package reflect
44
/** Tasty reflect case definition */
55
trait TreeUtils
66
extends Core
7-
with CaseDefOps
87
with PatternOps
98
with SymbolOps
109
with TreeOps {

semanticdb/src/dotty/semanticdb/SemanticdbConsumer.scala

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,6 @@ class SemanticdbConsumer(sourceFilePath: java.nio.file.Path) extends TastyConsum
5353
def traverseTypeTree(tree: Tree /*TypeTree | TypeBoundsTree*/)(
5454
implicit ctx: Context): Unit =
5555
childrenType = tree :: childrenType
56-
override def traverseCaseDef(tree: CaseDef)(implicit ctx: Context): Unit =
57-
()
58-
override def traverseTypeCaseDef(tree: TypeCaseDef)(
59-
implicit ctx: Context): Unit =
60-
()
6156

6257
def getChildren(tree: Tree)(implicit ctx: Context): List[Tree] = {
6358
children = Nil

0 commit comments

Comments
 (0)