commit | 9179db84df989bf6ebcb9927187ef6882edd265a | [log] [tgz] |
---|---|---|
author | Paul Berry <paulberry@google.com> | Tue Jun 26 23:32:48 2018 +0000 |
committer | commit-bot@chromium.org <commit-bot@chromium.org> | Tue Jun 26 23:32:48 2018 +0000 |
tree | 810435ea77794fc1a2357f61fbe85780797008c1 | |
parent | c53952a46d4027ee5170c09a66e5f7f4513b1c37 [diff] |
Resynthesize typedef types properly from kernel. I broke this functionality when I refactored FunctionTypeImpl into lazy and strict variants; this CL restores it and simplifies it. This CL also adds a new method to the analyzer API: FunctionTypeAliasElement.instantiate(), to allow a client to supply type arguments to a typedef (as one would at a site where the typedef is used), to produce a type. Putting the method in FunctionTypeAliasElement helps move us toward an API that distinguishes type "constructors" from types (a generic typedef defines not just one type but a family of types; to obtain a type one must instantiate the typedef by supplying type arguments). Change-Id: I722db2befe2d54fd53d625ddba0dec856a555a7b Reviewed-on: https://dart-review.googlesource.com/62282 Commit-Queue: Paul Berry <paulberry@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@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.