Find a file
Mike Fairhurst 60ee2c0dcd Fix #30858, generic function types not serializable when const.
Previously declaring for instance const lists (or even final lists) of
generic function types ie `final x = <void Function()>[]` would throw
errors during summarization.

The type parameters don't seem correctly stored yet, but that is an
edge case. Left a TODO, for now this should go in to prevent the
analyzer crash.

One thing I changed as well is that `serializeType` assumed it was
getting a type name, and `serializeTypeName` accepted types but threw
when it didn't get a type name. I flipped the names so that
`serializeTypeName` accepts a type name and `serializeType` accepts a
type in general and decides whether its a type name or a generic
function type to proceed with specialization.

Bug: 30858
Change-Id: Id128f8625cbf03bb94d05ff0efdbac3b158e637e
Reviewed-on: https://dart-review.googlesource.com/20481
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-01-08 23:55:54 +00:00
build Revert "[infra] Roll clang toolchain forward" 2018-01-06 08:27:09 +00:00
client Remove old annotated_steps buildbot scripts and dispatcher 2017-05-23 16:17:02 +02:00
docs Now specifying void return type for setters and operator []= 2018-01-08 12:38:22 +00:00
pkg Fix #30858, generic function types not serializable when const. 2018-01-08 23:55:54 +00:00
runtime Finish the kernel2kernel "constants" transformation by fixing a whole bunch of issues 2018-01-08 19:56:24 +00:00
samples [vm/testing] Make --strong -c dartk configuration a Dart 2.0 configuration. 2017-12-12 12:19:10 +00:00
samples-dev Spelling fixes e to i. 2017-06-24 13:41:39 +02:00
sdk Fix return type of Base64Codec.decode to say Uint8List. 2018-01-08 13:27:02 +00:00
tests Fix kernel precompiled test status after assertion test change. 2018-01-08 22:44:12 +00:00
third_party [infra] Use Clang for ia32 and arm64. Use the dl'd sysroots by default. 2017-12-02 06:19:33 +00:00
tools [infra] Add a GN flag to omit git information 2018-01-08 18:29:44 +00:00
utils fixes #31575, DDC kernel backend can now compile the SDK to JS 2018-01-05 21:32:50 +00:00
.clang-format VM: Re-format to use at most one newline between functions 2017-07-13 08:08:37 -07:00
.gitattributes Migrate the lingering language_strong tests over to language_2. 2017-10-27 23:44:08 +00:00
.gitignore Git ignore vscode project files. 2017-03-23 15:26:06 -07:00
.gn Starting work on full GN build 2016-09-23 07:47:36 -07:00
.mailmap
.packages Bring dart_style 1.0.9 into the repo and update its dependencies. 2018-01-05 22:36:08 +00:00
AUTHORS Add Cristian Almstrand to AUTHORS 2015-07-16 09:51:56 -07:00
BUILD.gn Allow the host toolchain to be set via a simple variable. 2017-11-06 19:06:18 +00:00
CHANGELOG.md Fix return type of Base64Codec.decode to say Uint8List. 2018-01-08 13:27:02 +00:00
codereview.settings Update codereview.settings to Gerrit (dart-review.googlesource.com) 2017-09-04 12:52:09 +00:00
DEPS [infra] Add and check 'allowed_hosts' in DEPS file 2018-01-08 18:31:24 +00:00
LICENSE Remove the Dromaeo and TodoMVC samples. 2016-01-11 13:09:26 -08:00
PATENTS
PRESUBMIT.py [infra] Add and check 'allowed_hosts' in DEPS file 2018-01-08 18:31:24 +00:00
README.dart-sdk remove docgen from the sdk 2015-09-18 13:18:10 -07:00
README.md [gardening] Whitespace change to trigger bots. 2017-04-28 10:08:58 -07:00
WATCHLISTS Creates a watchlist for sdk/lib/_http and adds me to it 2018-01-02 18:39:53 +00:00

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.