blob: 10e40cf997fb8bd84687e58402a2c5f79877a00f [file] [log] [blame] [view] [edit]
# SDK development code analysis
_dartanalyzer_ used to be the tool for statically analyzing dart code
at the command line. However, this tool [has been replaced][] with
`dart analyze` for this purpose in current SDKs and will no longer
be published on pub.
**Do not** depend on the command line interface or other semantics in
this directory as it is now an internal tool for SDK development, used
as the `dart2analyzer` "compiler" for `tools/test.py` in the SDK.
It is configured as part of the test runner,
[here](https://github.com/dart-lang/sdk/blob/main/pkg/test_runner/lib/src/compiler_configuration.dart).
## SDK development usage
For SDK development, run analysis from the test tool to validate analysis
conclusions on language samples in the testing directory.
From the root of the SDK:
```
tools/test.py --build --use-sdk -c dart2analyzer co19 language
```
This will build the Dart VM and compile dartanalyzer into a snapshot, then use
that snapshot while analyzing those directories under `testing/`. Without
`--use-sdk`, test.py will use the source code version of the analyzer
instead of the compiled one, which can be useful for debugging.
[has been replaced]: https://github.com/dart-lang/sdk/issues/48457