Find a file
Alexander Markov 73b265e348 [VM/AOT] Fix handling of errors from compiling static initializers
* CompileStaticInitializer() should check result of Compile()
  and should not leave sticky error. If left, this sticky error
  could be picked up by compilation of some unrelated static
  initializer. Also, assertions are added to make sure that code
  which explicitly or implicitly relies on sticky errors is not
  getting an error on entry.

* CompileStaticInitializerIgnoreErrors() clears sticky errors to
  ignore them.

* Added inline bailout reason for cyclic static fields.
  This guards against inlining of code which uses a field into static
  initializer. This code might not be called so it should not trigger
  compilation error eagerly.

Change-Id: I52da6f4cd05556125fd1a628b665dcc11621a4f7
Reviewed-on: https://dart-review.googlesource.com/28523
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2017-12-12 19:29:08 +00:00
build [infra] Use Clang for ia32 and arm64. Use the dl'd sysroots by default. 2017-12-02 06:19:33 +00:00
client
docs Update FutureOr for Dart 2. 2017-12-07 19:36:42 +00:00
pkg Support extractTypeArguments() in 1.0 mode on the VM and dart2js. 2017-12-12 19:04:18 +00:00
runtime [VM/AOT] Fix handling of errors from compiling static initializers 2017-12-12 19:29:08 +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
sdk [dart:io] Adds waitForEventSync 2017-12-12 19:12:58 +00:00
tests [VM/AOT] Fix handling of errors from compiling static initializers 2017-12-12 19:29:08 +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 Support extractTypeArguments() in 1.0 mode on the VM and dart2js. 2017-12-12 19:04:18 +00:00
utils Fix error in dev compiler build script 2017-12-12 12:27:23 +00:00
.clang-format
.gitattributes Migrate the lingering language_strong tests over to language_2. 2017-10-27 23:44:08 +00:00
.gitignore
.gn
.mailmap
.packages Here's a start at exposing an API to address https://github.com/dart-lang/sdk/issues/31371. 2017-12-08 21:57:00 +00:00
AUTHORS
BUILD.gn Allow the host toolchain to be set via a simple variable. 2017-11-06 19:06:18 +00:00
CHANGELOG.md Add type parameter to Isolate.spawn. 2017-12-04 07:11:44 +00:00
codereview.settings
DEPS Upgrade test_reflective_loader to 0.1.3 2017-12-08 21:28:10 +00:00
LICENSE
PATENTS
PRESUBMIT.py Normalize all status files and enable presubmit hook. 2017-12-07 08:38:30 +00:00
README.dart-sdk
README.md
WATCHLISTS Remove turnidge@ from WATCHLISTS =( 2017-11-02 16:53:10 +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.