This is a meta-issue for tracking progress towards "why not promoted" functionality for the Dart toolchain. It comprises the following arcs of work: - [x] core flow analysis API to provide non-promotion reasons to front ends (implemented in a42244f73b27256eca44def4daa552e91c2dbc55) - [ ] full implementation of core algorithm (provide non-promotion reasons in all circumstances): #44898 - [ ] explore the possibility of showing the user promotion *attempt* locations: #44899 - [ ] establish documentation links for non-promotion reasons: #44900 - [x] make "why not promoted" information more discoverable in IntelliJ: #44901 - [x] expose "why not promoted" information in VS Code: https://github.com/Dart-Code/Dart-Code/issues/3136 - [x] expose "why not promoted" information in DartPad: https://github.com/dart-lang/dart-pad/issues/1676 - [x] expose "why not promoted" information in Cider: [b/179781271](https://b.corp.google.com/issues/179781271) - [ ] make "why not promoted" information more discoverable in command-line analyzer: #44904 - [ ] make "why not promoted" information more discoverable in dartanalyzer tool #45546 - [ ] expose "why not promoted" information during internal builds: [b/179782591](https://b.corp.google.com/issues/179782591) - [x] test.py error tests should support context messages from the CFE: #44872 - [ ] test.py error tests should support context messages from the analyzer: #44905 - [x] Add support to `dart analyze` for a JSON based output #45068 - [ ] analyzer integration tests to ensure that the data is being sent to clients (both LSP and legacy protocol): #44907
This is a meta-issue for tracking progress towards "why not promoted" functionality for the Dart toolchain. It comprises the following arcs of work:
dart analyzefor a JSON based output Add support todart analyzefor a JSON based output #45068