Skip to content

Commit c03a280

Browse files
committed
Avoid running the compiler for PrimitiveExpr
1 parent d0b4f6d commit c03a280

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed
Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,22 @@
11
package dotty.tools.dotc.quoted
22

33
import scala.quoted.Expr
4+
import scala.quoted.Liftable.PrimitiveExpr
45
import scala.runtime.quoted._
56

67
/** Default runners for quoted expressions */
78
object Runners {
9+
810
implicit def runner[T]: Runner[T] = new Runner[T] {
911

10-
def run(expr: Expr[T]): T =
11-
new QuoteDriver().run(expr)
12+
def run(expr: Expr[T]): T = expr match {
13+
case expr: PrimitiveExpr[T] => expr.value
14+
case _ => new QuoteDriver().run(expr)
15+
}
1216

13-
def show(expr: Expr[T]): String =
14-
new QuoteDriver().show(expr)
17+
def show(expr: Expr[T]): String = expr match {
18+
case expr: PrimitiveExpr[T] => expr.value.toString
19+
case _ => new QuoteDriver().show(expr)
20+
}
1521
}
1622
}

0 commit comments

Comments
 (0)