Skip to content

Commit c3ce4cc

Browse files
committed
Remove Context from TreeMap and TreeAccumulator
1 parent f21556d commit c3ce4cc

File tree

11 files changed

+52
-52
lines changed

11 files changed

+52
-52
lines changed

library/src-bootstrapped/scala/internal/quoted/Matcher.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ object Matcher {
265265
def bodyFn(lambdaArgs: List[Tree]): Tree = {
266266
val argsMap = args.map(_.symbol).zip(lambdaArgs.asInstanceOf[List[Term]]).toMap
267267
new TreeMap {
268-
override def transformTerm(tree: Term)(using ctx: Context): Term =
268+
override def transformTerm(tree: Term): Term =
269269
tree match
270270
case tree: Ident => summon[Env].get(tree.symbol).flatMap(argsMap.get).getOrElse(tree)
271271
case tree => super.transformTerm(tree)
@@ -429,7 +429,7 @@ object Matcher {
429429
/** Return all free variables of the term defined in the pattern (i.e. defined in `Env`) */
430430
def freePatternVars(term: Term)(using env: Env): Set[Symbol] =
431431
val accumulator = new TreeAccumulator[Set[Symbol]] {
432-
def foldTree(x: Set[Symbol], tree: Tree)(using ctx: Context): Set[Symbol] =
432+
def foldTree(x: Set[Symbol], tree: Tree): Set[Symbol] =
433433
tree match
434434
case tree: Ident if env.contains(tree.symbol) => foldOverTree(x + tree.symbol, tree)
435435
case _ => foldOverTree(x, tree)

library/src-bootstrapped/scala/quoted/unsafe/UnsafeExpr.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ object UnsafeExpr {
6161
import qctx.tasty._
6262
val map = params.map(_.symbol).zip(args).toMap
6363
new TreeMap {
64-
override def transformTerm(tree: Term)(using ctx: Context): Term =
64+
override def transformTerm(tree: Term): Term =
6565
super.transformTerm(tree) match
6666
case tree: Ident => map.getOrElse(tree.symbol, tree)
6767
case tree => tree

library/src/scala/tasty/reflect/TreeAccumulator.scala

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,23 @@ package reflect
77
* ```
88
* class MyTreeAccumulator[R <: scala.tasty.Reflection & Singleton](val reflect: R)
99
* extends scala.tasty.reflect.TreeAccumulator[X] {
10-
* import reflect.{given _, _}
11-
* def foldTree(x: X, tree: Tree)(using ctx: Context): X = ...
10+
* import reflect._
11+
* def foldTree(x: X, tree: Tree): X = ...
1212
* }
1313
* ```
1414
*/
1515
trait TreeAccumulator[X] {
1616

1717
val reflect: Reflection
18-
import reflect.{given _, _}
18+
import reflect._
1919

2020
// Ties the knot of the traversal: call `foldOver(x, tree))` to dive in the `tree` node.
21-
def foldTree(x: X, tree: Tree)(using ctx: Context): X
21+
def foldTree(x: X, tree: Tree): X
2222

23-
def foldTrees(x: X, trees: Iterable[Tree])(using ctx: Context): X = trees.foldLeft(x)(foldTree)
23+
def foldTrees(x: X, trees: Iterable[Tree]): X = trees.foldLeft(x)(foldTree)
2424

25-
def foldOverTree(x: X, tree: Tree)(using ctx: Context): X = {
26-
def localCtx(definition: Definition): Context = ctx // definition.symbol.localContext // FIXME
25+
def foldOverTree(x: X, tree: Tree): X = {
26+
// def localCtx(definition: Definition): Context = ctx // definition.symbol.localContext // FIXME
2727
tree match {
2828
case Ident(_) =>
2929
x
@@ -66,20 +66,20 @@ trait TreeAccumulator[X] {
6666
case Inlined(call, bindings, expansion) =>
6767
foldTree(foldTrees(x, bindings), expansion)
6868
case vdef @ ValDef(_, tpt, rhs) =>
69-
val ctx = localCtx(vdef)
70-
given Context = ctx
69+
// val ctx = localCtx(vdef)
70+
// given Context = ctx
7171
foldTrees(foldTree(x, tpt), rhs)
7272
case ddef @ DefDef(_, tparams, vparamss, tpt, rhs) =>
73-
val ctx = localCtx(ddef)
74-
given Context = ctx
73+
// val ctx = localCtx(ddef)
74+
// given Context = ctx
7575
foldTrees(foldTree(vparamss.foldLeft(foldTrees(x, tparams))(foldTrees), tpt), rhs)
7676
case tdef @ TypeDef(_, rhs) =>
77-
val ctx = localCtx(tdef)
78-
given Context = ctx
77+
// val ctx = localCtx(tdef)
78+
// given Context = ctx
7979
foldTree(x, rhs)
8080
case cdef @ ClassDef(_, constr, parents, derived, self, body) =>
81-
val ctx = localCtx(cdef)
82-
given Context = ctx
81+
// val ctx = localCtx(cdef)
82+
// given Context = ctx
8383
foldTrees(foldTrees(foldTrees(foldTrees(foldTree(x, constr), parents), derived), self), body)
8484
case Import(expr, _) =>
8585
foldTree(x, expr)

library/src/scala/tasty/reflect/TreeMap.scala

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@ package reflect
77
* ```
88
* class MyTreeMap[R <: scala.tasty.Reflection & Singleton](val reflect: R)
99
* extends scala.tasty.reflect.TreeMap {
10-
* import reflect.{given _, _}
11-
* override def transformTree(tree: Tree)(using ctx: Context): Tree = ...
10+
* import reflect._
11+
* override def transformTree(tree: Tree): Tree = ...
1212
* }
1313
* ```
1414
*/
1515
trait TreeMap {
1616

1717
val reflect: Reflection
18-
import reflect.{given _, _}
18+
import reflect._
1919

20-
def transformTree(tree: Tree)(using ctx: Context): Tree = {
20+
def transformTree(tree: Tree): Tree = {
2121
tree match {
2222
case tree: PackageClause =>
2323
PackageClause.copy(tree)(transformTerm(tree.pid).asInstanceOf[Ref], transformTrees(tree.stats)/*(using tree.symbol.localContext)*/)
@@ -41,24 +41,24 @@ trait TreeMap {
4141
}
4242
}
4343

44-
def transformStatement(tree: Statement)(using ctx: Context): Statement = {
45-
def localCtx(definition: Definition): Context = ctx // definition.symbol.localContext
44+
def transformStatement(tree: Statement): Statement = {
45+
// def localCtx(definition: Definition): Context = ctx // definition.symbol.localContext
4646
tree match {
4747
case tree: Term =>
4848
transformTerm(tree)
4949
case tree: ValDef =>
50-
val ctx = localCtx(tree)
51-
given Context = ctx
50+
// val ctx = localCtx(tree)
51+
// given Context = ctx
5252
val tpt1 = transformTypeTree(tree.tpt)
5353
val rhs1 = tree.rhs.map(x => transformTerm(x))
5454
ValDef.copy(tree)(tree.name, tpt1, rhs1)
5555
case tree: DefDef =>
56-
val ctx = localCtx(tree)
57-
given Context = ctx
56+
// val ctx = localCtx(tree)
57+
// given Context = ctx
5858
DefDef.copy(tree)(tree.name, transformSubTrees(tree.typeParams), tree.paramss mapConserve (transformSubTrees(_)), transformTypeTree(tree.returnTpt), tree.rhs.map(x => transformTerm(x)))
5959
case tree: TypeDef =>
60-
val ctx = localCtx(tree)
61-
given Context = ctx
60+
// val ctx = localCtx(tree)
61+
// given Context = ctx
6262
TypeDef.copy(tree)(tree.name, transformTree(tree.rhs))
6363
case tree: ClassDef =>
6464
ClassDef.copy(tree)(tree.name, tree.constructor, tree.parents, tree.derived, tree.self, tree.body)
@@ -67,7 +67,7 @@ trait TreeMap {
6767
}
6868
}
6969

70-
def transformTerm(tree: Term)(using ctx: Context): Term = {
70+
def transformTerm(tree: Term): Term = {
7171
tree match {
7272
case Ident(name) =>
7373
tree
@@ -112,7 +112,7 @@ trait TreeMap {
112112
}
113113
}
114114

115-
def transformTypeTree(tree: TypeTree)(using ctx: Context): TypeTree = tree match {
115+
def transformTypeTree(tree: TypeTree): TypeTree = tree match {
116116
case Inferred() => tree
117117
case tree: TypeIdent => tree
118118
case tree: TypeSelect =>
@@ -139,33 +139,33 @@ trait TreeMap {
139139
TypeBlock.copy(tree)(tree.aliases, tree.tpt)
140140
}
141141

142-
def transformCaseDef(tree: CaseDef)(using ctx: Context): CaseDef = {
142+
def transformCaseDef(tree: CaseDef): CaseDef = {
143143
CaseDef.copy(tree)(transformTree(tree.pattern), tree.guard.map(transformTerm), transformTerm(tree.rhs))
144144
}
145145

146-
def transformTypeCaseDef(tree: TypeCaseDef)(using ctx: Context): TypeCaseDef = {
146+
def transformTypeCaseDef(tree: TypeCaseDef): TypeCaseDef = {
147147
TypeCaseDef.copy(tree)(transformTypeTree(tree.pattern), transformTypeTree(tree.rhs))
148148
}
149149

150-
def transformStats(trees: List[Statement])(using ctx: Context): List[Statement] =
150+
def transformStats(trees: List[Statement]): List[Statement] =
151151
trees mapConserve (transformStatement(_))
152152

153-
def transformTrees(trees: List[Tree])(using ctx: Context): List[Tree] =
153+
def transformTrees(trees: List[Tree]): List[Tree] =
154154
trees mapConserve (transformTree(_))
155155

156-
def transformTerms(trees: List[Term])(using ctx: Context): List[Term] =
156+
def transformTerms(trees: List[Term]): List[Term] =
157157
trees mapConserve (transformTerm(_))
158158

159-
def transformTypeTrees(trees: List[TypeTree])(using ctx: Context): List[TypeTree] =
159+
def transformTypeTrees(trees: List[TypeTree]): List[TypeTree] =
160160
trees mapConserve (transformTypeTree(_))
161161

162-
def transformCaseDefs(trees: List[CaseDef])(using ctx: Context): List[CaseDef] =
162+
def transformCaseDefs(trees: List[CaseDef]): List[CaseDef] =
163163
trees mapConserve (transformCaseDef(_))
164164

165-
def transformTypeCaseDefs(trees: List[TypeCaseDef])(using ctx: Context): List[TypeCaseDef] =
165+
def transformTypeCaseDefs(trees: List[TypeCaseDef]): List[TypeCaseDef] =
166166
trees mapConserve (transformTypeCaseDef(_))
167167

168-
def transformSubTrees[Tr <: Tree](trees: List[Tr])(using ctx: Context): List[Tr] =
168+
def transformSubTrees[Tr <: Tree](trees: List[Tr]): List[Tr] =
169169
transformTrees(trees).asInstanceOf[List[Tr]]
170170

171171
}

library/src/scala/tasty/reflect/TreeTraverser.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,19 @@ package reflect
77
* ```
88
* class MyTraverser[R <: scala.tasty.Reflection & Singleton](val reflect: R)
99
* extends scala.tasty.reflect.TreeTraverser {
10-
* import reflect.{given _, _}
11-
* override def traverseTree(tree: Tree)(using ctx: Context): Unit = ...
10+
* import reflect._
11+
* override def traverseTree(tree: Tree): Unit = ...
1212
* }
1313
* ```
1414
*/
1515
trait TreeTraverser extends TreeAccumulator[Unit] {
1616

1717
import reflect._
1818

19-
def traverseTree(tree: Tree)(using ctx: Context): Unit = traverseTreeChildren(tree)
19+
def traverseTree(tree: Tree): Unit = traverseTreeChildren(tree)
2020

21-
def foldTree(x: Unit, tree: Tree)(using ctx: Context): Unit = traverseTree(tree)
21+
def foldTree(x: Unit, tree: Tree): Unit = traverseTree(tree)
2222

23-
protected def traverseTreeChildren(tree: Tree)(using ctx: Context): Unit = foldOverTree((), tree)
23+
protected def traverseTreeChildren(tree: Tree): Unit = foldOverTree((), tree)
2424

2525
}

tests/run-custom-args/Yretain-trees/tasty-extractors-owners/quoted_1.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ object Macros {
1919

2020
class MyTraverser[R <: scala.tasty.Reflection & Singleton](val reflect: R)(buff: StringBuilder) extends scala.tasty.reflect.TreeTraverser {
2121
import reflect.{given _, _}
22-
override def traverseTree(tree: Tree)(implicit ctx: Context): Unit = {
22+
override def traverseTree(tree: Tree): Unit = {
2323
tree match {
2424
case tree @ DefDef(name, _, _, _, _) =>
2525
buff.append(name)

tests/run-custom-args/tasty-inspector/tasty-comment-inspector/Test.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class CommentInspector extends TastyInspector {
1313
import reflect.{_, given _}
1414
object Traverser extends TreeTraverser {
1515

16-
override def traverseTree(tree: Tree)(implicit ctx: Context): Unit = tree match {
16+
override def traverseTree(tree: Tree): Unit = tree match {
1717
case tree: Definition =>
1818
tree.symbol.comment match {
1919
case Some(com) => println(com.raw)

tests/run-custom-args/tasty-inspector/tasty-inspector/Test.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class DBInspector extends TastyInspector {
1313
import reflect.{_, given _}
1414
object Traverser extends TreeTraverser {
1515

16-
override def traverseTree(tree: Tree)(implicit ctx: Context): Unit = tree match {
16+
override def traverseTree(tree: Tree): Unit = tree match {
1717
case tree: Definition =>
1818
println(tree.showExtractors)
1919
super.traverseTree(tree)

tests/run-custom-args/tasty-interpreter/interpreter/TastyInterpreter.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ class TastyInterpreter extends TastyInspector {
99
import reflect.{_, given _}
1010
object Traverser extends TreeTraverser {
1111

12-
override def traverseTree(tree: Tree)(implicit ctx: Context): Unit = tree match {
12+
override def traverseTree(tree: Tree): Unit = tree match {
1313
// TODO: check the correct sig and object enclosement for main
1414
case DefDef("main", _, _, _, Some(rhs)) =>
1515
val interpreter = new jvm.Interpreter(this.reflect)

tests/run-macros/tasty-custom-show/quoted_1.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ object Macros {
1212
val buff = new StringBuilder
1313

1414
val output = new TreeTraverser {
15-
override def traverseTree(tree: Tree)(implicit ctx: Context): Unit = {
15+
override def traverseTree(tree: Tree): Unit = {
1616
// Use custom Show[_] here
1717
val printer = dummyShow
1818
tree match {

tests/run-macros/tasty-extractors-3/quoted_1.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ object Macros {
1111

1212
val buff = new StringBuilder
1313
val traverser = new TreeTraverser {
14-
override def traverseTree(tree: Tree)(implicit ctx: Context): Unit = tree match {
14+
override def traverseTree(tree: Tree): Unit = tree match {
1515
case tree: TypeBoundsTree =>
1616
buff.append(tree.tpe.showExtractors)
1717
buff.append("\n\n")

0 commit comments

Comments
 (0)