dart-sdk/pkg
Paul Berry 524a7da141 Rewrite DeclarationResolver to match declarations to elements by order rather than offset.
Previously, DeclarationResolver matched declarations to elements using their offsets in the file.  This meant that it could not work with element models built from a summary, since those element models are not guaranteed to contain offsets.  Now, DeclarationResolver assumes that elements appear in the same order in the element model as they do in the file, so it can just match them up using their order.

DeclarationResolver continues to verify element names as it does its matching, so if the ordering of elements ever fails to match up with the ordering of declarations, an exception is almost certain to be thrown.  (The only time it wouldn't be is if the mismatch can't be detected due to multiple elements having the same name).

The new implementation is ~1.6x faster than the previous one.

R=brianwilkerson@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/2419633002 .
2016-10-13 12:24:54 -07:00
..
analysis_server Replace expect() with outOfTestExpect() in Analysis Server performance benchmark. 2016-10-12 12:57:03 -07:00
analyzer Rewrite DeclarationResolver to match declarations to elements by order rather than offset. 2016-10-13 12:24:54 -07:00
analyzer_cli skip comments in benchmark code 2016-10-11 11:17:23 -07:00
async_helper
browser
compiler Create entrypoint to measure performance of the dart2js frontend 2016-10-10 14:47:29 -07:00
dart2js_incremental/lib dart2js: fix tests after moving to .packages in the SDK repo 2016-09-16 12:07:31 -07:00
dart_messages Adds status entries for initializing_formal tests. 2016-06-08 10:50:33 +02:00
dev_compiler Start cleaning up the HTML tests. 2016-10-13 08:47:27 -07:00
expect Start cleaning up the HTML tests. 2016-10-13 08:47:27 -07:00
js Added js import to sample code. (#26985) 2016-08-22 09:20:06 -07:00
js_ast
lookup_map
meta support @virtual fields, fix #27384 2016-09-19 09:45:24 -07:00
microlytics
typed_mock Updated build files for Fuchsia. 2016-10-11 12:17:15 -07:00
.gitignore
BUILD.gn Use list_dart_files.py instead of list_files.py in GN build. 2016-10-05 07:50:40 -07:00
pkg.status suppress perf_test where it is not meant to run (forgot to include this in the 2016-10-10 15:26:41 -07:00
pkg_files.gyp Tweak how the pkg files timestamps are created. 2016-10-04 16:56:12 -07:00
pkgbuild.status Fix pkgbuild path for dev_compiler 2016-09-09 15:16:44 -07:00