commit | ae9b0c42d7098c81befe8d353f5eafa9a7ba1790 | [log] [tgz] |
---|---|---|
author | Paul Berry <paulberry@google.com> | Fri Dec 15 20:41:43 2017 +0000 |
committer | commit-bot@chromium.org <commit-bot@chromium.org> | Fri Dec 15 20:41:43 2017 +0000 |
tree | d336608b0cf9a6ae5c59f4c7ef50c29747bfbd4f | |
parent | 6e8ddcfe3e08969f1554aa106c7503d411af7b3b [diff] |
Add type inference code to generate Instantiation nodes. Fixes #31586. Note that none of the back-ends handle Instantiation nodes yet, so the language_2 tests added in this CL (instantiate_tearoff_after_contravariance_check_test, instantiate_tearoff_of_call_test, and instantiate_tearoff_test) fail pretty much across the board right now. Includes two fixes to Instantiation.getStaticType and the kernel type checker: - Previously, they attempted to perform substitution on the full function type, which had no effect because the type parameters were bound. - The type checker was not checking that type parameter bounds were satisfied. Note that the front end doesn't yet check that type parameter bounds are satisfied by the inferred type parameters. I will address that in a follow-up CL. Change-Id: Ib0ad7a5fc5f4a2fdc8c99abe1f2d3d15b21a4974 Reviewed-on: https://dart-review.googlesource.com/29744 Commit-Queue: Paul Berry <paulberry@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.
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.
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.
The easiest way to contribute to Dart is to file issues.
You can also contribute patches, as described in Contributing.