@@ -23,22 +23,22 @@ import scala.quoted._
23
23
object CompileMacro {
24
24
25
25
// parse and type check a code snippet, generate code to throw TestFailedException when type check passes or parse error
26
- def assertTypeErrorImpl (code : String , pos : Expr [source.Position ])(implicit qctx : QuoteContext ): Expr [Assertion ] = {
26
+ def assertTypeErrorImpl (code : Expr [ String ], typeChecked : Boolean , pos : Expr [source.Position ])(implicit qctx : QuoteContext ): Expr [Assertion ] = {
27
27
import qctx .tasty ._
28
28
29
- if (! typing.typeChecks(code) ) ' { Succeeded }
29
+ if (! typeChecked ) ' { Succeeded }
30
30
else ' {
31
- val messageExpr = Resources .expectedTypeErrorButGotNone($ { code.toExpr } )
31
+ val messageExpr = Resources .expectedTypeErrorButGotNone($code)
32
32
throw new TestFailedException ((_ : StackDepthException ) => Some (messageExpr), None , $pos)
33
33
}
34
34
}
35
35
36
- def expectTypeErrorImpl (code : String , prettifier : Expr [Prettifier ], pos : Expr [source.Position ])(implicit qctx : QuoteContext ): Expr [Fact ] = {
36
+ def expectTypeErrorImpl (code : Expr [ String ], typeChecked : Boolean , prettifier : Expr [Prettifier ], pos : Expr [source.Position ])(implicit qctx : QuoteContext ): Expr [Fact ] = {
37
37
import qctx .tasty ._
38
38
39
- if (typing.typeChecks(code) )
39
+ if (typeChecked )
40
40
' {
41
- val messageExpr = Resources .expectedTypeErrorButGotNone($ { code.toExpr } )
41
+ val messageExpr = Resources .expectedTypeErrorButGotNone($code)
42
42
Fact .No (
43
43
messageExpr,
44
44
messageExpr,
@@ -52,7 +52,7 @@ object CompileMacro {
52
52
}
53
53
else
54
54
' {
55
- val messageExpr = Resources .gotTypeErrorAsExpected($ { code.toExpr } )
55
+ val messageExpr = Resources .gotTypeErrorAsExpected($code)
56
56
57
57
Fact .Yes (
58
58
messageExpr,
@@ -68,23 +68,23 @@ object CompileMacro {
68
68
}
69
69
70
70
// parse and type check a code snippet, generate code to throw TestFailedException when both parse and type check succeeded
71
- def assertDoesNotCompileImpl (code : String , pos : Expr [source.Position ])(implicit qctx : QuoteContext ): Expr [Assertion ] = {
71
+ def assertDoesNotCompileImpl (code : Expr [ String ], typeChecked : Boolean , pos : Expr [source.Position ])(implicit qctx : QuoteContext ): Expr [Assertion ] = {
72
72
import qctx .tasty ._
73
73
74
- if (! typing.typeChecks(code) ) ' { Succeeded }
74
+ if (! typeChecked ) ' { Succeeded }
75
75
else ' {
76
- val messageExpr = Resources .expectedCompileErrorButGotNone($ { code.toExpr } )
76
+ val messageExpr = Resources .expectedCompileErrorButGotNone($code)
77
77
throw new TestFailedException ((_ : StackDepthException ) => Some (messageExpr), None , $pos)
78
78
}
79
79
}
80
80
81
81
// parse and type check a code snippet, generate code to return Fact (Yes or No).
82
- def expectDoesNotCompileImpl (code : String , prettifier : Expr [Prettifier ], pos : Expr [source.Position ])(implicit qctx : QuoteContext ): Expr [Fact ] = {
82
+ def expectDoesNotCompileImpl (code : Expr [ String ], typeChecked : Boolean , prettifier : Expr [Prettifier ], pos : Expr [source.Position ])(implicit qctx : QuoteContext ): Expr [Fact ] = {
83
83
import qctx .tasty ._
84
84
85
- if (typing.typeChecks(code) )
85
+ if (typeChecked )
86
86
' {
87
- val messageExpr = Resources .expectedCompileErrorButGotNone($ { code.toExpr } )
87
+ val messageExpr = Resources .expectedCompileErrorButGotNone($code)
88
88
Fact .No (
89
89
messageExpr,
90
90
messageExpr,
@@ -98,7 +98,7 @@ object CompileMacro {
98
98
}
99
99
else
100
100
' {
101
- val messageExpr = Resources .didNotCompile($ { code.toExpr } )
101
+ val messageExpr = Resources .didNotCompile($code)
102
102
103
103
Fact .Yes (
104
104
messageExpr,
@@ -114,22 +114,22 @@ object CompileMacro {
114
114
}
115
115
116
116
// parse and type check a code snippet, generate code to throw TestFailedException when either parse or type check fails.
117
- def assertCompilesImpl (code : String , pos : Expr [source.Position ])(implicit qctx : QuoteContext ): Expr [Assertion ] = {
117
+ def assertCompilesImpl (code : Expr [ String ], typeChecked : Boolean , pos : Expr [source.Position ])(implicit qctx : QuoteContext ): Expr [Assertion ] = {
118
118
import qctx .tasty ._
119
119
120
- if (typing.typeChecks(code) ) ' { Succeeded }
120
+ if (typeChecked ) ' { Succeeded }
121
121
else ' {
122
- val messageExpr = Resources .expectedNoErrorButGotTypeError(" unknown" , $ { code.toExpr } )
122
+ val messageExpr = Resources .expectedNoErrorButGotTypeError(" unknown" , $code)
123
123
throw new TestFailedException ((_ : StackDepthException ) => Some (messageExpr), None , $pos)
124
124
}
125
125
}
126
126
127
- def expectCompilesImpl (code : String , prettifier : Expr [Prettifier ], pos : Expr [source.Position ])(implicit qctx : QuoteContext ): Expr [Fact ] = {
127
+ def expectCompilesImpl (code : Expr [ String ], typeChecked : Boolean , prettifier : Expr [Prettifier ], pos : Expr [source.Position ])(implicit qctx : QuoteContext ): Expr [Fact ] = {
128
128
import qctx .tasty ._
129
129
130
- if (typing.typeChecks(code) )
130
+ if (typeChecked )
131
131
' {
132
- val messageExpr = Resources .compiledSuccessfully($ { code.toExpr } )
132
+ val messageExpr = Resources .compiledSuccessfully($code)
133
133
Fact .Yes (
134
134
messageExpr,
135
135
messageExpr,
@@ -143,7 +143,7 @@ object CompileMacro {
143
143
}
144
144
else
145
145
' {
146
- val messageExpr = Resources .expectedNoErrorButGotTypeError(" " , $ { code.toExpr } )
146
+ val messageExpr = Resources .expectedNoErrorButGotTypeError(" " , $code)
147
147
148
148
Fact .No (
149
149
messageExpr,
0 commit comments