1+ package dotty .tools
2+ package dotc
3+ package core
4+
5+ import Types .* , Contexts .* , Symbols .* , Flags .* , Names .* , NameOps .* , Denotations .*
6+ import Decorators .*
7+ import Phases .{gettersPhase , elimByNamePhase }
8+ import StdNames .nme
9+ import TypeOps .refineUsingParent
10+ import collection .mutable
11+ import util .{Stats , NoSourcePosition , EqHashMap }
12+ import config .Config
13+ import config .Feature .{migrateTo3 , sourceVersion }
14+ import config .Printers .{subtyping , gadts , matchTypes , capt , noPrinter }
15+ import config .SourceVersion
16+ import TypeErasure .{erasedLub , erasedGlb }
17+ import TypeApplications .*
18+ import Variances .{Variance , variancesConform }
19+ import Constants .Constant
20+ import scala .util .control .NonFatal
21+ import typer .ProtoTypes .constrained
22+ import typer .Applications .productSelectorTypes
23+ import reporting .trace
24+ import annotation .constructorOnly
25+ import cc .*
26+ import Capabilities .Capability
27+ import NameKinds .WildcardParamName
28+ import MatchTypes .isConcrete
29+ import reporting .Message .Note
30+ import scala .util .boundary , boundary .break
31+
132object MatchReducer :
233 import printing .* , Texts .*
334 enum MatchResult extends Showable :
@@ -15,8 +46,6 @@ object MatchReducer:
1546 case NoInstance (fails) => " NoInstance(" ~ Text (fails.map(p.toText(_) ~ p.toText(_)), " , " ) ~ " )"
1647
1748/** A type comparer for reducing match types.
18- * TODO: Not sure this needs to be a type comparer. Can we make it a
19- * separate class?
2049 */
2150class MatchReducer (initctx : Context ) extends TypeComparer (initctx) {
2251 import MatchReducer .*
0 commit comments