mirror of
https://github.com/dart-lang/sdk
synced 2024-09-05 00:13:50 +00:00
![]() This CL changes the way linker type inference works. Instead of walking the operations in an UnlinkedExpr in order and inferring types directly, it first builds an AST for the expression using ExprBuilder, then uses ResolverVisitor to resolve the AST and perform type inference. This helps ensure that summary type inference and ordinary AST-based type inference produce the same result, since they now use the same core algorithm. In particular, this means that summary type inference now does downwards inference properly. Since the ResolverVisitor makes greater use of the element model than the rest of the linker, this required implementing additional methods in the linker's element model. This CL includes some minor fixes to ExprBuilder that were uncovered during testing. It also contains some minor changes to ResolverVisitor to make it work during linking. Fixes #32525. Fixes #32394. Change-Id: I5ec9b2bf5565ad30b8cc856475334323dc118da8 Reviewed-on: https://dart-review.googlesource.com/48741 Commit-Queue: Paul Berry <paulberry@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com> |
||
---|---|---|
build | ||
client | ||
docs | ||
pkg | ||
runtime | ||
samples | ||
samples-dev | ||
sdk | ||
tests | ||
third_party | ||
tools | ||
utils | ||
.clang-format | ||
.gitattributes | ||
.gitignore | ||
.gn | ||
.mailmap | ||
.packages | ||
AUTHORS | ||
BUILD.gn | ||
CHANGELOG.md | ||
codereview.settings | ||
dartdoc_options.yaml | ||
DEPS | ||
LICENSE | ||
PATENTS | ||
PRESUBMIT.py | ||
README.dart-sdk | ||
README.md | ||
WATCHLISTS |
Dart
Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.
Using Dart
Visit the dartlang.org to learn more about the language, tools, getting started, and more.
Browse pub.dartlang.org for more packages and libraries contributed by the community and the Dart team.
Building Dart
If you want to build Dart yourself, here is a guide to getting the source, preparing your machine to build the SDK, and building.
There are more documents on our wiki.
Contributing to Dart
The easiest way to contribute to Dart is to file issues.
You can also contribute patches, as described in Contributing.