# dartanalyzer

_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).

## Basic usage

Run `dartanalyzer` 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_2 language_2
```

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 `dartanalyzer`
instead of the compiled one, which can be useful for debugging.

# 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_2 language_2
```

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
Tweak dartanalyzer readme now that the package is only intended for internal use
Tweak dartanalyzer readme now that the package is only intended for internal use

Change-Id: I0a6fc0a146205415a6dd6283f7d21e2c5224585f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251763
Reviewed-by: Brian Wilkerson <1f7641b6b14c52b9163524ab8d9aabff80176f21@google.com>
