Skip to content

Commit 1aab38f

Browse files
nicolasstuckigriggt
authored andcommitted
Remove use of underlyingArgument
1 parent 0c4a030 commit 1aab38f

File tree

3 files changed

+9
-7
lines changed

3 files changed

+9
-7
lines changed

shared/src/main/scala-3/verify/asserts/AssertEqualsMacro.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ import language.experimental.macros
1717

1818
trait AssertEquals[R] {
1919
protected def stringAssertEqualsListener: RecorderListener[String, R]
20-
inline def assertEquals(expected: String, found: String): R =
20+
inline def assertEquals(inline expected: String, inline found: String): R =
2121
${ StringRecorderMacro.apply('expected, 'found, 'stringAssertEqualsListener) }
2222

23-
inline def assertEquals(expected: String, found: String, message: => String): R =
23+
inline def assertEquals(inline expected: String, inline found: String, message: => String): R =
2424
${ StringRecorderMacro.apply('expected, 'found, 'message, 'stringAssertEqualsListener) }
2525
}

shared/src/main/scala-3/verify/asserts/Recorder.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ import language.experimental.macros
1717

1818
abstract class Recorder[A, R] {
1919
protected def listener: RecorderListener[A, R]
20-
inline def apply(value: A): R =
20+
inline def apply(inline value: A): R =
2121
${ RecorderMacro.apply('value, 'listener) }
22-
inline def apply(value: A, message: => String): R =
22+
inline def apply(inline value: A, message: => String): R =
2323
${ RecorderMacro.apply('value, 'message, 'listener) }
2424
}

shared/src/main/scala-3/verify/asserts/RecorderMacro.scala

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class RecorderMacro(using qctx0: Quotes) {
2727
recording: Expr[A],
2828
message: Expr[String],
2929
listener: Expr[RecorderListener[A, R]]): Expr[R] = {
30-
val termArg: Term = recording.asTerm.underlyingArgument
30+
val termArg: Term = recording.asTerm.underlyingArgument // TODO remove use of underlyingArgument
3131

3232
'{
3333
val recorderRuntime: RecorderRuntime[A, R] = new RecorderRuntime($listener)
@@ -46,8 +46,8 @@ class RecorderMacro(using qctx0: Quotes) {
4646
found: Expr[A],
4747
message: Expr[String],
4848
listener: Expr[RecorderListener[A, R]]): Expr[R] = {
49-
val expectedArg: Term = expected.asTerm.underlyingArgument
50-
val foundArg: Term = found.asTerm.underlyingArgument
49+
val expectedArg: Term = expected.asTerm
50+
val foundArg: Term = found.asTerm
5151

5252
'{
5353
val recorderRuntime: RecorderRuntime[A, R] = new RecorderRuntime($listener)
@@ -97,13 +97,15 @@ class RecorderMacro(using qctx0: Quotes) {
9797
}
9898

9999
private[this] def recordAllValues(runtime: Term, expr: Term): Term =
100+
// TODO use an TreeMap or an ExprMap
100101
expr match {
101102
case New(_) => expr
102103
case Literal(_) => expr
103104
case Typed(r @ Repeated(xs, y), tpe) => Typed.copy(r)(recordSubValues(runtime, r), tpe)
104105
// don't record value of implicit "this" added by compiler; couldn't find a better way to detect implicit "this" than via point
105106
case Select(x@This(_), y) if expr.pos.start == x.pos.start => expr
106107
// case x: Select if x.symbol.isModule => expr // don't try to record the value of packages
108+
case Inlined(call, Nil, t) => Inlined.copy(expr)(call, Nil, recordAllValues(runtime, t))
107109
case _ => recordValue(runtime, recordSubValues(runtime, expr), expr)
108110
}
109111

0 commit comments

Comments
 (0)