Find a file
Konstantin Shcheglov 6449e67c5d In getElementAtOffset() try first to find the element as if it is the nameOffset.
IntelliJ sends us the file and offset of the declaration of the element,
not the file and offset where the element is referenced (and where the
user actually requested search). It uses navigation information to do
this. Unfortunately this means that in the most case the unit that
defines the element is not a priority one, so we have to resolse it
from scratch. But we know that we are always given the name offset,
so we can look first into the element model and avoid performing
expensive unit resolution.

If the search is not successful, or the file is a priority one,
we use resolved unit anyway.

R=brianwilkerson@google.com

Change-Id: Ic6a32d3d8f9e61b245b1dd9f7fdf626c809f5fd5
Reviewed-on: https://dart-review.googlesource.com/58322
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-06-04 21:14:49 +00:00
.github Add an issue template to the SDK 2018-04-05 13:05:09 +00:00
build [vm] Roll boringssl to 189270cd190267f5bd60cfe8f8ce7a61d07ba6f4 2018-05-24 22:04:30 +00:00
client Remove old annotated_steps buildbot scripts and dispatcher 2017-05-23 16:17:02 +02:00
docs TBR: Typos fixed 2018-06-01 15:15:32 +00:00
pkg In getElementAtOffset() try first to find the element as if it is the nameOffset. 2018-06-04 21:14:49 +00:00
runtime Revert "Make --sync-async the default for the VM." 2018-06-04 21:04:20 +00:00
samples [infra] Keep comments intact when updating status files. 2018-04-10 19:03:21 +00:00
samples-dev Make cast do the same things as retype. 2018-05-09 08:00:08 +00:00
sdk [vm] Remove --limit-ints-to-64-bits option and old _Bigint class 2018-06-04 20:10:40 +00:00
tests Track always-initialized-to-null fields 2018-06-04 21:05:01 +00:00
third_party [vm] Roll tcmalloc forward 2018-05-15 21:07:57 +00:00
tools [vm] Remove --limit-ints-to-64-bits option and old _Bigint class 2018-06-04 20:10:40 +00:00
utils Switch dart2js to use dart 2 vm. 2018-05-31 19:44:36 +00:00
.clang-format VM: Re-format to use at most one newline between functions 2017-07-13 08:08:37 -07:00
.gitattributes [infra] Add config for custom hunk text when using git diff on status files 2018-05-31 13:56:45 +00:00
.gitconfig [infra] Add config for custom hunk text when using git diff on status files 2018-05-31 13:56:45 +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 Add build_integration package and move multi_root_file_system there. 2018-05-22 20:09:24 +00:00
AUTHORS Add Cristian Almstrand to AUTHORS 2015-07-16 09:51:56 -07:00
BUILD.gn [Observatory] Refactor observatory build to prepare for Fuchsia prebuilt 2018-05-29 16:35:34 +00:00
CHANGELOG.md Revert "Make --sync-async the default for the VM." 2018-06-04 21:04:20 +00:00
codereview.settings Update codereview.settings to Gerrit (dart-review.googlesource.com) 2017-09-04 12:52:09 +00:00
dartdoc_options.yaml Update dartdoc to v0.18.0 and tag library categories. 2018-03-27 16:19:34 +00:00
DEPS Upgrade mockito to latest version. 2018-06-01 19:32:13 +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 Fix presubmit on Windows. Dart executable is not called .bat 2018-05-02 08:40:59 +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 Creates a watchlist for sdk/lib/_http and adds me to it 2018-01-02 18:39:53 +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.