05ab41c99b0972e75086ecbc3f617ba9a36da372
I will soon be adding an API for generating summaries that generates them in one phase, as opposed to the current two-phase approach of building unlinked summaries and then linking them together. This is will be needed in order to support full type inference of summaries, since full type inference requires examining the contents of block-bodied closures, and it's not worth the effort of trying serialize the contents of block-bodied closures into unlinked summaries. To prepare for this, the summary tests need to be generalized so that during the transition period they will be able to be run with either API. This CL introduces several classes in a new `test_strategies.dart` file: - Interfaces `SummaryBaseTestStrategy`, `SummaryBlackBoxTestStrategy`, and `SummaryLinkerTestStrategy`. These interfaces define the methods that can be invoked by tests of the summary mechanism. - Implementations of those interfaces: `SummaryBlackBoxTestStrategyPrelink`, `SummaryBlackBoxTestStrategyTwoPhase`, and `SummaryLinkerTestStrategyTwoPhase`. These classes provide the ability to drive the summary mechanism in various ways. When the one-phase API is added, more classes will be added to drive it. - A few private classes occupying intermediate positions in the class hierarchy, as well as auxiliary data structures needed by the above classes. The tests themselves have been moved into mixin classes so that they can be applied to any of the implementations above. Change-Id: Iac3585944297f78f184d35de544aa4c8d8abe99a Reviewed-on: https://dart-review.googlesource.com/72320 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Paul Berry <paulberry@google.com>
…
…
…
…
…
…
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
Description
Languages
Dart
84.6%
C++
13%
Python
0.7%
JavaScript
0.5%
HTML
0.4%
Other
0.5%