mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 01:21:07 +00:00
524a7da141
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 . |
||
---|---|---|
.. | ||
analysis_server | ||
analyzer | ||
analyzer_cli | ||
async_helper | ||
browser | ||
compiler | ||
dart2js_incremental/lib | ||
dart_messages | ||
dev_compiler | ||
expect | ||
js | ||
js_ast | ||
lookup_map | ||
meta | ||
microlytics | ||
typed_mock | ||
.gitignore | ||
BUILD.gn | ||
pkg.status | ||
pkg_files.gyp | ||
pkgbuild.status |