11package dotty .tools .dotc .transform
22
33import dotty .tools .dotc .ast .tpd
4- import dotty .tools .dotc .ast .tpd .TreeTraverser
4+ import dotty .tools .dotc .ast .tpd .{ Inlined , TreeTraverser }
55import dotty .tools .dotc .ast .untpd
66import dotty .tools .dotc .ast .untpd .ImportSelector
77import dotty .tools .dotc .config .ScalaSettings
@@ -59,6 +59,7 @@ class CheckUnused extends MiniPhase:
5959 // ========== SETUP ============
6060
6161 override def prepareForUnit (tree : tpd.Tree )(using Context ): Context =
62+ println(tree)
6263 val data = UnusedData ()
6364 val fresh = ctx.fresh.setProperty(_key, data)
6465 fresh
@@ -75,15 +76,16 @@ class CheckUnused extends MiniPhase:
7576 traverser.traverse(tree)
7677 ctx
7778
79+ def prepareForInlined (tree : Inlined )(using Context ): Context =
80+ traverser.traverse(tree.call)
81+ ctx
82+
7883 override def prepareForIdent (tree : tpd.Ident )(using Context ): Context =
7984 if tree.symbol.exists then
8085 val prefixes = LazyList .iterate(tree.typeOpt.normalizedPrefix)(_.normalizedPrefix).takeWhile(_ != NoType )
8186 .take(10 ) // Failsafe for the odd case if there was an infinite cycle
82- for {
83- prefix <- prefixes
84- } {
87+ for prefix <- prefixes do
8588 unusedDataApply(_.registerUsed(prefix.classSymbol, None ))
86- }
8789 unusedDataApply(_.registerUsed(tree.symbol, Some (tree.name)))
8890 else if tree.hasType then
8991 unusedDataApply(_.registerUsed(tree.tpe.classSymbol, Some (tree.name)))
0 commit comments