dart-sdk/pkg/front_end
Jens Johansen f190a4ae27 [CFE] Change sorting in textual outline
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>
2020-08-21 09:55:00 +00:00
..
benchmarks/ikg
lib/src [CFE] Change sorting in textual outline 2020-08-21 09:55:00 +00:00
parser_testcases [parser] Better error message for annotations on type arguments 2020-08-17 07:43:52 +00:00
test [CFE] Change sorting in textual outline 2020-08-21 09:55:00 +00:00
testcases [CFE] Change sorting in textual outline 2020-08-21 09:55:00 +00:00
tool Update FeatureSet to the new rules. 2020-08-19 18:27:37 +00:00
analysis_options.yaml
analysis_options_no_lints.yaml [cfe] Add predicates to detect late lowered fields. 2020-05-19 08:55:20 +00:00
error_recovery.yaml
LICENSE
messages.status [cfe] Update messages for failures to opt in to non-nullable experiment 2020-08-14 09:01:07 +00:00
messages.yaml [parser] Better error message for annotations on type arguments 2020-08-17 07:43:52 +00:00
PRESUBMIT.py
pubspec.yaml update the pubspec.yaml files to reflect actual package usage 2020-08-20 16:08:59 +00:00
README.md
testing.json [CFE] Add _fe_analyzer_shared to CFE's 'analyze' test 2020-06-09 06:28:37 +00:00
testing_with_lints.json [kernel] Add DartType.toTypeText and Constant.toConstantText 2020-05-18 11:48:20 +00:00

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.