f190a4ae27
This CL basically change two things about the sorting: * Entities are not sorted according to metadata. Metadata just follows along. Before "@a class B {}" would come before "class A {}" because "@" comes before "c". Now "class A {}" comes first because "A" < "B". * Sorting happens on a token level, i.e. "F<int>" will now come before "F2<int>" because "F" < "F2" whereas before it was the other way around because "F2" < "F<" (because "2" < "<"). None of it really matters as long as sorting is done the same way when comparing the outlines. Doing it this way makes it faster and actually brings the runtime (in benchmarks) less than the old (now deleted) textual outline. Change-Id: Ib1d887ab0c14519316c8e9a3da38f0dd49b4104f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159041 Commit-Queue: Jens Johansen <jensj@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com> |
||
---|---|---|
.. | ||
benchmarks/ikg | ||
lib/src | ||
parser_testcases | ||
test | ||
testcases | ||
tool | ||
analysis_options.yaml | ||
analysis_options_no_lints.yaml | ||
error_recovery.yaml | ||
LICENSE | ||
messages.status | ||
messages.yaml | ||
PRESUBMIT.py | ||
pubspec.yaml | ||
README.md | ||
testing.json | ||
testing_with_lints.json |
Front end for Dart
This package provides a low-level API for use by compiler back ends that wish to implement the Dart language. It is intended for eventual use by dev_compiler, dart2js, and the Dart VM. In addition, it will share implementation details with the analyzer package--this will be accomplished by having the analyzer package import (and re-export) parts of this package's private implementation.
End-users should use the [dartanalyzer][analyzercli] command-line tool to analyze their Dart code.
Integrators that want to write tools that analyze Dart code should use the [analyzer] package.
Note: The APIs in this package are in an early state; developers should be careful about depending on this package. In particular, there is no semver contract for release versions of this package. Please depend directly on individual versions.