@@ -2,20 +2,21 @@ package dotty.tools.dotc.quoted
22
33import dotty .tools .dotc .ast .tpd
44import dotty .tools .dotc .Driver
5- import dotty .tools .dotc .core .Contexts .Context
5+ import dotty .tools .dotc .core .Contexts .{ Context , ContextBase }
66import dotty .tools .io .{AbstractFile , Directory , PlainDirectory , VirtualDirectory }
77import dotty .tools .repl .AbstractFileClassLoader
88
99import scala .quoted .{Expr , Type }
1010import java .net .URLClassLoader
1111
12- import Toolbox .{Run , Settings , Show }
1312import dotty .tools .dotc .tastyreflect .TastyImpl
1413
1514class QuoteDriver extends Driver {
1615 import tpd ._
1716
18- def run [T ](expr : Expr [T ], settings : Settings [Run ]): T = {
17+ private [this ] val contextBase : ContextBase = new ContextBase
18+
19+ def run [T ](expr : Expr [T ], settings : ToolboxSettings ): T = {
1920 val (_, ctx : Context ) = setup(settings.compilerArgs.toArray :+ " dummy.scala" , initCtx.fresh)
2021
2122 val outDir : AbstractFile = settings.outDir match {
@@ -39,15 +40,15 @@ class QuoteDriver extends Driver {
3940 method.invoke(instance).asInstanceOf [T ]
4041 }
4142
42- def show (expr : Expr [_], settings : Settings [ Show ] ): String = {
43+ def show (expr : Expr [_], settings : ToolboxSettings ): String = {
4344 def show (tree : Tree , ctx : Context ): String = {
4445 val tree1 = if (settings.rawTree) tree else (new TreeCleaner ).transform(tree)(ctx)
4546 new TastyImpl (ctx).showSourceCode.showTree(tree1)(ctx)
4647 }
4748 withTree(expr, show, settings)
4849 }
4950
50- def withTree [T ](expr : Expr [_], f : (Tree , Context ) => T , settings : Settings [_] ): T = {
51+ def withTree [T ](expr : Expr [_], f : (Tree , Context ) => T , settings : ToolboxSettings ): T = {
5152 val (_, ctx : Context ) = setup(settings.compilerArgs.toArray :+ " dummy.scala" , initCtx.fresh)
5253
5354 var output : Option [T ] = None
@@ -59,7 +60,7 @@ class QuoteDriver extends Driver {
5960 output.getOrElse(throw new Exception (" Could not extract " + expr))
6061 }
6162
62- def withTypeTree [T ](tpe : Type [_], f : (TypTree , Context ) => T , settings : Settings [_] ): T = {
63+ def withTypeTree [T ](tpe : Type [_], f : (TypTree , Context ) => T , settings : ToolboxSettings ): T = {
6364 val (_, ctx : Context ) = setup(settings.compilerArgs.toArray :+ " dummy.scala" , initCtx.fresh)
6465
6566 var output : Option [T ] = None
@@ -72,7 +73,7 @@ class QuoteDriver extends Driver {
7273 }
7374
7475 override def initCtx : Context = {
75- val ictx = super .initCtx.fresh
76+ val ictx = contextBase.initialCtx
7677 var classpath = System .getProperty(" java.class.path" )
7778 this .getClass.getClassLoader match {
7879 case cl : URLClassLoader =>
0 commit comments