Files
sdk/pkg/analyzer
paulberry@google.com 1af1d868bd Use an interning table to compare and hash FileBasedSource objects.
Speeds up analysis by about 8%.

Note: the interning table uses both the file path and the URI to
distinguish FileBasedSource objects.  This should eliminate the
strange behaviors we would see in the rare case where a single URI
would get associated with multiple file paths (see dartbug.com/22555).

The interning table is never flushed over the lifetime of the
application.  In practice this should not be a problem, because it
only contains one entry per filename/URI, and the total number of
filenames/URIs analyzed during the course of execution should always
be small.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//954063002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44026 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-25 18:10:59 +00:00
..
2014-08-20 18:18:43 +00:00

This code is part of an experimental port of the Editor's analysis engine from Java to Dart. While we will continue to support the Java version of the analysis engine and the services built on it, we also intend to provide the same services to Dart-based applications. This is very early code and we expect it to change, possibly in significant ways. While we are eager to see other people make use of the analysis engine, we also want to be clear, in case you are interested in doing so, that the current API's should in no way be considered to be stable.

In particular, this code was automatically translated from the Java implementation. The Java implementation that was translated is still under development and will continue to change over time. The translator that was used is still under development and the output produced by the translator will change over time. Therefore, the API presented by this code will change. In addition, any edits made to this code will be overwritten the next time we re-generate this code.

If you are interested in using this code, despite the disclaimer above, fantastic! Please let the editor team know so that we can get a sense of the interest in it. Also, feel free to ask questions and make requests for additional functionality.