mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 14:32:24 +00:00
8da75ede06
Patterns may need to be visited twice during analysis: once to determine a type schema, and a second type to resolve the pattern match. Previously, the shared TypeAnalyzer had just a single `dispatchPattern` method, so it had to create temporary objects to record the structure of the patterns between the two visits. Now, there are two dispatch methods: `dispatchPatternSchema` and `dispatchPattern`. This avoids the creation of a bunch of temporary objects and makes the design much simpler. (Based on an idea from Brian Wilkerson) Change-Id: If10b6b7fb578594c3f660baa55d7e28123652638 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260282 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Paul Berry <paulberry@google.com> |
||
---|---|---|
.. | ||
benchmarks | ||
lib | ||
outline_extraction_testcases | ||
parser_testcases | ||
test | ||
testcases | ||
tool | ||
analysis_options.yaml | ||
analysis_options_no_lints.yaml | ||
error_recovery.yaml | ||
LICENSE | ||
messages.status | ||
messages.yaml | ||
OWNERS | ||
PRESUBMIT.py | ||
pubspec.yaml | ||
README.md | ||
testing.json | ||
testing_with_lints.json |
Front end for Dart
This package provides a low-level API for use by compiler back ends that wish to implement the Dart language. It is intended for eventual use by dev_compiler, dart2js, and the Dart VM. In addition, it will share implementation details with the analyzer package--this will be accomplished by having the analyzer package import (and re-export) parts of this package's private implementation.
End-users should use the dart analyze
command-line tool to analyze their Dart code.
Integrators that want to write tools that analyze Dart code should use the analyzer package.
Note: A previous version of this package was published on pub.dev. It has now been marked DISCONTINUED as it is not intended for direct consumption, as per the notes above.