Skip to content

Commit c040798

Browse files
committed
Move methods from UnusedUtil to Applications
1 parent ed50958 commit c040798

File tree

3 files changed

+17
-34
lines changed

3 files changed

+17
-34
lines changed

compiler/src/dotty/tools/dotc/typer/Applications.scala

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import StdNames._
2323
import NameKinds.DefaultGetterName
2424
import ProtoTypes._
2525
import Inferencing._
26-
import UnusedUtil._
2726

2827
import collection.mutable
2928
import config.Printers.{overload, typr, unapp}
@@ -1542,6 +1541,23 @@ trait Applications extends Compatibility { self: Typer with Dynamic =>
15421541
harmonizedElems
15431542
}
15441543

1544+
/** Transforms the tree into a its default tree.
1545+
* Performed to shrink the tree that is known to be erased later.
1546+
*/
1547+
protected def normalizeUnusedExpr(tree: Tree, msg: String)(implicit ctx: Context): Tree = {
1548+
if (!isPureExpr(tree))
1549+
ctx.warning(msg + "This expression will not be evaluated.", tree.pos)
1550+
defaultValue(tree.tpe)
1551+
}
1552+
1553+
/** Transforms the rhs tree into a its default tree if it is in an `unused` val/def.
1554+
* Performed to shrink the tree that is known to be erased later.
1555+
*/
1556+
protected def normalizeUnusedRhs(rhs: Tree, sym: Symbol)(implicit ctx: Context) = {
1557+
if (sym.is(Unused) && rhs.tpe.exists) normalizeUnusedExpr(rhs, "Expression is on the RHS of an `unused` " + sym.showKind + ". ")
1558+
else rhs
1559+
}
1560+
15451561
/** If all `types` are numeric value types, and they are not all the same type,
15461562
* pick a common numeric supertype and widen any constant types in `tpes` to it.
15471563
* If the resulting types are all the same, return them instead of the original ones.

compiler/src/dotty/tools/dotc/typer/Typer.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import dotty.tools.dotc.transform.Erasure.Boxing
2929
import util.Positions._
3030
import util.common._
3131
import util.{Property, SourcePosition}
32-
import UnusedUtil._
3332

3433
import collection.mutable
3534
import annotation.tailrec

compiler/src/dotty/tools/dotc/typer/UnusedUtil.scala

Lines changed: 0 additions & 32 deletions
This file was deleted.

0 commit comments

Comments
 (0)