@@ -243,10 +243,8 @@ class PostTyper extends MacroTransform with IdentityDenotTransformer { thisPhase
243
243
private object dropInlines extends TreeMap {
244
244
override def transform (tree : Tree )(using Context ): Tree = tree match {
245
245
case Inlined (call, _, expansion) =>
246
- val newExpansion = tree.tpe match
247
- case ConstantType (c) => Literal (c)
248
- case _ => Typed (ref(defn.Predef_undefined ), TypeTree (tree.tpe))
249
- cpy.Inlined (tree)(call, Nil , newExpansion.withSpan(tree.span))
246
+ val newExpansion = PruneErasedDefs .trivialErasedTree(tree)
247
+ cpy.Inlined (tree)(call, Nil , newExpansion)
250
248
case _ => super .transform(tree)
251
249
}
252
250
}
@@ -282,7 +280,8 @@ class PostTyper extends MacroTransform with IdentityDenotTransformer { thisPhase
282
280
tpd.cpy.Apply (tree)(
283
281
tree.fun,
284
282
tree.args.mapConserve(arg =>
285
- if (methType.isImplicitMethod && arg.span.isSynthetic) ref(defn.Predef_undefined )
283
+ if (methType.isImplicitMethod && arg.span.isSynthetic)
284
+ PruneErasedDefs .trivialErasedTree(arg)
286
285
else dropInlines.transform(arg)))
287
286
else
288
287
tree
@@ -414,12 +413,12 @@ class PostTyper extends MacroTransform with IdentityDenotTransformer { thisPhase
414
413
// case x: (_: Tree[?])
415
414
case m @ MatchTypeTree (bounds, selector, cases) =>
416
415
// Analog to the case above for match types
417
- def tranformIgnoringBoundsCheck (x : CaseDef ): CaseDef =
416
+ def transformIgnoringBoundsCheck (x : CaseDef ): CaseDef =
418
417
withMode(Mode .Pattern )(super .transform(x)).asInstanceOf [CaseDef ]
419
418
cpy.MatchTypeTree (tree)(
420
419
super .transform(bounds),
421
420
super .transform(selector),
422
- cases.mapConserve(tranformIgnoringBoundsCheck )
421
+ cases.mapConserve(transformIgnoringBoundsCheck )
423
422
)
424
423
case Block (_, Closure (_, _, tpt)) if ExpandSAMs .needsWrapperClass(tpt.tpe) =>
425
424
superAcc.withInvalidCurrentClass(super .transform(tree))
0 commit comments