dart-sdk/pkg/front_end
Dan Rubel e4c3fa0a9c Improve recovery when parsing named constructor invocation with invalid type arguments
The parser now generates a ConstructorWithTypeArguments error and a new
handleInvalidTypeArguments event after a begin/endTypeArguments event pair
when those type arguments are in a syntatically invalid location.

For example: `new C.n<int>();` in
```
class C<T> { T f; C.n() {} }
main() { var x = new C.n<int>(); }

Most listeners handle this event by dropping the invalid type arguments,
but AstBuilder now preserves those invalid type arguments in the AST
to support better code quick-fixes/quick-assists/refactoring.

Change-Id: I5b22bd4903cd9ee3645936b9a108598b603cf9ca
Reviewed-on: https://dart-review.googlesource.com/c/79300
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-10-11 19:57:22 +00:00
..
benchmarks/ikg Smaller changes to incremental_perf.dart, this is preparation for the flutter IKG perf benchmark 2017-11-17 10:34:12 +00:00
lib/src Improve recovery when parsing named constructor invocation with invalid type arguments 2018-10-11 19:57:22 +00:00
test Infer package URIs 2018-10-11 17:41:50 +00:00
testcases Improve recovery when parsing named constructor invocation with invalid type arguments 2018-10-11 19:57:22 +00:00
tool Infer package URIs 2018-10-11 17:41:50 +00:00
analysis_options.yaml Update analysis options 2018-09-07 09:10:37 +00:00
error_recovery.yaml Add error_recovery.yaml: a place to add scenarios we explicitly want to model in 2017-08-10 11:52:48 -07:00
LICENSE
messages.status Improve error message when var is used as a type name 2018-10-05 11:56:26 +00:00
messages.yaml Improve recovery when parsing named constructor invocation with invalid type arguments 2018-10-11 19:57:22 +00:00
pubspec.yaml Remove byte_store and performance_logger stubs 2018-10-08 12:03:38 +00:00
README.md Prepare for analyzer 0.32.0. 2018-05-14 18:07:02 +00:00
testing.json Fix broken 'fasta testing sdk'. 2018-09-27 13:08:47 +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.