@@ -266,7 +266,8 @@ class QuotesImpl private (using val ctx: Context) extends Quotes, QuoteUnpickler
266
266
267
267
object DefDef extends DefDefModule :
268
268
def apply (symbol : Symbol , rhsFn : List [List [Tree ]] => Option [Term ]): DefDef =
269
- assert(symbol.isTerm, s " expected a term symbol but received $symbol" )
269
+ assert(xCheckMacro && symbol.isTerm, s " expected a term symbol but received $symbol" )
270
+ assert(xCheckMacro && symbol.flags.is(Flags .Method ), " expected a symbol with `Method` flag set" )
270
271
withDefaultPos(tpd.DefDef (symbol.asTerm, prefss =>
271
272
xCheckedMacroOwners(xCheckMacroValidExpr(rhsFn(prefss)), symbol).getOrElse(tpd.EmptyTree )
272
273
))
@@ -297,6 +298,7 @@ class QuotesImpl private (using val ctx: Context) extends Quotes, QuoteUnpickler
297
298
298
299
object ValDef extends ValDefModule :
299
300
def apply (symbol : Symbol , rhs : Option [Term ]): ValDef =
301
+ assert(xCheckMacro && ! symbol.flags.is(Flags .Method ), " expected a symbol without `Method` flag set" )
300
302
tpd.ValDef (symbol.asTerm, xCheckedMacroOwners(xCheckMacroValidExpr(rhs), symbol).getOrElse(tpd.EmptyTree ))
301
303
def copy (original : Tree )(name : String , tpt : TypeTree , rhs : Option [Term ]): ValDef =
302
304
tpd.cpy.ValDef (original)(name.toTermName, tpt, xCheckedMacroOwners(xCheckMacroValidExpr(rhs), original.symbol).getOrElse(tpd.EmptyTree ))
@@ -1473,6 +1475,7 @@ class QuotesImpl private (using val ctx: Context) extends Quotes, QuoteUnpickler
1473
1475
1474
1476
object Bind extends BindModule :
1475
1477
def apply (sym : Symbol , pattern : Tree ): Bind =
1478
+ assert(xCheckMacro && sym.flags.is(Flags .Case ), " expected a symbol with `Case` flag set" )
1476
1479
tpd.Bind (sym, pattern)
1477
1480
def copy (original : Tree )(name : String , pattern : Tree ): Bind =
1478
1481
withDefaultPos(tpd.cpy.Bind (original)(name.toTermName, pattern))
0 commit comments