dart-sdk/pkg/analyzer_cli
Danny Tuppeny 5e5fe2aa77 [analyzer_cli] [dartdev] Fix several tests on Windows
Some of the tests would write file paths (instead of URIs) into package_config.jsons, and another assumed memory usage of Dart processes was always low enough that the Memory column header would not be padded with extra spaces to account for wider numbers.

Change-Id: I630aa62a81e20502dc51667893ce099d01a7fad6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/307302
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2023-06-04 19:26:11 +00:00
..
bin Remove build mode from analyzer_cli. 2021-03-12 17:05:37 +00:00
lib Generate a diagnostic for language overrides prior to 2.12 2023-01-10 05:27:48 +00:00
test [analyzer_cli] [dartdev] Fix several tests on Windows 2023-06-04 19:26:11 +00:00
tool [analysis_server] Make CompilationUnit.lineInfo non-nullable 2022-03-03 06:59:00 +00:00
.gitignore Add intellij metadata to the repo. 2017-02-10 12:47:06 -08:00
analysis_options.yaml Enable new linter rules in analyzer packages 2022-11-21 23:02:38 +00:00
LICENSE Update LICENSE 2021-04-07 10:28:38 +00:00
OWNERS [infra] Add OWNERS to the Dart SDK 2022-02-14 14:06:34 +00:00
pubspec.yaml Enable language 3.0 for analyzer_cli/. 2023-04-06 19:04:38 +00:00
README.md Tweak dartanalyzer readme now that the package is only intended for internal use 2022-07-20 16:03:48 +00:00

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.

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.