@@ -197,20 +197,20 @@ private class ExtractExpression(config: ExpressionCompilerConfig, expressionStor
197
197
else nullLiteral
198
198
199
199
private def getThis (tree : Tree )(cls : ClassSymbol )(using Context ): Tree =
200
- reflectEval(tree)(nullLiteral, ReflectEvalStrategy .This (cls), List .empty, expressionStore.classOwners.head.typeRef )
200
+ reflectEval(tree)(nullLiteral, ReflectEvalStrategy .This (cls), List .empty)
201
201
202
202
private def getLocalOuter (tree : Tree )(outerCls : ClassSymbol )(using Context ): Tree =
203
203
val strategy = ReflectEvalStrategy .LocalOuter (outerCls)
204
- reflectEval(tree)(nullLiteral, strategy, List .empty, outerCls.typeRef )
204
+ reflectEval(tree)(nullLiteral, strategy, List .empty)
205
205
206
206
private def getOuter (tree : Tree )(qualifier : Tree , outerCls : ClassSymbol )(using Context ): Tree =
207
207
val strategy = ReflectEvalStrategy .Outer (outerCls)
208
- reflectEval(tree)(qualifier, strategy, List .empty, outerCls.typeRef )
208
+ reflectEval(tree)(qualifier, strategy, List .empty)
209
209
210
210
private def getLocalValue (tree : Tree )(variable : Symbol )(using Context ): Tree =
211
211
val isByName = isByNameParam(variable.info)
212
212
val strategy = ReflectEvalStrategy .LocalValue (variable.asTerm, isByName)
213
- reflectEval(tree)(nullLiteral, strategy, List .empty, tree.tpe )
213
+ reflectEval(tree)(nullLiteral, strategy, List .empty)
214
214
215
215
private def isByNameParam (tpe : Type )(using Context ): Boolean =
216
216
tpe match
@@ -220,56 +220,55 @@ private class ExtractExpression(config: ExpressionCompilerConfig, expressionStor
220
220
221
221
private def setLocalValue (tree : Tree )(variable : Symbol , rhs : Tree )(using Context ): Tree =
222
222
val strategy = ReflectEvalStrategy .LocalValueAssign (variable.asTerm)
223
- reflectEval(tree)(nullLiteral, strategy, List (rhs), tree.tpe )
223
+ reflectEval(tree)(nullLiteral, strategy, List (rhs))
224
224
225
225
private def getClassCapture (tree : Tree )(variable : Symbol , cls : ClassSymbol )(using Context ): Tree =
226
226
val byName = isByNameParam(variable.info)
227
227
val strategy = ReflectEvalStrategy .ClassCapture (variable.asTerm, cls, byName)
228
228
val qualifier = thisOrOuterValue(tree)(cls)
229
- reflectEval(tree)(qualifier, strategy, List .empty, tree.tpe )
229
+ reflectEval(tree)(qualifier, strategy, List .empty)
230
230
231
231
private def setClassCapture (tree : Tree )(variable : Symbol , cls : ClassSymbol , value : Tree )(using Context ) =
232
232
val strategy = ReflectEvalStrategy .ClassCaptureAssign (variable.asTerm, cls)
233
233
val qualifier = thisOrOuterValue(tree)(cls)
234
- reflectEval(tree)(qualifier, strategy, List (value), tree.tpe )
234
+ reflectEval(tree)(qualifier, strategy, List (value))
235
235
236
236
private def getMethodCapture (tree : Tree )(variable : Symbol , method : TermSymbol )(using Context ): Tree =
237
237
val isByName = isByNameParam(variable.info)
238
238
val strategy =
239
239
ReflectEvalStrategy .MethodCapture (variable.asTerm, method.asTerm, isByName)
240
- reflectEval(tree)(nullLiteral, strategy, List .empty, tree.tpe )
240
+ reflectEval(tree)(nullLiteral, strategy, List .empty)
241
241
242
242
private def setMethodCapture (tree : Tree )(variable : Symbol , method : Symbol , value : Tree )(using Context ) =
243
243
val strategy =
244
244
ReflectEvalStrategy .MethodCaptureAssign (variable.asTerm, method.asTerm)
245
- reflectEval(tree)(nullLiteral, strategy, List (value), tree.tpe )
245
+ reflectEval(tree)(nullLiteral, strategy, List (value))
246
246
247
247
private def getStaticObject (tree : Tree )(obj : Symbol )(using ctx : Context ): Tree =
248
248
val strategy = ReflectEvalStrategy .StaticObject (obj.asClass)
249
- reflectEval(tree)(nullLiteral, strategy, List .empty, obj.typeRef )
249
+ reflectEval(tree)(nullLiteral, strategy, List .empty)
250
250
251
251
private def getField (tree : Tree )(qualifier : Tree , field : TermSymbol )(using Context ): Tree =
252
252
val byName = isByNameParam(field.info)
253
253
val strategy = ReflectEvalStrategy .Field (field, byName)
254
- reflectEval(tree)(qualifier, strategy, List .empty, tree.tpe )
254
+ reflectEval(tree)(qualifier, strategy, List .empty)
255
255
256
256
private def setField (tree : Tree )(qualifier : Tree , field : TermSymbol , rhs : Tree )(using Context ): Tree =
257
257
val strategy = ReflectEvalStrategy .FieldAssign (field)
258
- reflectEval(tree)(qualifier, strategy, List (rhs), tree.tpe )
258
+ reflectEval(tree)(qualifier, strategy, List (rhs))
259
259
260
260
private def callMethod (tree : Tree )(qualifier : Tree , method : TermSymbol , args : List [Tree ])(using Context ): Tree =
261
261
val strategy = ReflectEvalStrategy .MethodCall (method)
262
- reflectEval(tree)(qualifier, strategy, args, tree.tpe )
262
+ reflectEval(tree)(qualifier, strategy, args)
263
263
264
264
private def callConstructor (tree : Tree )(qualifier : Tree , ctr : TermSymbol , args : List [Tree ])(using Context ): Tree =
265
265
val strategy = ReflectEvalStrategy .ConstructorCall (ctr, ctr.owner.asClass)
266
- reflectEval(tree)(qualifier, strategy, args, tree.tpe )
266
+ reflectEval(tree)(qualifier, strategy, args)
267
267
268
268
private def reflectEval (tree : Tree )(
269
269
qualifier : Tree ,
270
270
strategy : ReflectEvalStrategy ,
271
- args : List [Tree ],
272
- tpe : Type
271
+ args : List [Tree ]
273
272
)(using Context ): Tree =
274
273
val evalArgs = List (
275
274
qualifier,
0 commit comments