File tree Expand file tree Collapse file tree 3 files changed +17
-34
lines changed
compiler/src/dotty/tools/dotc/typer Expand file tree Collapse file tree 3 files changed +17
-34
lines changed Original file line number Diff line number Diff line change @@ -24,7 +24,6 @@ import NameKinds.DefaultGetterName
2424import ProtoTypes ._
2525import EtaExpansion ._
2626import Inferencing ._
27- import UnusedUtil ._
2827
2928import collection .mutable
3029import config .Printers .{overload , typr , unapp }
@@ -1540,6 +1539,23 @@ trait Applications extends Compatibility { self: Typer with Dynamic =>
15401539 harmonizedElems
15411540 }
15421541
1542+ /** Transforms the tree into a its default tree.
1543+ * Performed to shrink the tree that is known to be erased later.
1544+ */
1545+ protected def normalizeUnusedExpr (tree : Tree , msg : String )(implicit ctx : Context ): Tree = {
1546+ if (! isPureExpr(tree))
1547+ ctx.warning(msg + " This expression will not be evaluated." , tree.pos)
1548+ defaultValue(tree.tpe)
1549+ }
1550+
1551+ /** Transforms the rhs tree into a its default tree if it is in an `unused` val/def.
1552+ * Performed to shrink the tree that is known to be erased later.
1553+ */
1554+ protected def normalizeUnusedRhs (rhs : Tree , sym : Symbol )(implicit ctx : Context ) = {
1555+ if (sym.is(Unused ) && rhs.tpe.exists) normalizeUnusedExpr(rhs, " Expression is on the RHS of an `unused` " + sym.showKind + " . " )
1556+ else rhs
1557+ }
1558+
15431559 /** If all `types` are numeric value types, and they are not all the same type,
15441560 * pick a common numeric supertype and widen any constant types in `tpes` to it.
15451561 * If the resulting types are all the same, return them instead of the original ones.
Original file line number Diff line number Diff line change @@ -29,7 +29,6 @@ import dotty.tools.dotc.transform.Erasure.Boxing
2929import util .Positions ._
3030import util .common ._
3131import util .{Property , SourcePosition }
32- import UnusedUtil ._
3332
3433import collection .mutable
3534import annotation .tailrec
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments