sdk
                                
                                 sdk copied to clipboard
                                
                                    sdk copied to clipboard
                            
                            
                            
                        Migrate pkg/compiler to null safety
This issues tracks migrating dart2js (pkg/compiler) to null safety; see https://github.com/dart-lang/sdk/issues/49169 for the general dart-lang repo tracking meta issue.
(post migration tasks can be tracked using https://github.com/dart-lang/sdk/issues/48820)
Status as of 9/30/22 (files under pkg/compiler/lib/)
| migrated | total | % | |
|---|---|---|---|
| Files | 246 | 330 | 74.55% | 
| Lines | 92845 | 164412 | 56.47% | 
| Bytes | 3170147 | 5720789 | 55.41% | 
@sigmundch - Is there a tentative eta on when this might be done?
ETA is unclear at the moment.
Our initial goal was to complete this by November, however, recent high-priority internal demands on my team are taking our attention away from this. Our plan was to hold a team fixit once we reduce the pressure on the internal demands. Meanwhile, I only expect steady incremental progress.
Today's status:
| migrated | total | % | |
|---|---|---|---|
| Files | 255 | 333 | 76.58% | 
| Lines | 95922 | 164865 | 58.18% | 
| Bytes | 3282311 | 5737107 | 57.21% | 
Update: we continue to focus on other areas at the moment, but have made some progress. Current status:
| migrated | total | % | |
|---|---|---|---|
| Files | 270 | 342 | 78.95% | 
| Lines | 103498 | 166045 | 62.33% | 
| Bytes | 3550347 | 5779222 | 61.43% | 
Most remaining items are in the following subfolders: inferrer*, ssa, js_backend, js_emitter
inferrer folder is now migrated, ssa, js_backend, and js_emitter remain:
| migrated | total | % | |
|---|---|---|---|
| Files | 263 | 325 | 80.92% | 
| Lines | 111538 | 164707 | 67.72% | 
| Bytes | 3841046 | 5734266 | 66.98% | 
Lots of activity last week, updated stats on the pkg/compiler/lib/ folder:
| migrated | total | % | |
|---|---|---|---|
| Files | 287 | 324 | 88.58% | 
| Lines | 129623 | 164394 | 78.85% | 
| Bytes | 4459214 | 5728895 | 77.84% | 
Current status of the lib/ folder:
| migrated | total | % | |
|---|---|---|---|
| Files | 310 | 324 | 95.68% | 
| Lines | 145806 | 164884 | 88.43% | 
| Bytes | 5048289 | 5748555 | 87.82% | 
Most remaining work are a couple big cycles in the SSA folder and a few entry point files before we start triaging runtime failures with sound null safety and before we start migrating unit tests.
Current lib status:
| migrated | total | % | |
|---|---|---|---|
| Files | 314 | 323 | 97.21% | 
| Lines | 153633 | 166104 | 92.49% | 
| Bytes | 5339523 | 5796163 | 92.12% | 
Hey @sigmundch got any updates?
yes! @natebiggs pushed through and the lib migration is complete (100%) and the tests and tool folders are nearly complete (98% including data files that are likely to be kept unmigrated for test coverage purposes).
@natebiggs has a couple CLs in flight to enable sound null-safety for running the compiler both internally and in the sdk. He is on PTO this week, so I expect we will land them sometime in the next couple weeks.
Very cool, thanks!
Any updates @natebiggs ?
Ah yes forgot to update this bug, this is done!
WOOHOO 🥳, thanks!