Files
sdk/pkg/analyzer_cli
Robert Nystrom d9bb487ca8 Treat the expect and async_helper packages as opted in to NNBD.
This should enable strong mode tests to be fully NNBD opted in. At the
same time, legacy tests when run with the experiment off should
hopefully be able to still consume these libraries because they don't
actually use any NNBD features.

To do this, I changed the script that generates the SDK repo's package
config to not put in a language version for any package whose pubspec
has no SDK version. According to language versioning, that means the
package should be considered to be at the "current" version of the SDK
running the code.

In NNBD, that's opted in. With the experiment off, that is (presumably)
"opted out" in the sense that NNBD doesn't exist.

In order to *not* opt in some of the other packages that currently
lack SDK constraints, I put those in and pinned them to "^2.7.0" which
was what the package config script used to implicitly fill in for them.

I see a bunch of other changes in the generated package config too. The
update script probably hasn't been run in a while.

Change-Id: I55193d42eac0696a6b0105546551efa45a1f3252
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144305
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2020-04-27 21:04:56 +00:00
..
2020-04-15 18:36:52 +00:00
2017-02-10 12:47:06 -08:00
2015-11-19 14:52:54 -08:00
2018-10-25 14:19:31 +00:00

dartanalyzer

Use dartanalyzer to statically analyze your code at the command line, checking for errors and warnings that are specified in the Dart Language Specification. DartPad, code editors, and IDEs such as Android Studio and VS Code use the same analysis engine that dartanalyzer uses.

Basic usage

Run the analyzer from the top directory of the package. Here's an example of testing a Dart file.

dartanalyzer bin/test.dart

Options

The following are the most commonly used options for dartanalyzer:

  • --packages=
    Specify the path to the package resolution configuration file. For more information see Package Resolution Configuration File. This option cannot be used with --package-root.

  • --package-warnings
    Show warnings not only for code in the specified .dart file and others in its library, but also for libraries imported with package:.

  • --options=
    Specify the path to an analysis options file.

  • --lints
    Show the results from the linter.

  • --no-hints
    Don't show hints for improving the code.

  • --ignore-unrecognized-flags
    Rather than printing the help message, ignore any unrecognized command-line flags.

  • --version
    Show the analyzer version.

  • -h or --help
    Show all the command-line options.

The following are advanced options to use with dartanalyzer:

  • -b or --batch
    Run in batch mode.

  • --dart-sdk=
    Specify the directory that contains the Dart SDK.

  • --fatal-warnings
    Except for type warnings, treat warnings as fatal.

  • --format=machine
    Produce output in a format suitable for parsing.

  • --url-mapping=libraryUri,/path/to/library.dart
    Tells the analyzer to use the specified library as the source for that particular import.

The following options are deprecated:

  • --package-root=
    Deprecated. Specify the directory to search for any libraries that are imported using package:. This option is replaced as of Dart 1.12 with --packages.