Find a file
Dan Rubel 1231e90fee Code complete identifiers not directly referenced by the analyzer AST
The fasta parser sometimes "drops" unexpected tokens during recovery.
When this happens, the dropped or skipped token is not reported to
the listeners, and thus does not become part of the analyzer's AST.
These tokens are still in the token stream, but will not be found
by the existing CompletionTarget mechanism.

For example, the fasta parser parses
'if (v i) {}' as 'if (v) {}' and drops the 'i' token.

This CL introduces a new CompletionTarget.droppedToken field.
If a keyword or identifier has been dropped by the parser,
but overlaps the code completion offset, then that token
is placed into this new field.

In the example above, when code completing the 'i',
the CompletionTarget will now be
containingNode = '(v)'
entity         = ')'
droppedToken   = 'i'

Change-Id: I15e43529ab4a72de9500c521be278fa13ae68d99
Reviewed-on: https://dart-review.googlesource.com/31285
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-12-22 21:55:35 +00:00
build [GN] Fix gn_run_binary.py for different error 2017-12-19 20:30:58 +00:00
client Remove old annotated_steps buildbot scripts and dispatcher 2017-05-23 16:17:02 +02:00
docs Change wording on main functions. 2017-12-19 11:54:22 +00:00
pkg Code complete identifiers not directly referenced by the analyzer AST 2017-12-22 21:55:35 +00:00
runtime [gen_snapshot] Do not add any dependency file in the kernel flow. 2017-12-22 21:07:44 +00:00
samples [vm/testing] Make --strong -c dartk configuration a Dart 2.0 configuration. 2017-12-12 12:19:10 +00:00
samples-dev Spelling fixes e to i. 2017-06-24 13:41:39 +02:00
sdk [GN] In Fuchsia build, use symlink for host dart-sdk/bin/dart copy 2017-12-21 19:34:41 +00:00
tests [language tests] Fix 2 strong mode tests related to covariant tear-offs. 2017-12-22 20:33:36 +00:00
third_party [infra] Use Clang for ia32 and arm64. Use the dl'd sysroots by default. 2017-12-02 06:19:33 +00:00
tools [Infra] Delete generated compilations for dartk/dartkp compilers as well 2017-12-21 16:18:21 +00:00
utils bazel worker fixes: add flag to set multi-root-scheme, resolve input uris correctly 2017-12-21 19:49:11 +00:00
.clang-format VM: Re-format to use at most one newline between functions 2017-07-13 08:08:37 -07:00
.gitattributes Migrate the lingering language_strong tests over to language_2. 2017-10-27 23:44:08 +00:00
.gitignore Git ignore vscode project files. 2017-03-23 15:26:06 -07:00
.gn Starting work on full GN build 2016-09-23 07:47:36 -07:00
.mailmap Add .mailmap file. 2015-05-18 19:33:16 +02:00
.packages Bring in the latest pub 2017-12-21 04:22:52 +00:00
AUTHORS Add Cristian Almstrand to AUTHORS 2015-07-16 09:51:56 -07:00
BUILD.gn Allow the host toolchain to be set via a simple variable. 2017-11-06 19:06:18 +00:00
CHANGELOG.md Bring in the latest pub 2017-12-21 04:22:52 +00:00
codereview.settings Update codereview.settings to Gerrit (dart-review.googlesource.com) 2017-09-04 12:52:09 +00:00
DEPS Bump dependency on shelf_static 2017-12-21 18:12:41 +00:00
LICENSE Remove the Dromaeo and TodoMVC samples. 2016-01-11 13:09:26 -08:00
PATENTS Move LICENSE, AUTHORS, PATENTS into the dart directory. 2014-02-10 06:48:47 +00:00
PRESUBMIT.py Normalize all status files and enable presubmit hook. 2017-12-07 08:38:30 +00:00
README.dart-sdk remove docgen from the sdk 2015-09-18 13:18:10 -07:00
README.md [gardening] Whitespace change to trigger bots. 2017-04-28 10:08:58 -07:00
WATCHLISTS Remove turnidge@ from WATCHLISTS =( 2017-11-02 16:53:10 +00:00

Dart

Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.

Using Dart

Visit the dartlang.org to learn more about the language, tools, getting started, and more.

Browse pub.dartlang.org for more packages and libraries contributed by the community and the Dart team.

Building Dart

If you want to build Dart yourself, here is a guide to getting the source, preparing your machine to build the SDK, and building.

There are more documents on our wiki.

Contributing to Dart

The easiest way to contribute to Dart is to file issues.

You can also contribute patches, as described in Contributing.

License & patents

See LICENSE and PATENTS.