Skip to content

Commit ca5b512

Browse files
committed
Move inline code to new package
1 parent 0eee6dd commit ca5b512

17 files changed

+27
-19
lines changed

compiler/src/dotty/tools/dotc/core/Contexts.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ import Uniques._
1414
import ast.Trees._
1515
import ast.untpd
1616
import util.{NoSource, SimpleIdentityMap, SourceFile, HashSet, ReusableInstance}
17-
import typer.{Implicits, ImportInfo, Inliner, SearchHistory, SearchRoot, TypeAssigner, Typer, Nullables}
17+
import typer.{Implicits, ImportInfo, SearchHistory, SearchRoot, TypeAssigner, Typer, Nullables}
18+
import inlines.Inliner
1819
import Nullables._
1920
import Implicits.ContextualImplicits
2021
import config.Settings._

compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -830,7 +830,7 @@ class TreeUnpickler(reader: TastyReader,
830830
else if sym.isInlineMethod && !sym.is(Deferred) then
831831
// The body of an inline method is stored in an annotation, so no need to unpickle it again
832832
new Trees.Lazy[Tree] {
833-
def complete(using Context) = typer.Inlines.bodyToInline(sym)
833+
def complete(using Context) = inlines.Inlines.bodyToInline(sym)
834834
}
835835
else
836836
readLater(end, _.readTerm())

compiler/src/dotty/tools/dotc/typer/InlineReducer.scala renamed to compiler/src/dotty/tools/dotc/inlines/InlineReducer.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package dotty.tools
22
package dotc
3-
package typer
3+
package inlines
44

55
import core._
66
import ast.*
@@ -12,6 +12,7 @@ import Constants._
1212
import StagingContext._
1313
import StdNames._
1414
import transform.SymUtils._
15+
import typer.*
1516
import Contexts._
1617
import Names.{Name, TermName}
1718
import NameKinds.{InlineAccessorName, InlineBinderName, InlineScrutineeName, BodyRetainerName}

compiler/src/dotty/tools/dotc/typer/Inliner.scala renamed to compiler/src/dotty/tools/dotc/inlines/Inliner.scala

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package dotty.tools
22
package dotc
3-
package typer
3+
package inlines
44

55
import ast.{TreeInfo, tpd, _}
66
import core._
@@ -12,6 +12,7 @@ import Constants._
1212
import StagingContext._
1313
import StdNames._
1414
import transform.SymUtils._
15+
import typer.*
1516
import Contexts._
1617
import Names.{Name, TermName}
1718
import NameKinds.{InlineAccessorName, InlineBinderName, InlineScrutineeName, BodyRetainerName}
@@ -38,7 +39,7 @@ import scala.annotation.constructorOnly
3839
object Inliner:
3940
import tpd._
4041

41-
private[typer] type DefBuffer = mutable.ListBuffer[ValOrDefDef]
42+
private[inlines] type DefBuffer = mutable.ListBuffer[ValOrDefDef]
4243

4344
/** Very similar to TreeInfo.isPureExpr, but with the following inliner-only exceptions:
4445
* - synthetic case class apply methods, when the case class constructor is empty, are
@@ -141,7 +142,7 @@ class Inliner(val call: tpd.Tree)(using Context):
141142
/** A map from references to (type and value) parameters of the inlineable method
142143
* to their corresponding argument or proxy references, as given by `paramBinding`.
143144
*/
144-
private[typer] val paramProxy = new mutable.HashMap[Type, Type]
145+
private[inlines] val paramProxy = new mutable.HashMap[Type, Type]
145146

146147
/** A map from the classes of (direct and outer) this references in `rhsToInline`
147148
* to references of their proxies.
@@ -161,7 +162,7 @@ class Inliner(val call: tpd.Tree)(using Context):
161162
/** A buffer for bindings that define proxies for actual arguments */
162163
private val bindingsBuf = new mutable.ListBuffer[ValOrDefDef]
163164

164-
private[typer] def newSym(name: Name, flags: FlagSet, info: Type)(using Context): Symbol =
165+
private[inlines] def newSym(name: Name, flags: FlagSet, info: Type)(using Context): Symbol =
165166
newSymbol(ctx.owner, name, flags, info, coord = call.span)
166167

167168
/** A binding for the parameter of an inline method. This is a `val` def for
@@ -173,7 +174,7 @@ class Inliner(val call: tpd.Tree)(using Context):
173174
* @param arg the argument corresponding to the parameter
174175
* @param buf the buffer to which the definition should be appended
175176
*/
176-
private[typer] def paramBindingDef(name: Name, formal: Type, arg0: Tree,
177+
private[inlines] def paramBindingDef(name: Name, formal: Type, arg0: Tree,
177178
buf: DefBuffer)(using Context): ValOrDefDef = {
178179
val isByName = formal.dealias.isInstanceOf[ExprType]
179180
val arg = arg0 match {
@@ -706,7 +707,7 @@ class Inliner(val call: tpd.Tree)(using Context):
706707
}
707708
}
708709

709-
private[typer] def tryInlineArg(tree: Tree)(using Context): Tree = tree match {
710+
private[inlines] def tryInlineArg(tree: Tree)(using Context): Tree = tree match {
710711
case InlineableArg(rhs) =>
711712
inlining.println(i"inline arg $tree -> $rhs")
712713
rhs

compiler/src/dotty/tools/dotc/typer/Inlines.scala renamed to compiler/src/dotty/tools/dotc/inlines/Inlines.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package dotty.tools
22
package dotc
3-
package typer
3+
package inlines
44

55
import ast.{TreeInfo, tpd, _}
66
import core._
@@ -12,6 +12,7 @@ import Constants._
1212
import StagingContext._
1313
import StdNames._
1414
import transform.SymUtils._
15+
import typer.*
1516
import Contexts._
1617
import Names.{Name, TermName}
1718
import NameKinds.{InlineAccessorName, InlineBinderName, InlineScrutineeName, BodyRetainerName}
@@ -41,7 +42,7 @@ object Inlines:
4142
/** An exception signalling that an inline info cannot be computed due to a
4243
* cyclic reference. i14772.scala shows a case where this happens.
4344
*/
44-
private[typer] class MissingInlineInfo extends Exception
45+
private[dotc] class MissingInlineInfo extends Exception
4546

4647
/** `sym` is an inline method with a known body to inline.
4748
*/

compiler/src/dotty/tools/dotc/sbt/ExtractAPI.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import Types._
1616
import Symbols._
1717
import Names._
1818
import NameOps._
19-
import typer.Inlines
19+
import inlines.Inlines
2020
import transform.ValueClasses
2121
import transform.SymUtils._
2222
import dotty.tools.io.File

compiler/src/dotty/tools/dotc/transform/Erasure.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import core.Constants._
1919
import core.Definitions._
2020
import core.Annotations.BodyAnnotation
2121
import typer.NoChecking
22-
import typer.Inlines
22+
import inlines.Inlines
2323
import typer.ProtoTypes._
2424
import typer.ErrorReporting.errorTree
2525
import typer.Checking.checkValue

compiler/src/dotty/tools/dotc/transform/InlineVals.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import dotty.tools.dotc.core.Symbols._
88
import dotty.tools.dotc.core.Flags._
99
import dotty.tools.dotc.core.Types._
1010
import dotty.tools.dotc.transform.MegaPhase.MiniPhase
11-
import dotty.tools.dotc.typer.Inlines
11+
import dotty.tools.dotc.inlines.Inlines
1212

1313
/** Check that `tree.rhs` can be right hand-side of an `inline` value definition. */
1414
class InlineVals extends MiniPhase:

compiler/src/dotty/tools/dotc/transform/Inlining.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import SymUtils._
99
import dotty.tools.dotc.ast.tpd
1010

1111
import dotty.tools.dotc.core.StagingContext._
12-
import dotty.tools.dotc.typer.Inlines
12+
import dotty.tools.dotc.inlines.Inlines
1313
import dotty.tools.dotc.ast.TreeMapWithImplicits
1414

1515

compiler/src/dotty/tools/dotc/transform/PickleQuotes.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import dotty.tools.dotc.core.Annotations._
2020
import dotty.tools.dotc.core.StdNames._
2121
import dotty.tools.dotc.quoted._
2222
import dotty.tools.dotc.transform.TreeMapWithStages._
23-
import dotty.tools.dotc.typer.Inlines
23+
import dotty.tools.dotc.inlines.Inlines
2424

2525
import scala.annotation.constructorOnly
2626

compiler/src/dotty/tools/dotc/transform/PostTyper.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import dotty.tools.dotc.ast.{Trees, tpd, untpd, desugar}
55
import scala.collection.mutable
66
import core._
77
import dotty.tools.dotc.typer.Checking
8-
import dotty.tools.dotc.typer.Inlines
8+
import dotty.tools.dotc.inlines.Inlines
99
import dotty.tools.dotc.typer.VarianceChecker
1010
import typer.ErrorReporting.errorTree
1111
import Types._, Contexts._, Names._, Flags._, DenotTransformers._, Phases._

compiler/src/dotty/tools/dotc/transform/SpecializeTuples.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import ast.Trees.*, ast.tpd, core.*
66
import Contexts.*, Types.*, Decorators.*, Symbols.*, DenotTransformers.*
77
import SymDenotations.*, Scopes.*, StdNames.*, NameOps.*, Names.*
88
import MegaPhase.MiniPhase
9-
import typer.Inliner.isElideableExpr
9+
import inlines.Inliner.isElideableExpr
1010

1111
/** Specializes Tuples by replacing tuple construction and selection trees.
1212
*

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ import ProtoTypes._
1515
import Scopes._
1616
import CheckRealizable._
1717
import ErrorReporting.errorTree
18-
import rewrites.Rewrites.patch
1918
import util.Spans.Span
2019
import Phases.refchecksPhase
2120
import Constants.Constant
2221

2322
import util.SrcPos
2423
import util.Spans.Span
2524
import rewrites.Rewrites.patch
25+
import inlines.Inlines
2626
import transform.SymUtils._
2727
import transform.ValueClasses._
2828
import Decorators._

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import tpd.tpes
1717
import Variances.alwaysInvariant
1818
import config.{Config, Feature}
1919
import config.Printers.typr
20+
import inlines.Inlines
2021
import parsing.JavaParsers.JavaParser
2122
import parsing.Parsers.Parser
2223
import Annotations._

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import StdNames.nme
1414
import Contexts._
1515
import Names.{Name, TermName}
1616
import NameKinds.{InlineAccessorName, UniqueInlineName}
17+
import inlines.Inlines
1718
import NameOps._
1819
import Annotations._
1920
import transform.{AccessProxies, PCPCheckAndHeal, Splicer}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import Constants._
1111
import util.{Stats, SimpleIdentityMap, SimpleIdentitySet}
1212
import Decorators._
1313
import Uniques._
14+
import inlines.Inlines
1415
import config.Printers.typr
1516
import util.SourceFile
1617
import TypeComparer.necessarySubType

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import Inferencing._
2929
import Dynamic.isDynamicExpansion
3030
import EtaExpansion.etaExpand
3131
import TypeComparer.CompareResult
32+
import inlines.Inlines
3233
import util.Spans._
3334
import util.common._
3435
import util.{Property, SimpleIdentityMap, SrcPos}

0 commit comments

Comments
 (0)