Skip to content

Commit dadccc4

Browse files
committed
Refactor TypeUtils
= Move to core package. It was for historical reasons in transform because it was originally intended as a collection of type operations that were were useful in transform phases. But it's now used from everywhere. - Make a base class of Types, so that it does not need to be imported explicitly. [Cherry-picked 6793291][modified]
1 parent c8927bb commit dadccc4

27 files changed

+6
-36
lines changed

compiler/src/dotty/tools/dotc/ast/tpd.scala

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ package ast
55
import dotty.tools.dotc.transform.{ExplicitOuter, Erasure}
66
import typer.ProtoTypes
77
import transform.SymUtils.*
8-
import transform.TypeUtils.*
98
import core.*
109
import Scopes.newScope
1110
import util.Spans.*, Types.*, Contexts.*, Constants.*, Names.*, Flags.*, NameOps.*

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

-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import scala.util.control.NonFatal
2323
import config.Config
2424
import reporting.*
2525
import collection.mutable
26-
import transform.TypeUtils.*
2726
import cc.{CapturingType, derivedCapturingType, Setup, EventuallyCapturingType, isEventuallyCapturingType}
2827

2928
import scala.annotation.internal.sharable

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

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import StdNames.nme
1313
import Flags.{Module, Provisional}
1414
import dotty.tools.dotc.config.Config
1515
import cc.boxedUnlessFun
16-
import dotty.tools.dotc.transform.TypeUtils.isErasedValueType
1716

1817
object TypeApplications {
1918

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

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import TypeErasure.{erasedLub, erasedGlb}
1616
import TypeApplications.*
1717
import Variances.{Variance, variancesConform}
1818
import Constants.Constant
19-
import transform.TypeUtils.*
2019
import transform.SymUtils.*
2120
import scala.util.control.NonFatal
2221
import typer.ProtoTypes.constrained

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

-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import TypeOps.makePackageObjPrefixExplicit
99
import backend.sjs.JSDefinitions
1010
import transform.ExplicitOuter.*
1111
import transform.ValueClasses.*
12-
import transform.TypeUtils.*
1312
import transform.ContextFunctionResults.*
1413
import unpickleScala2.Scala2Erasure
1514
import Decorators.*
@@ -404,7 +403,6 @@ object TypeErasure {
404403
tp1 // After erasure, T | Nothing is just T and C | Null is just C, if C is a reference type.
405404
else tp1 match {
406405
case JavaArrayType(elem1) =>
407-
import dotty.tools.dotc.transform.TypeUtils.*
408406
tp2 match {
409407
case JavaArrayType(elem2) =>
410408
if (elem1.isPrimitiveValueType || elem2.isPrimitiveValueType)

compiler/src/dotty/tools/dotc/transform/TypeUtils.scala renamed to compiler/src/dotty/tools/dotc/core/TypeUtils.scala

+3-8
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
package dotty.tools
22
package dotc
3-
package transform
3+
package core
44

5-
import core.*
65
import TypeErasure.ErasedValueType
7-
import Types.*
8-
import Contexts.*
9-
import Symbols.*
6+
import Types.*, Contexts.*, Symbols.*, Flags.*, Decorators.*
107
import Names.Name
118

12-
import dotty.tools.dotc.core.Decorators.*
13-
14-
object TypeUtils {
9+
class TypeUtils {
1510
/** A decorator that provides methods on types
1611
* that are needed in the transformer pipeline.
1712
*/

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

+1-2
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,8 @@ import scala.annotation.internal.sharable
4343
import scala.annotation.threadUnsafe
4444

4545
import dotty.tools.dotc.transform.SymUtils.*
46-
import dotty.tools.dotc.transform.TypeUtils.isErasedClass
4746

48-
object Types {
47+
object Types extends TypeUtils {
4948

5049
@sharable private var nextId = 0
5150

compiler/src/dotty/tools/dotc/printing/RefinedPrinter.scala

-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import Trees.*
2323
import TypeApplications.*
2424
import NameKinds.{WildcardParamName, DefaultGetterName}
2525
import util.Chars.isOperatorPart
26-
import transform.TypeUtils.*
2726
import transform.SymUtils.*
2827
import config.{Config, Feature}
2928

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

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import Flags.*
99
import Names.*
1010
import NameOps.*
1111
import Decorators.*
12-
import TypeUtils.*
1312
import Types.*
1413
import util.Spans.Span
1514
import config.Printers.transforms

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

-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import dotty.tools.dotc.ast.{tpd, untpd}
2929
import ast.TreeTypeMap
3030
import dotty.tools.dotc.core.{Constants, Flags}
3131
import ValueClasses.*
32-
import TypeUtils.*
3332
import ContextFunctionResults.*
3433
import ExplicitOuter.*
3534
import core.Mode

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

-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import SymDenotations.*, Symbols.*, StdNames.*, Denotations.*
1515
import TypeErasure.{ valueErasure, ErasedValueType }
1616
import NameKinds.{ExtMethName, BodyRetainerName}
1717
import Decorators.*
18-
import TypeUtils.*
1918

2019
/**
2120
* Perform Step 1 in the inline classes SIP: Creates extension methods for all

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

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import DenotTransformers.*
1616
import NameOps.*
1717
import NameKinds.OuterSelectName
1818
import StdNames.*
19-
import TypeUtils.isErasedValueType
2019
import config.Feature
2120
import inlines.Inlines.inInlineMethod
2221

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

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import Types.*
66
import Contexts.*
77
import Symbols.*
88
import Decorators.*
9-
import TypeUtils.*
109
import StdNames.nme
1110
import ast.*
1211

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

-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import core.TypeErasure.{erasedGlb, erasure, fullErasure, isGenericArrayElement,
1515
import core.Types.*
1616
import core.classfile.ClassfileConstants
1717
import SymUtils.*
18-
import TypeUtils.*
1918
import config.Printers.transforms
2019
import reporting.trace
2120
import java.lang.StringBuilder

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package dotc
33
package transform
44

55
import core.*
6-
import Contexts.*, Types.*, Symbols.*, Flags.*, TypeUtils.*, DenotTransformers.*, StdNames.*
6+
import Contexts.*, Types.*, Symbols.*, Flags.*, DenotTransformers.*, StdNames.*
77
import Decorators.*
88
import MegaPhase.*
99
import NameKinds.ParamAccessorName

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

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import patmat.SpaceEngine
99
import util.Spans.*
1010
import typer.Applications.*
1111
import SymUtils.*
12-
import TypeUtils.*
1312
import Annotations.*
1413
import Flags.*, Constants.*
1514
import Decorators.*

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import scala.collection.mutable
77
import ValueClasses.isMethodWithExtension
88
import core.*
99
import Contexts.*, Flags.*, Symbols.*, Names.*, StdNames.*, NameOps.*, Trees.*
10-
import TypeUtils.*, SymUtils.*
10+
import SymUtils.*
1111
import DenotTransformers.DenotTransformer
1212
import Symbols.*
1313
import util.Spans.*

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

-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import StdNames.*
1010
import Symbols.*
1111
import MegaPhase.*
1212
import Types.*
13-
import transform.TypeUtils.*
1413
import dotty.tools.dotc.ast.tpd
1514

1615
/** Optimize generic operations on tuples */

compiler/src/dotty/tools/dotc/transform/patmat/Space.scala

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ package patmat
55

66
import core.*
77
import Types.*
8-
import TypeUtils.*
98
import Contexts.*
109
import Flags.*
1110
import ast.*

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

-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import NameKinds.DefaultGetterName
2121
import ProtoTypes.*
2222
import Inferencing.*
2323
import reporting.*
24-
import transform.TypeUtils.*
2524
import transform.SymUtils.*
2625
import Nullables.*, NullOpsDecorator.*
2726
import config.Feature

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

-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ import config.Feature
3838
import config.Feature.sourceVersion
3939
import config.SourceVersion.*
4040
import printing.Formatting.hlAsKeyword
41-
import transform.TypeUtils.*
4241

4342
import collection.mutable
4443
import reporting.*

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

-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import Constants.*
1111
import Names.*
1212
import StdNames.*
1313
import Contexts.*
14-
import transform.TypeUtils.*
1514

1615
object ConstFold:
1716

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

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import util.Spans.*
1616
import core.Symbols.*
1717
import ErrorReporting.*
1818
import dotty.tools.dotc.transform.ValueClasses
19-
import dotty.tools.dotc.transform.TypeUtils.isPrimitiveValueType
2019
import reporting.*
2120

2221
object Dynamic {

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

-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import ProtoTypes.*
2323
import ErrorReporting.*
2424
import Inferencing.{fullyDefinedType, isFullyDefined}
2525
import Scopes.newScope
26-
import transform.TypeUtils.*
2726
import Hashable.*
2827
import util.{EqHashMap, Stats}
2928
import config.{Config, Feature}

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

-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import parsing.Parsers.Parser
2323
import Annotations.*
2424
import Inferencing.*
2525
import transform.ValueClasses.*
26-
import transform.TypeUtils.*
2726
import transform.SymUtils.*
2827
import TypeErasure.erasure
2928
import reporting.*

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

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import ProtoTypes.*
1212
import Inferencing.{fullyDefinedType, isFullyDefined}
1313
import ast.untpd
1414
import transform.SymUtils.*
15-
import transform.TypeUtils.*
1615
import transform.SyntheticMembers.*
1716
import util.Property
1817
import ast.Trees.genericEmptyTree

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

-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ import config.SourceVersion.*
4646
import rewrites.Rewrites.patch
4747
import staging.StagingLevel
4848
import transform.SymUtils.*
49-
import transform.TypeUtils.*
5049
import reporting.*
5150
import Nullables.*
5251
import NullOpsDecorator.*

0 commit comments

Comments
 (0)