Add new nullability propagation logic based on the NullabilityGraph.

For now, we verify that the new logic produces the same results as the
old logic.  In follow-up CLs, the old nullability propagation logic
will be removed.

Change-Id: I2004067093e1f5a5cdf51786ed409058707c4a49
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102384
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
3 files changed
tree: 4e63bdea7e45f905336a0a6cdb2d117bdb7d15a1
  1. .clang-format
  2. .gitattributes
  3. .gitconfig
  4. .github/
  5. .gitignore
  6. .gn
  7. .mailmap
  8. .packages
  9. .vpython
  10. AUTHORS
  11. BUILD.gn
  12. CHANGELOG.md
  13. CONTRIBUTING.md
  14. DEPS
  15. LICENSE
  16. PATENTS
  17. PRESUBMIT.py
  18. README.dart-sdk
  19. README.md
  20. WATCHLISTS
  21. build/
  22. client/
  23. codereview.settings
  24. docs/
  25. pkg/
  26. runtime/
  27. samples-dev/
  28. samples/
  29. sdk/
  30. tests/
  31. third_party/
  32. tools/
  33. utils/
README.md

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.

License & patents

See LICENSE and PATENTS.