Skip to content

Commit 2f76003

Browse files
committed
Change tests in accordance to new erased parameter Quotes API
1 parent 36b25ae commit 2f76003

File tree

5 files changed

+21
-7
lines changed

5 files changed

+21
-7
lines changed

compiler/src/scala/quoted/runtime/impl/QuotesImpl.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -1584,9 +1584,9 @@ class QuotesImpl private (using val ctx: Context) extends Quotes, QuoteUnpickler
15841584
def isErased: Boolean = false
15851585

15861586
def erasedArgs: List[Boolean] =
1587-
self.map(param => param.tpe.hasAnnotation(dotc.core.Symbols.defn.ErasedParamAnnot))
1587+
self.map(_.symbol.is(dotc.core.Flags.Erased))
15881588
def hasErasedArgs: Boolean =
1589-
self.exists(param => param.tpe.hasAnnotation(dotc.core.Symbols.defn.ErasedParamAnnot))
1589+
self.exists(_.symbol.is(dotc.core.Flags.Erased))
15901590
end TermParamClauseMethods
15911591

15921592
type TypeParamClause = List[tpd.TypeDef]

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

+6
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,12 @@ val experimentalDefinitionInLibrary = Set(
8181
"scala.quoted.Quotes.reflectModule.SymbolModule.newModule",
8282
"scala.quoted.Quotes.reflectModule.SymbolModule.freshName",
8383
"scala.quoted.Quotes.reflectModule.SymbolMethods.info",
84+
// Quotes for functions with erased parameters.
85+
"scala.quoted.Quotes.reflectModule.MethodTypeMethods.erasedParams",
86+
"scala.quoted.Quotes.reflectModule.MethodTypeMethods.hasErasedParams",
87+
"scala.quoted.Quotes.reflectModule.TermParamClauseMethods.erasedArgs",
88+
"scala.quoted.Quotes.reflectModule.TermParamClauseMethods.hasErasedArgs",
89+
"scala.quoted.Quotes.reflectModule.defnModule.ErasedFunctionClass",
8490

8591
// New feature: functions with erased parameters.
8692
// Need erasedDefinitions enabled.

tests/run-macros/i12021.check

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1-
X1: (i: scala.Int) isImplicit=true, isGiven=false, isErased=false
2-
X2: (i: scala.Int) isImplicit=false, isGiven=true, isErased=false
3-
X3: (i: scala.Int) isImplicit=false, isGiven=false, isErased=true
1+
X1: (i: scala.Int) isImplicit=true, isGiven=false, erasedArgs=List(false)
2+
X2: (i: scala.Int) isImplicit=false, isGiven=true, erasedArgs=List(false)
3+
X3: (i: scala.Int) isImplicit=false, isGiven=false, erasedArgs=List(true)
4+
X4: (i: scala.Int, j: scala.Int) isImplicit=false, isGiven=false, erasedArgs=List(false, true)
5+
X5: (i: EC) isImplicit=false, isGiven=false, erasedArgs=List(true)

tests/run-macros/i12021/Macro_1.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ def inspect2[A: Type](using Quotes): Expr[String] = {
1414

1515
val names = ps.params.map(p => s"${p.name}: ${p.tpt.show}").mkString("(", ", ", ")")
1616

17-
Expr(s"${Type.show[A]}: $names isImplicit=${ps.isImplicit}, isGiven=${ps.isGiven}, isErased=${ps.isErased}")
17+
Expr(s"${Type.show[A]}: $names isImplicit=${ps.isImplicit}, isGiven=${ps.isGiven}, erasedArgs=${ps.erasedArgs}")
1818
}

tests/run-macros/i12021/Test_2.scala

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
11
import scala.language.experimental.erasedDefinitions
22

3+
erased class EC
4+
35
class X1(implicit i: Int)
46
class X2(using i: Int)
57
class X3(erased i: Int)
8+
class X4(i: Int, erased j: Int)
9+
class X5(i: EC)
610

711
@main def Test = {
812
println(inspect[X1])
913
println(inspect[X2])
1014
println(inspect[X3])
11-
}
15+
println(inspect[X4])
16+
println(inspect[X5])
17+
}

0 commit comments

Comments
 (0)