Commit c96d847
committed
Introduce MatchTypeCaseSpec to categorize match type cases.
For now, we only have `SubTypeTest` and `LegacyPatMat`.
* `SubTypeTest` is used when there is no type capture.
* `LegacyPatMat` is used when there are captures.
In the match type reduction algorithm, we already have a simpler
path for `SubTypeTest`.
The `LegacyPatMat` path is basically the same as before, but with
static knowledge that we have an `HKTypeLambda`.1 parent 8a3fc7a commit c96d847
File tree
3 files changed
+61
-34
lines changed- compiler/src/dotty/tools/dotc/core
3 files changed
+61
-34
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
16 | | - | |
| 15 | + | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | | - | |
| 57 | + | |
58 | 58 | | |
59 | 59 | | |
60 | | - | |
| 60 | + | |
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
83 | 86 | | |
84 | 87 | | |
85 | 88 | | |
86 | 89 | | |
87 | 90 | | |
88 | 91 | | |
89 | | - | |
| 92 | + | |
90 | 93 | | |
91 | 94 | | |
92 | 95 | | |
| |||
116 | 119 | | |
117 | 120 | | |
118 | 121 | | |
119 | | - | |
| 122 | + | |
120 | 123 | | |
121 | 124 | | |
122 | 125 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3197 | 3197 | | |
3198 | 3198 | | |
3199 | 3199 | | |
3200 | | - | |
| 3200 | + | |
3201 | 3201 | | |
3202 | 3202 | | |
3203 | 3203 | | |
| |||
3238 | 3238 | | |
3239 | 3239 | | |
3240 | 3240 | | |
3241 | | - | |
3242 | | - | |
3243 | | - | |
3244 | | - | |
3245 | | - | |
3246 | | - | |
3247 | | - | |
3248 | | - | |
| 3241 | + | |
| 3242 | + | |
| 3243 | + | |
| 3244 | + | |
| 3245 | + | |
| 3246 | + | |
| 3247 | + | |
| 3248 | + | |
| 3249 | + | |
| 3250 | + | |
| 3251 | + | |
| 3252 | + | |
| 3253 | + | |
| 3254 | + | |
3249 | 3255 | | |
3250 | | - | |
| 3256 | + | |
| 3257 | + | |
| 3258 | + | |
| 3259 | + | |
| 3260 | + | |
3251 | 3261 | | |
3252 | 3262 | | |
3253 | 3263 | | |
| |||
3261 | 3271 | | |
3262 | 3272 | | |
3263 | 3273 | | |
3264 | | - | |
3265 | | - | |
3266 | | - | |
3267 | | - | |
3268 | | - | |
3269 | | - | |
3270 | | - | |
3271 | | - | |
3272 | | - | |
3273 | | - | |
3274 | | - | |
3275 | | - | |
3276 | | - | |
3277 | | - | |
| 3274 | + | |
| 3275 | + | |
| 3276 | + | |
| 3277 | + | |
| 3278 | + | |
| 3279 | + | |
| 3280 | + | |
| 3281 | + | |
| 3282 | + | |
| 3283 | + | |
3278 | 3284 | | |
3279 | | - | |
| 3285 | + | |
3280 | 3286 | | |
3281 | 3287 | | |
3282 | 3288 | | |
| |||
3286 | 3292 | | |
3287 | 3293 | | |
3288 | 3294 | | |
3289 | | - | |
| 3295 | + | |
3290 | 3296 | | |
3291 | | - | |
| 3297 | + | |
3292 | 3298 | | |
3293 | 3299 | | |
3294 | 3300 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5036 | 5036 | | |
5037 | 5037 | | |
5038 | 5038 | | |
5039 | | - | |
| 5039 | + | |
5040 | 5040 | | |
5041 | 5041 | | |
5042 | 5042 | | |
| |||
5088 | 5088 | | |
5089 | 5089 | | |
5090 | 5090 | | |
| 5091 | + | |
| 5092 | + | |
| 5093 | + | |
| 5094 | + | |
| 5095 | + | |
| 5096 | + | |
| 5097 | + | |
| 5098 | + | |
| 5099 | + | |
| 5100 | + | |
| 5101 | + | |
| 5102 | + | |
| 5103 | + | |
| 5104 | + | |
| 5105 | + | |
| 5106 | + | |
| 5107 | + | |
| 5108 | + | |
5091 | 5109 | | |
5092 | 5110 | | |
5093 | 5111 | | |
| |||
0 commit comments