diff --git a/compiler/src/dotty/tools/dotc/core/Definitions.scala b/compiler/src/dotty/tools/dotc/core/Definitions.scala index 836ff4eef807..c5daf8ccf40d 100644 --- a/compiler/src/dotty/tools/dotc/core/Definitions.scala +++ b/compiler/src/dotty/tools/dotc/core/Definitions.scala @@ -682,7 +682,7 @@ class Definitions { @tu lazy val LiftableModule_CharIsLiftable: Symbol = LiftableModule.requiredMethod("CharIsLiftable") @tu lazy val LiftableModule_StringIsLiftable: Symbol = LiftableModule.requiredMethod("StringIsLiftable") - @tu lazy val InternalQuotedModule: Symbol = ctx.requiredModule("scala.internal.Quoted") + @tu lazy val InternalQuotedModule: Symbol = ctx.requiredModule("scala.internal.quoted.CompileTime") @tu lazy val InternalQuoted_exprQuote : Symbol = InternalQuotedModule.requiredMethod("exprQuote") @tu lazy val InternalQuoted_exprSplice : Symbol = InternalQuotedModule.requiredMethod("exprSplice") @tu lazy val InternalQuoted_typeQuote : Symbol = InternalQuotedModule.requiredMethod("typeQuote") diff --git a/library/src/scala/internal/Quoted.scala b/library/src/scala/internal/Quoted.scala index ff70ac0f47b5..336e97b2330e 100644 --- a/library/src/scala/internal/Quoted.scala +++ b/library/src/scala/internal/Quoted.scala @@ -1,8 +1,11 @@ +// TODO remove when reference compiler is updated package scala.internal import scala.annotation.{Annotation, compileTimeOnly} import scala.quoted._ +@compileTimeOnly("Illegal reference to `scala.internal.Quoted`") +@deprecated("Use scala.internal.quoted.CompileTime", "0.22.0") object Quoted { /** A term quote is desugared by the compiler into a call to this method */ @@ -26,9 +29,11 @@ object Quoted { class patternBindHole extends Annotation /** A splice of a name in a quoted pattern is that marks the definition of a type splice */ + @compileTimeOnly("Illegal reference to `scala.internal.Quoted.patternType`") class patternType extends Annotation /** A type pattern that must be aproximated from above */ + @compileTimeOnly("Illegal reference to `scala.internal.Quoted.fromAbove`") class fromAbove extends Annotation /** Artifact of pickled type splices @@ -39,7 +44,7 @@ object Quoted { * * See ReifyQuotes.scala and PickledQuotes.scala */ - @compileTimeOnly("Illegal reference to `scala.internal.Quoted.patternBindHole`") + @compileTimeOnly("Illegal reference to `scala.internal.Quoted.quoteTypeTag`") class quoteTypeTag extends Annotation } diff --git a/library/src/scala/internal/quoted/CompileTime.scala b/library/src/scala/internal/quoted/CompileTime.scala new file mode 100644 index 000000000000..c135137b37a2 --- /dev/null +++ b/library/src/scala/internal/quoted/CompileTime.scala @@ -0,0 +1,48 @@ +package scala.internal.quoted + +import scala.annotation.{Annotation, compileTimeOnly} +import scala.quoted._ + +@compileTimeOnly("Illegal reference to `scala.internal.quoted.CompileTime`") +object CompileTime { + + /** A term quote is desugared by the compiler into a call to this method */ + @compileTimeOnly("Illegal reference to `scala.internal.quoted.CompileTime.exprQuote`") + def exprQuote[T](x: T): (given QuoteContext) => Expr[T] = ??? + + /** A term splice is desugared by the compiler into a call to this method */ + @compileTimeOnly("Illegal reference to `scala.internal.quoted.CompileTime.exprSplice`") + def exprSplice[T](x: (given QuoteContext) => Expr[T]): T = ??? + + /** A type quote is desugared by the compiler into a call to this method */ + @compileTimeOnly("Illegal reference to `scala.internal.quoted.CompileTime.typeQuote`") + def typeQuote[T <: AnyKind]: Type[T] = ??? + + /** A splice in a quoted pattern is desugared by the compiler into a call to this method */ + @compileTimeOnly("Illegal reference to `scala.internal.quoted.CompileTime.patternHole`") + def patternHole[T]: T = ??? + + /** A splice of a name in a quoted pattern is desugared by wrapping getting this annotation */ + @compileTimeOnly("Illegal reference to `scala.internal.quoted.CompileTime.patternBindHole`") + class patternBindHole extends Annotation + + /** A splice of a name in a quoted pattern is that marks the definition of a type splice */ + @compileTimeOnly("Illegal reference to `scala.internal.quoted.CompileTime.patternType`") + class patternType extends Annotation + + /** A type pattern that must be aproximated from above */ + @compileTimeOnly("Illegal reference to `scala.internal.quoted.CompileTime.fromAbove`") + class fromAbove extends Annotation + + /** Artifact of pickled type splices + * + * During quote reification a quote `'{ ... F[$t] ... }` will be transformed into + * `'{ @quoteTypeTag type T$1 = $t ... F[T$1] ... }` to have a tree for `$t`. + * This artifact is removed during quote unpickling. + * + * See ReifyQuotes.scala and PickledQuotes.scala + */ + @compileTimeOnly("Illegal reference to `scala.internal.quoted.CompileTime.quoteTypeTag`") + class quoteTypeTag extends Annotation + +} diff --git a/tests/run-macros/quote-matcher-runtime.check b/tests/run-macros/quote-matcher-runtime.check index 736a53af2532..554c5bd669d7 100644 --- a/tests/run-macros/quote-matcher-runtime.check +++ b/tests/run-macros/quote-matcher-runtime.check @@ -19,55 +19,55 @@ Pattern: (1: scala.Int) Result: Some(List()) Scrutinee: 3 -Pattern: scala.internal.Quoted.patternHole[scala.Int] +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Int] Result: Some(List(Expr(3))) Scrutinee: x -Pattern: scala.internal.Quoted.patternHole[scala.Int] +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Int] Result: Some(List(Expr(x))) Scrutinee: 5 -Pattern: scala.internal.Quoted.patternHole[scala.Any] +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Any] Result: Some(List(Expr(5))) Scrutinee: 6.+(x) -Pattern: scala.internal.Quoted.patternHole[scala.Int] +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Int] Result: Some(List(Expr(6.+(x)))) Scrutinee: 6.+(x) -Pattern: 6.+(scala.internal.Quoted.patternHole[scala.Int]) +Pattern: 6.+(scala.internal.quoted.CompileTime.patternHole[scala.Int]) Result: Some(List(Expr(x))) Scrutinee: 6.+(x) -Pattern: scala.internal.Quoted.patternHole[scala.Int].+(x) +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Int].+(x) Result: Some(List(Expr(6))) Scrutinee: 6.+(x) -Pattern: scala.internal.Quoted.patternHole[scala.Int].+(scala.internal.Quoted.patternHole[scala.Int]) +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Int].+(scala.internal.quoted.CompileTime.patternHole[scala.Int]) Result: Some(List(Expr(6), Expr(x))) Scrutinee: 6.+(x).+(y) -Pattern: 6.+(scala.internal.Quoted.patternHole[scala.Int]).+(y) +Pattern: 6.+(scala.internal.quoted.CompileTime.patternHole[scala.Int]).+(y) Result: Some(List(Expr(x))) Scrutinee: 4 -Pattern: scala.internal.Quoted.patternHole[scala.Predef.String] +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Predef.String] Result: None Scrutinee: 6.+(x) -Pattern: 7.+(scala.internal.Quoted.patternHole[scala.Int]) +Pattern: 7.+(scala.internal.quoted.CompileTime.patternHole[scala.Int]) Result: None Scrutinee: 6.+(x) -Pattern: scala.internal.Quoted.patternHole[scala.Int].+(4) +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Int].+(4) Result: None Scrutinee: g[scala.Int] -Pattern: scala.internal.Quoted.patternHole[scala.Predef.String] +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Predef.String] Result: None Scrutinee: h[scala.Int](7) -Pattern: h[scala.Predef.String](scala.internal.Quoted.patternHole[scala.Predef.String]) +Pattern: h[scala.Predef.String](scala.internal.quoted.CompileTime.patternHole[scala.Predef.String]) Result: None Scrutinee: h[scala.Int](6) @@ -83,23 +83,23 @@ Pattern: z2 = 4 Result: None Scrutinee: f(4) -Pattern: scala.internal.Quoted.patternHole[scala.Int] +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Int] Result: Some(List(Expr(f(4)))) Scrutinee: f(5) -Pattern: f(scala.internal.Quoted.patternHole[scala.Int]) +Pattern: f(scala.internal.quoted.CompileTime.patternHole[scala.Int]) Result: Some(List(Expr(5))) Scrutinee: g[scala.Int] -Pattern: scala.internal.Quoted.patternHole[scala.Int] +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Int] Result: Some(List(Expr(g[scala.Int]))) Scrutinee: h[scala.Int](7) -Pattern: scala.internal.Quoted.patternHole[scala.Int] +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Int] Result: Some(List(Expr(h[scala.Int](7)))) Scrutinee: h[scala.Int](8) -Pattern: h[scala.Int](scala.internal.Quoted.patternHole[scala.Int]) +Pattern: h[scala.Int](scala.internal.quoted.CompileTime.patternHole[scala.Int]) Result: Some(List(Expr(8))) Scrutinee: Test.this @@ -107,7 +107,7 @@ Pattern: Test.this Result: Some(List()) Scrutinee: Test.this -Pattern: scala.internal.Quoted.patternHole[this.type] +Pattern: scala.internal.quoted.CompileTime.patternHole[this.type] Result: Some(List(Expr(Test.this))) Scrutinee: new Foo(1) @@ -115,11 +115,11 @@ Pattern: new Foo(1) Result: Some(List()) Scrutinee: new Foo(1) -Pattern: scala.internal.Quoted.patternHole[Foo] +Pattern: scala.internal.quoted.CompileTime.patternHole[Foo] Result: Some(List(Expr(new Foo(1)))) Scrutinee: new Foo(1) -Pattern: new Foo(scala.internal.Quoted.patternHole[scala.Int]) +Pattern: new Foo(scala.internal.quoted.CompileTime.patternHole[scala.Int]) Result: Some(List(Expr(1))) Scrutinee: if (b) x else y @@ -127,11 +127,11 @@ Pattern: if (b) x else y Result: Some(List()) Scrutinee: if (b) x else y -Pattern: scala.internal.Quoted.patternHole[scala.Int] +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Int] Result: Some(List(Expr(if (b) x else y))) Scrutinee: if (b) x else y -Pattern: if (scala.internal.Quoted.patternHole[scala.Boolean]) scala.internal.Quoted.patternHole[scala.Int] else scala.internal.Quoted.patternHole[scala.Int] +Pattern: if (scala.internal.quoted.CompileTime.patternHole[scala.Boolean]) scala.internal.quoted.CompileTime.patternHole[scala.Int] else scala.internal.quoted.CompileTime.patternHole[scala.Int] Result: Some(List(Expr(b), Expr(x), Expr(y))) Scrutinee: while (b) { @@ -148,7 +148,7 @@ Scrutinee: while (b) { x () } -Pattern: scala.internal.Quoted.patternHole[scala.Unit] +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Unit] Result: Some(List(Expr(while (b) { x () @@ -158,8 +158,8 @@ Scrutinee: while (b) { x () } -Pattern: while (scala.internal.Quoted.patternHole[scala.Boolean]) { - scala.internal.Quoted.patternHole[scala.Int] +Pattern: while (scala.internal.quoted.CompileTime.patternHole[scala.Boolean]) { + scala.internal.quoted.CompileTime.patternHole[scala.Int] () } Result: Some(List(Expr(b), Expr(x))) @@ -169,11 +169,11 @@ Pattern: z = 4 Result: Some(List()) Scrutinee: z = 4 -Pattern: scala.internal.Quoted.patternHole[scala.Unit] +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Unit] Result: Some(List(Expr(z = 4))) Scrutinee: z = 4 -Pattern: z = scala.internal.Quoted.patternHole[scala.Int] +Pattern: z = scala.internal.quoted.CompileTime.patternHole[scala.Int] Result: Some(List(Expr(4))) Scrutinee: 1 @@ -189,7 +189,7 @@ Pattern: fs() Result: Some(List()) Scrutinee: fs() -Pattern: fs(scala.internal.Quoted.patternHole[scala.Seq[scala.Int]]: _*) +Pattern: fs(scala.internal.quoted.CompileTime.patternHole[scala.Seq[scala.Int]]: _*) Result: Some(List(Expr())) Scrutinee: fs(1, 2, 3) @@ -197,11 +197,11 @@ Pattern: fs(1, 2, 3) Result: Some(List()) Scrutinee: fs(1, 2, 3) -Pattern: fs(scala.internal.Quoted.patternHole[scala.Int], scala.internal.Quoted.patternHole[scala.Int], 3) +Pattern: fs(scala.internal.quoted.CompileTime.patternHole[scala.Int], scala.internal.quoted.CompileTime.patternHole[scala.Int], 3) Result: Some(List(Expr(1), Expr(2))) Scrutinee: fs(1, 2, 3) -Pattern: fs(scala.internal.Quoted.patternHole[scala.Seq[scala.Int]]: _*) +Pattern: fs(scala.internal.quoted.CompileTime.patternHole[scala.Seq[scala.Int]]: _*) Result: Some(List(Expr(1, 2, 3))) Scrutinee: f2(1, 2) @@ -213,7 +213,7 @@ Pattern: f2(a = 1, b = 2) Result: Some(List()) Scrutinee: f2(a = 1, b = 2) -Pattern: f2(a = scala.internal.Quoted.patternHole[scala.Int], b = scala.internal.Quoted.patternHole[scala.Int]) +Pattern: f2(a = scala.internal.quoted.CompileTime.patternHole[scala.Int], b = scala.internal.quoted.CompileTime.patternHole[scala.Int]) Result: Some(List(Expr(1), Expr(2))) Scrutinee: super.toString() @@ -221,23 +221,23 @@ Pattern: super.toString() Result: Some(List()) Scrutinee: (() => "abc") -Pattern: scala.internal.Quoted.patternHole[scala.Function0[scala.Predef.String]] +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Function0[scala.Predef.String]] Result: Some(List(Expr((() => "abc")))) Scrutinee: (() => "abc").apply() -Pattern: scala.internal.Quoted.patternHole[scala.Function0[scala.Predef.String]].apply() +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Function0[scala.Predef.String]].apply() Result: Some(List(Expr((() => "abc")))) Scrutinee: ((x: scala.Int) => "abc") -Pattern: scala.internal.Quoted.patternHole[scala.Function1[scala.Int, scala.Predef.String]] +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Function1[scala.Int, scala.Predef.String]] Result: Some(List(Expr(((x: scala.Int) => "abc")))) Scrutinee: ((x: scala.Int) => "abc").apply(4) -Pattern: scala.internal.Quoted.patternHole[scala.Function1[scala.Int, scala.Predef.String]].apply(4) +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Function1[scala.Int, scala.Predef.String]].apply(4) Result: Some(List(Expr(((x: scala.Int) => "abc")))) Scrutinee: ((x: scala.Int) => "abc") -Pattern: ((x: scala.Int @scala.internal.Quoted.patternBindHole) => scala.internal.Quoted.patternHole[scala.Predef.String]) +Pattern: ((x: scala.Int @scala.internal.quoted.CompileTime.patternBindHole) => scala.internal.quoted.CompileTime.patternHole[scala.Predef.String]) Result: Some(List(Sym(x), Expr("abc"))) Scrutinee: scala.StringContext.apply("abc", "xyz") @@ -245,11 +245,11 @@ Pattern: scala.StringContext.apply("abc", "xyz") Result: Some(List()) Scrutinee: scala.StringContext.apply("abc", "xyz") -Pattern: scala.StringContext.apply(scala.internal.Quoted.patternHole[java.lang.String], scala.internal.Quoted.patternHole[java.lang.String]) +Pattern: scala.StringContext.apply(scala.internal.quoted.CompileTime.patternHole[java.lang.String], scala.internal.quoted.CompileTime.patternHole[java.lang.String]) Result: Some(List(Expr("abc"), Expr("xyz"))) Scrutinee: scala.StringContext.apply("abc", "xyz") -Pattern: scala.StringContext.apply(scala.internal.Quoted.patternHole[scala.Seq[scala.Predef.String]]: _*) +Pattern: scala.StringContext.apply(scala.internal.quoted.CompileTime.patternHole[scala.Seq[scala.Predef.String]]: _*) Result: Some(List(Expr("abc", "xyz"))) Scrutinee: { @@ -267,7 +267,7 @@ Scrutinee: { () } Pattern: { - @scala.internal.Quoted.patternBindHole val a: scala.Int = scala.internal.Quoted.patternHole[scala.Int] + @scala.internal.quoted.CompileTime.patternBindHole val a: scala.Int = scala.internal.quoted.CompileTime.patternHole[scala.Int] () } Result: Some(List(Sym(a), Expr(45))) @@ -297,7 +297,7 @@ Scrutinee: { () } Pattern: { - @scala.internal.Quoted.patternBindHole var a: scala.Int = scala.internal.Quoted.patternHole[scala.Int] + @scala.internal.quoted.CompileTime.patternBindHole var a: scala.Int = scala.internal.quoted.CompileTime.patternHole[scala.Int] () } Result: None @@ -330,7 +330,7 @@ Scrutinee: { } Pattern: { val x: scala.Int = 45 - x.+(scala.internal.Quoted.patternHole[scala.Int]) + x.+(scala.internal.quoted.CompileTime.patternHole[scala.Int]) } Result: None @@ -369,7 +369,7 @@ Scrutinee: { () } Pattern: { - @scala.internal.Quoted.patternBindHole val a: scala.Int = scala.internal.Quoted.patternHole[scala.Int] + @scala.internal.quoted.CompileTime.patternBindHole val a: scala.Int = scala.internal.quoted.CompileTime.patternHole[scala.Int] () } Result: None @@ -379,7 +379,7 @@ Scrutinee: { () } Pattern: { - @scala.internal.Quoted.patternBindHole var a: scala.Int = scala.internal.Quoted.patternHole[scala.Int] + @scala.internal.quoted.CompileTime.patternBindHole var a: scala.Int = scala.internal.quoted.CompileTime.patternHole[scala.Int] () } Result: None @@ -419,7 +419,7 @@ Scrutinee: { () } Pattern: { - @scala.internal.Quoted.patternBindHole val a: scala.Int = scala.internal.Quoted.patternHole[scala.Int] + @scala.internal.quoted.CompileTime.patternBindHole val a: scala.Int = scala.internal.quoted.CompileTime.patternHole[scala.Int] () } Result: None @@ -429,7 +429,7 @@ Scrutinee: { () } Pattern: { - @scala.internal.Quoted.patternBindHole lazy val a: scala.Int = scala.internal.Quoted.patternHole[scala.Int] + @scala.internal.quoted.CompileTime.patternBindHole lazy val a: scala.Int = scala.internal.quoted.CompileTime.patternHole[scala.Int] () } Result: None @@ -499,7 +499,7 @@ Scrutinee: { () } Pattern: { - @scala.internal.Quoted.patternBindHole def a: scala.Int = scala.internal.Quoted.patternHole[scala.Int] + @scala.internal.quoted.CompileTime.patternBindHole def a: scala.Int = scala.internal.quoted.CompileTime.patternHole[scala.Int] () } Result: Some(List(Sym(a), Expr(45))) @@ -569,7 +569,7 @@ Scrutinee: { () } Pattern: { - def a(x: scala.Int @scala.internal.Quoted.patternBindHole): scala.Int = 45 + def a(x: scala.Int @scala.internal.quoted.CompileTime.patternBindHole): scala.Int = 45 () } Result: Some(List(Sym(x))) @@ -579,7 +579,7 @@ Scrutinee: { () } Pattern: { - def a(x: scala.Int @scala.internal.Quoted.patternBindHole): scala.Int = 45 + def a(x: scala.Int @scala.internal.quoted.CompileTime.patternBindHole): scala.Int = 45 () } Result: Some(List(Sym(x))) @@ -619,8 +619,8 @@ Scrutinee: { a.+(a) } Pattern: { - def a: scala.Int = scala.internal.Quoted.patternHole[scala.Int] - a.+(scala.internal.Quoted.patternHole[scala.Int]) + def a: scala.Int = scala.internal.quoted.CompileTime.patternHole[scala.Int] + a.+(scala.internal.quoted.CompileTime.patternHole[scala.Int]) } Result: None @@ -648,9 +648,9 @@ Scrutinee: 1 match { case _ => 2 } -Pattern: scala.internal.Quoted.patternHole[scala.Int] match { +Pattern: scala.internal.quoted.CompileTime.patternHole[scala.Int] match { case _ => - scala.internal.Quoted.patternHole[scala.Int] + scala.internal.quoted.CompileTime.patternHole[scala.Int] } Result: Some(List(Expr(1), Expr(2))) @@ -698,9 +698,9 @@ Scrutinee: try 1 catch { case _ => 2 } -Pattern: try scala.internal.Quoted.patternHole[scala.Int] catch { +Pattern: try scala.internal.quoted.CompileTime.patternHole[scala.Int] catch { case _ => - scala.internal.Quoted.patternHole[scala.Int] + scala.internal.quoted.CompileTime.patternHole[scala.Int] } Result: Some(List(Expr(1), Expr(2))) @@ -708,30 +708,30 @@ Scrutinee: try 1 finally { 2 () } -Pattern: try scala.internal.Quoted.patternHole[scala.Int] finally { - scala.internal.Quoted.patternHole[scala.Int] +Pattern: try scala.internal.quoted.CompileTime.patternHole[scala.Int] finally { + scala.internal.quoted.CompileTime.patternHole[scala.Int] () } Result: Some(List(Expr(1), Expr(2))) Scrutinee: scala.List.apply[scala.Int](1, 2, 3).foreach[scala.Unit](((x: scala.Int) => scala.Predef.println(x))) Pattern: { - @scala.internal.Quoted.patternBindHole type T - scala.internal.Quoted.patternHole[scala.List[scala.Int]].foreach[T](scala.internal.Quoted.patternHole[scala.Function1[scala.Int, T]]) + @scala.internal.quoted.CompileTime.patternBindHole type T + scala.internal.quoted.CompileTime.patternHole[scala.List[scala.Int]].foreach[T](scala.internal.quoted.CompileTime.patternHole[scala.Function1[scala.Int, T]]) } Result: Some(List(Type(scala.Unit), Expr(scala.List.apply[scala.Int](1, 2, 3)), Expr(((x: scala.Int) => scala.Predef.println(x))))) Scrutinee: scala.List.apply[scala.Int](1, 2, 3).foreach[scala.Unit](((x: scala.Int) => scala.Predef.println(x))) Pattern: { - @scala.internal.Quoted.patternBindHole type T = scala.Unit - scala.internal.Quoted.patternHole[scala.List[scala.Int]].foreach[T](scala.internal.Quoted.patternHole[scala.Function1[scala.Int, T]]) + @scala.internal.quoted.CompileTime.patternBindHole type T = scala.Unit + scala.internal.quoted.CompileTime.patternHole[scala.List[scala.Int]].foreach[T](scala.internal.quoted.CompileTime.patternHole[scala.Function1[scala.Int, T]]) } Result: Some(List(Type(scala.Unit), Expr(scala.List.apply[scala.Int](1, 2, 3)), Expr(((x: scala.Int) => scala.Predef.println(x))))) Scrutinee: scala.List.apply[scala.Int](1, 2, 3).foreach[scala.Unit](((x: scala.Int) => scala.Predef.println(x))) Pattern: { - @scala.internal.Quoted.patternBindHole type T <: scala.Predef.String - scala.internal.Quoted.patternHole[scala.List[scala.Int]].foreach[T](scala.internal.Quoted.patternHole[scala.Function1[scala.Int, T]]) + @scala.internal.quoted.CompileTime.patternBindHole type T <: scala.Predef.String + scala.internal.quoted.CompileTime.patternHole[scala.List[scala.Int]].foreach[T](scala.internal.quoted.CompileTime.patternHole[scala.Function1[scala.Int, T]]) } Result: None @@ -741,9 +741,9 @@ Scrutinee: { () } Pattern: { - @scala.internal.Quoted.patternBindHole type T - val a: T = scala.internal.Quoted.patternHole[T] - val b: T = scala.internal.Quoted.patternHole[T] + @scala.internal.quoted.CompileTime.patternBindHole type T + val a: T = scala.internal.quoted.CompileTime.patternHole[T] + val b: T = scala.internal.quoted.CompileTime.patternHole[T] () } Result: Some(List(Type(scala.Int), Expr(4), Expr(4))) @@ -754,9 +754,9 @@ Scrutinee: { () } Pattern: { - @scala.internal.Quoted.patternBindHole type T - val a: T = scala.internal.Quoted.patternHole[T] - val b: T = scala.internal.Quoted.patternHole[T] + @scala.internal.quoted.CompileTime.patternBindHole type T + val a: T = scala.internal.quoted.CompileTime.patternHole[T] + val b: T = scala.internal.quoted.CompileTime.patternHole[T] () } Result: Some(List(Type(scala.Int), Expr(4), Expr(5))) @@ -767,9 +767,9 @@ Scrutinee: { () } Pattern: { - @scala.internal.Quoted.patternBindHole type T - val a: T = scala.internal.Quoted.patternHole[T] - val b: T = scala.internal.Quoted.patternHole[T] + @scala.internal.quoted.CompileTime.patternBindHole type T + val a: T = scala.internal.quoted.CompileTime.patternHole[T] + val b: T = scala.internal.quoted.CompileTime.patternHole[T] () } Result: Some(List(Type(scala.Int | java.lang.String), Expr(4), Expr("x"))) @@ -780,52 +780,52 @@ Scrutinee: { () } Pattern: { - @scala.internal.Quoted.patternBindHole type T <: scala.Int - val a: T = scala.internal.Quoted.patternHole[T] - val b: T = scala.internal.Quoted.patternHole[T] + @scala.internal.quoted.CompileTime.patternBindHole type T <: scala.Int + val a: T = scala.internal.quoted.CompileTime.patternHole[T] + val b: T = scala.internal.quoted.CompileTime.patternHole[T] () } Result: None Scrutinee: scala.List.apply[scala.Int](1, 2, 3).map[scala.Double](((x: scala.Int) => x.toDouble./(2))).map[java.lang.String](((y: scala.Double) => y.toString())) Pattern: { - @scala.internal.Quoted.patternBindHole type T - @scala.internal.Quoted.patternBindHole type U - @scala.internal.Quoted.patternBindHole type V + @scala.internal.quoted.CompileTime.patternBindHole type T + @scala.internal.quoted.CompileTime.patternBindHole type U + @scala.internal.quoted.CompileTime.patternBindHole type V - (scala.internal.Quoted.patternHole[scala.List[T]].map[U](scala.internal.Quoted.patternHole[scala.Function1[T, U]]).map[V](scala.internal.Quoted.patternHole[scala.Function1[U, V]]): scala.collection.immutable.List[scala.Any]) + (scala.internal.quoted.CompileTime.patternHole[scala.List[T]].map[U](scala.internal.quoted.CompileTime.patternHole[scala.Function1[T, U]]).map[V](scala.internal.quoted.CompileTime.patternHole[scala.Function1[U, V]]): scala.collection.immutable.List[scala.Any]) } Result: Some(List(Type(scala.Int), Type(scala.Double), Type(java.lang.String), Expr(scala.List.apply[scala.Int](1, 2, 3)), Expr(((x: scala.Int) => x.toDouble./(2))), Expr(((y: scala.Double) => y.toString())))) Scrutinee: ((x: scala.Int) => x) Pattern: { - @scala.internal.Quoted.patternBindHole type T + @scala.internal.quoted.CompileTime.patternBindHole type T - (scala.internal.Quoted.patternHole[scala.Function1[T, T]]: scala.Function1[scala.Nothing, scala.Any]) + (scala.internal.quoted.CompileTime.patternHole[scala.Function1[T, T]]: scala.Function1[scala.Nothing, scala.Any]) } Result: Some(List(Type(scala.Int), Expr(((x: scala.Int) => x)))) Scrutinee: ((x: scala.Int) => x.toString()) Pattern: { - @scala.internal.Quoted.patternBindHole type T + @scala.internal.quoted.CompileTime.patternBindHole type T - (scala.internal.Quoted.patternHole[scala.Function1[T, T]]: scala.Function1[scala.Nothing, scala.Any]) + (scala.internal.quoted.CompileTime.patternHole[scala.Function1[T, T]]: scala.Function1[scala.Nothing, scala.Any]) } Result: None Scrutinee: ((x: scala.Any) => scala.Predef.???) Pattern: { - @scala.internal.Quoted.patternBindHole type T + @scala.internal.quoted.CompileTime.patternBindHole type T - (scala.internal.Quoted.patternHole[scala.Function1[T, T]]: scala.Function1[scala.Nothing, scala.Any]) + (scala.internal.quoted.CompileTime.patternHole[scala.Function1[T, T]]: scala.Function1[scala.Nothing, scala.Any]) } Result: Some(List(Type(scala.Nothing), Expr(((x: scala.Any) => scala.Predef.???)))) Scrutinee: ((x: scala.Nothing) => (1: scala.Any)) Pattern: { - @scala.internal.Quoted.patternBindHole type T + @scala.internal.quoted.CompileTime.patternBindHole type T - (scala.internal.Quoted.patternHole[scala.Function1[T, T]]: scala.Function1[scala.Nothing, scala.Any]) + (scala.internal.quoted.CompileTime.patternHole[scala.Function1[T, T]]: scala.Function1[scala.Nothing, scala.Any]) } Result: None diff --git a/tests/run-macros/quote-matcher-runtime/quoted_2.scala b/tests/run-macros/quote-matcher-runtime/quoted_2.scala index ce7209e73f0a..b26810fcb9ae 100644 --- a/tests/run-macros/quote-matcher-runtime/quoted_2.scala +++ b/tests/run-macros/quote-matcher-runtime/quoted_2.scala @@ -3,7 +3,7 @@ import Macros._ import scala.internal.quoted.Expr._ -import scala.internal.Quoted._ +import scala.internal.quoted.CompileTime._ object Test { diff --git a/tests/run-staging/quote-nested-1.check b/tests/run-staging/quote-nested-1.check index 6cdeea03b35b..f14cd0cd6611 100644 --- a/tests/run-staging/quote-nested-1.check +++ b/tests/run-staging/quote-nested-1.check @@ -1 +1 @@ -((qctx: scala.quoted.QuoteContext) => '{3} given (qctx)) +((qctx: scala.quoted.QuoteContext) => scala.internal.quoted.CompileTime.exprQuote[scala.Int](3) given (qctx)) diff --git a/tests/run-staging/quote-nested-2.check b/tests/run-staging/quote-nested-2.check index af38faf8bf56..8afb56fb9d78 100644 --- a/tests/run-staging/quote-nested-2.check +++ b/tests/run-staging/quote-nested-2.check @@ -1,4 +1,4 @@ ((qctx: scala.quoted.QuoteContext) => { - val a: scala.quoted.Expr[scala.Int] = '{4} given (qctx) + val a: scala.quoted.Expr[scala.Int] = scala.internal.quoted.CompileTime.exprQuote[scala.Int](4) given (qctx) ((evidence$2: scala.quoted.QuoteContext) => a) given (qctx) }) diff --git a/tests/run-staging/quote-nested-4.check b/tests/run-staging/quote-nested-4.check index 29ac1bec619b..51fbb8dc9e00 100644 --- a/tests/run-staging/quote-nested-4.check +++ b/tests/run-staging/quote-nested-4.check @@ -1,5 +1,5 @@ { - val t: scala.quoted.Type[scala.Predef.String] = '[scala.Predef.String] + val t: scala.quoted.Type[scala.Predef.String] = scala.internal.quoted.CompileTime.typeQuote[scala.Predef.String] (t: scala.quoted.Type[scala.Predef.String]) } diff --git a/tests/run-staging/quote-nested-5.check b/tests/run-staging/quote-nested-5.check index e8b0441e22e3..fd7b1485df13 100644 --- a/tests/run-staging/quote-nested-5.check +++ b/tests/run-staging/quote-nested-5.check @@ -1,4 +1,4 @@ ((qctx: scala.quoted.QuoteContext) => { - val a: scala.quoted.Expr[scala.Int] = '{4} given (qctx) + val a: scala.quoted.Expr[scala.Int] = scala.internal.quoted.CompileTime.exprQuote[scala.Int](4) given (qctx) ((qctx2: scala.quoted.QuoteContext) => ((evidence$3: scala.quoted.QuoteContext) => a) given (qctx2)) given (qctx) })