Peter von der Ahé
04457122c0
Fix bad refactoring in quote.dart.
...
R=johnniwinther@google.com
Review-Url: https://codereview.chromium.org/2642763007 .
2017-02-01 12:27:35 +01:00
Peter von der Ahé
671eed2b06
Fasta parser listener infrastructure.
...
R=johnniwinther@google.com
Review-Url: https://codereview.chromium.org/2634543002 .
2017-02-01 12:27:35 +01:00
Peter von der Ahé
5a54125161
Fasta analyzer AST builder.
...
R=asgerf@google.com
Review-Url: https://codereview.chromium.org/2632663002 .
2017-02-01 12:27:35 +01:00
Peter von der Ahé
5851900c09
Fasta targets and loaders.
...
R=johnniwinther@google.com
Review-Url: https://codereview.chromium.org/2623033007 .
2017-02-01 12:27:35 +01:00
Peter von der Ahé
24a0111781
Implement correct scope of for-in expression.
...
R=karlklose@google.com
Review-Url: https://codereview.chromium.org/2642713002 .
2017-02-01 12:27:35 +01:00
Peter von der Ahé
53d47f9a87
Fasta kernel builders.
...
R=johnniwinther@google.com
Review-Url: https://codereview.chromium.org/2631693002 .
2017-02-01 12:27:35 +01:00
Peter von der Ahé
efbc1fcb34
Fasta dill builders.
...
R=johnniwinther@google.com
Review-Url: https://codereview.chromium.org/2628943007 .
2017-02-01 12:27:35 +01:00
Peter von der Ahé
a4c0fd32b6
Fasta scripts.
...
R=karlklose@google.com
Review-Url: https://codereview.chromium.org/2627023005 .
2017-02-01 12:27:35 +01:00
Peter von der Ahé
b98efcf98d
Fasta logging.
...
R=karlklose@google.com
Review-Url: https://codereview.chromium.org/2636523002 .
2017-02-01 12:27:35 +01:00
Peter von der Ahé
81c682c654
Fasta source builders.
...
R=johnniwinther@google.com
Review-Url: https://codereview.chromium.org/2627223005 .
2017-02-01 12:27:35 +01:00
Peter von der Ahé
f2a545adf0
Fasta builders.
...
R=johnniwinther@google.com
Review-Url: https://codereview.chromium.org/2629063005 .
2017-02-01 12:27:35 +01:00
Peter von der Ahé
4a85ae8691
Fasta outline builder.
...
R=asgerf@google.com
Review-Url: https://codereview.chromium.org/2633663002 .
2017-02-01 12:27:35 +01:00
Peter von der Ahé
7b77b6e403
Fasta kernel AST builder.
...
R=asgerf@google.com
Review-Url: https://codereview.chromium.org/2628043005 .
2017-02-01 12:27:35 +01:00
Peter von der Ahé
6e852cced2
Fasta infrastructure.
...
R=johnniwinther@google.com
Review-Url: https://codereview.chromium.org/2634453004 .
2017-02-01 12:27:35 +01:00
Peter von der Ahé
3d70457812
Add Fasta tests.
...
R=johnniwinther@google.com
Review-Url: https://codereview.chromium.org/2631613003 .
2017-02-01 12:27:35 +01:00
Peter von der Ahé
fa8301d55b
Add code review settings for fasta.
...
R=johnniwinther@google.com
Review-Url: https://codereview.chromium.org/2629573007 .
2017-02-01 12:27:35 +01:00
Peter von der Ahé
ee00e623d3
Add README.md for package:fasta.
...
R=johnniwinther@google.com
Review-Url: https://codereview.chromium.org/2629353002 .
2017-02-01 12:27:35 +01:00
Peter von der Ahé
d0d27c1c38
Use parser and scanner from package:front_end.
...
Originally reviewed as:
Review-Url: https://codereview.chromium.org/2650413002 .
Review-Url: https://codereview.chromium.org/2652203002 .
Review-Url: https://codereview.chromium.org/2655843002 .
Review-Url: https://codereview.chromium.org/2654433009 .
Review-Url: https://codereview.chromium.org/2647343003 .
Review-Url: https://codereview.chromium.org/2652663005 .
Review-Url: https://codereview.chromium.org/2650813002 .
Review-Url: https://codereview.chromium.org/2650803002 .
Review-Url: https://codereview.chromium.org/2651843004 .
Review-Url: https://codereview.chromium.org/2649923002 .
Review-Url: https://codereview.chromium.org/2651563003 .
Review-Url: https://codereview.chromium.org/2649123002 .
Review-Url: https://codereview.chromium.org/2644843006 .
Review-Url: https://codereview.chromium.org/2647043002 .
Review-Url: https://codereview.chromium.org/2642903003 .
Review-Url: https://codereview.chromium.org/2645513002 .
Review-Url: https://codereview.chromium.org/2642663003 .
Review-Url: https://codereview.chromium.org/2642713002 .
Review-Url: https://codereview.chromium.org/2635473002 .
Review-Url: https://codereview.chromium.org/2624373003 .
Review-Url: https://codereview.chromium.org/2627723006 .
Review-Url: https://codereview.chromium.org/2627093007 .
Review-Url: https://codereview.chromium.org/2629543008 .
Review-Url: https://codereview.chromium.org/2629543007 .
Review-Url: https://codereview.chromium.org/2631503002 .
Review-Url: https://codereview.chromium.org/2621153006 .
2017-02-01 10:29:25 +01:00
Peter von der Ahé
2a4bc2c7e5
Move parser, scanner, and link to front_end.
...
Originally reviewed as:
Review-Url: https://codereview.chromium.org/2650413002 .
Review-Url: https://codereview.chromium.org/2652203002 .
Review-Url: https://codereview.chromium.org/2655843002 .
Review-Url: https://codereview.chromium.org/2654433009 .
Review-Url: https://codereview.chromium.org/2647343003 .
Review-Url: https://codereview.chromium.org/2652663005 .
Review-Url: https://codereview.chromium.org/2650813002 .
Review-Url: https://codereview.chromium.org/2650803002 .
Review-Url: https://codereview.chromium.org/2651843004 .
Review-Url: https://codereview.chromium.org/2649923002 .
Review-Url: https://codereview.chromium.org/2651563003 .
Review-Url: https://codereview.chromium.org/2649123002 .
Review-Url: https://codereview.chromium.org/2644843006 .
Review-Url: https://codereview.chromium.org/2647043002 .
Review-Url: https://codereview.chromium.org/2642903003 .
Review-Url: https://codereview.chromium.org/2645513002 .
Review-Url: https://codereview.chromium.org/2642663003 .
Review-Url: https://codereview.chromium.org/2642713002 .
Review-Url: https://codereview.chromium.org/2635473002 .
Review-Url: https://codereview.chromium.org/2624373003 .
Review-Url: https://codereview.chromium.org/2627723006 .
Review-Url: https://codereview.chromium.org/2627093007 .
Review-Url: https://codereview.chromium.org/2629543008 .
Review-Url: https://codereview.chromium.org/2629543007 .
Review-Url: https://codereview.chromium.org/2631503002 .
Review-Url: https://codereview.chromium.org/2621153006 .
2017-02-01 10:29:25 +01:00
Paul Berry
b489ae5a5f
Simplify the API for incremental_resolved_ast_generator.
...
The use of a two-layer map will dovetail well with changes I have
planned for the AnalysisDriver.
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2665043003 .
2017-01-31 13:34:55 -08:00
Paul Berry
d8fc3630cf
Move resolveRelativeUri into front_end.
...
Note: I removed the exception wrapping code as part of the migration.
Rationale: this function performs a small task and has been operating
successfully for a long time; removing the exception wrapping code
avoids making front_end dependent upon AnalysisException and
CaughtException at this time. In the unlikely event that an exception
occurs in this function, we still have many avenues available for
tracking down the problem: examine the stack trace of the exception,
isolate a repeatable test case (if the exception happened in
e.g. command-line analyzer), or reproduce the exception from file
state information recorded by the AnalysisDriver (if the exception
happened in analysis server).
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2668553002 .
2017-01-30 15:05:52 -08:00
Sigmund Cherem
57a6eef406
Clean up - make changes in kernel_generator strong clean.
...
<still need to get used to the workflow of this package>
TBR=paulberry@google.com
Review-Url: https://codereview.chromium.org/2656903007 .
2017-01-27 15:19:23 -08:00
Sigmund Cherem
a37b3829ec
Extend front_end API to accept patch files
...
R=paulberry@google.com
Review-Url: https://codereview.chromium.org/2660553003 .
2017-01-27 15:00:36 -08:00
Konstantin Shcheglov
0888722a53
Implement SourceFactory.forUri2() to fix front_end after f28e8afb23.
...
R=paulberry@google.com
BUG=
Review-Url: https://codereview.chromium.org/2659943002 .
2017-01-27 09:35:46 -08:00
Dan Rubel
2cc2e63f63
IncrementalKernalGenerator watch source callback
...
Update the IncrementalKernalGenerator.computeDelta() method
with an optional "watch this source" callback.
This new callback notifies the caller when a source should be watched
for modifications, and when a source is no longer part of the program
and thus no longer needs to be watched.
R=paulberry@google.com
Review-Url: https://codereview.chromium.org/2653143003 .
2017-01-26 08:25:28 -05:00
Paul Berry
7d314c99bb
Always pass "allocate: true" when converting URIs to paths.
...
There's no need to special case the handling of "dart:" URIs.
Eventually we will need the "allocate:" behavior for all URIs anyhow,
because we won't have a pre-traversal of the import graph to populate
the FileRepository.
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2651193002 .
2017-01-25 09:21:59 -08:00
Konstantin Shcheglov
fcd5f16d10
Stop using SDK summary bundle. Analyze dart:xxx as any other libraries.
...
Unfortunately this makes runnings tests about 30% slower :-(
I suspect that's because we have to build unlinked and linked summaries
for SDK libraries again and again for every tiny test.
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review-Url: https://codereview.chromium.org/2653683004 .
2017-01-24 18:32:26 -08:00
Konstantin Shcheglov
b206c84210
Reland c9e1b88 and 56726fc with a DDC fix.
...
Revert "Revert "Use single InputPackagesResultProvider, without SdkSummaryResultProvider.""
This reverts commit b701ad6453 .
R=brianwilkerson@google.com , vsm@google.com
BUG=
Review-Url: https://codereview.chromium.org/2647323006 .
2017-01-24 09:13:26 -08:00
Vijay Menon
b701ad6453
Revert "Use single InputPackagesResultProvider, without SdkSummaryResultProvider."
...
This reverts commit c9e1b888a3 .
Revert "Remove parent from SummaryResynthesizer."
This reverts commit 56726fcce0 .
TBR=scheglov@google.com
Review-Url: https://codereview.chromium.org/2648213007 .
2017-01-24 06:21:38 -08:00
Konstantin Shcheglov
c9e1b888a3
Use single InputPackagesResultProvider, without SdkSummaryResultProvider.
...
Each SummaryResynthesizer is now responsible for creating its TypeProvider.
And with the new AnalysisDriver we stop using SDK CachePartition.
For now we add SDK's summary bundle into SummaryDataStore.
Eventually we will get rid of it and add individual SDK libraries.
R=brianwilkerson@google.com , paulberry@google.com , vsm@google.com
BUG=
Review-Url: https://codereview.chromium.org/2652823002 .
2017-01-23 16:54:17 -08:00
Paul Berry
7bfc3ced58
Clean up hacky handling of "dart:" URIs in incremental resolved AST generator.
...
R=danrubel@google.com
Review-Url: https://codereview.chromium.org/2643033003 .
2017-01-20 08:54:01 -08:00
Paul Berry
6acc2c2611
Store a file state in the incremental resolved AST generator.
...
This is necessary to make invalidation work properly. It also ensures
that we don't do redundant reads from the filesystem.
R=danrubel@google.com
Review-Url: https://codereview.chromium.org/2644953002 .
2017-01-19 13:58:57 -08:00
Paul Berry
c04ba40745
Add initial support for parts to the incremental kernel generator.
...
R=danrubel@google.com
Review-Url: https://codereview.chromium.org/2642083003 .
2017-01-19 12:32:27 -08:00
Paul Berry
28bfd11a70
Create a "file repository" data structure to help interface analyzer and front_end code.
...
R=danrubel@google.com
Review-Url: https://codereview.chromium.org/2645923002 .
2017-01-19 10:55:50 -08:00
Brian Wilkerson
d06a2326f1
Add parser support for covariant parameters
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2639883005 .
2017-01-19 09:38:35 -08:00
Paul Berry
2adae270d6
Fix incremental kernel builder to handle multiple calls to computeDelta.
...
Note that the invalidate() method is not supported yet; you must use
invalidateAll().
R=danrubel@google.com
Review-Url: https://codereview.chromium.org/2638423002 .
2017-01-18 14:43:06 -08:00
Konstantin Shcheglov
8d326e9a14
Report StateError if the DartSDK for an AnalysisDriver does not have summary.
...
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review-Url: https://codereview.chromium.org/2639743002 .
2017-01-17 20:46:00 -08:00
Paul Berry
05a417034a
Initial implementation of front_end hot reload API.
...
This implementation is based on the existing kernel and analysis
driver logic, using proxy classes to account for interface
incompatibilities between those components. In future CLs, I
hope we can (a) move the necessary analysis driver logic into
front_end, and (b) reduce or eliminate the number of proxy
classes needed.
This CL represents the very first inklings of functionality; all that
is confirmed to work at this point is compilation of a single source
file containing an empty `main` method.
R=danrubel@google.com , scheglov@google.com
Review-Url: https://codereview.chromium.org/2624193003 .
2017-01-17 06:10:02 -08:00
Paul Berry
fef4569eb5
Simplify PhysicalFileSystem implementation.
...
- Use Uri.base.resolveUri() to do all necessary normalization and
conversion to absolute paths.
- Store a URI in _PhysicalFileSystemEntity rather than a path.
- Use `new io.File.fromUri(...)` to access the physical files.
- Fix some minor bugs in physical_file_system_test.dart.
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2622423003 .
2017-01-12 15:48:48 -08:00
Paul Berry
fdbdd8a4d8
Add code to ProcessedOptions to fetch the SDK summary bundle.
...
R=danrubel@google.com
Review-Url: https://codereview.chromium.org/2625533002 .
2017-01-11 06:19:40 -08:00
Paul Berry
ba241c0c8d
Use URIs rather than paths in front end API.
...
This carries a number of benefits:
- It allows the front end to trivially support schemes other than
"file:" (e.g. "http:") by allowing the client to supply a FileSystem
implementation that handles them.
- It is more consistent with the functionality of the ".packages" file
(which allows packages to map to any kind of URI).
- It allows the "bazel root" feature to be rewritten to use a magic
scheme rather than a magic path. (This eliminates concerns about
the magic path overlapping with a user's use case). Note that this
feature has been renamed to "multi root" since it is sufficiently
generic to be applicable to build systems other than Bazel.
- It reduces the risk of forgetting to use the front end's FileSystem
abstraction to access the file system, since the native file system
interfaces do not accept URIs.
R=danrubel@google.com
Review-Url: https://codereview.chromium.org/2614063007 .
2017-01-09 11:19:38 -08:00
Paul Berry
1d57e1b096
Extract code from dependency_grapher.dart for easier re-use elsewhere in the front end.
...
In the process I've made the constructors for Graph, LibraryCycleNode,
and LibraryNode public. I don't think this should be a problem, since
these are simple data structures, so there is no harm in allowing
clients to create them.
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2617483007 .
2017-01-06 11:37:12 -08:00
Paul Berry
ca271d003e
Create a wrapper class to handle CompilerOptions in a uniform way.
...
R=danrubel@google.com
Review-Url: https://codereview.chromium.org/2618633006 .
2017-01-06 10:40:45 -08:00
Paul Berry
848d059581
Add a missing copyright notice.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2611183004 .
2017-01-06 10:03:35 -08:00
Paul Berry
0d1703309a
dependency_grapher: handle dependencies on SDK.
...
R=danrubel@google.com
Review-Url: https://codereview.chromium.org/2581263002 .
2016-12-16 13:23:41 -08:00
Paul Berry
519f7d4025
Add preliminary packages file support to dependency_grapher.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2572383004 .
2016-12-16 10:07:29 -08:00
Paul Berry
ede20b6558
Implement a front end API for querying the dependency structure of a project.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2575403005 .
2016-12-15 18:47:20 -08:00
Paul Berry
4e33530fbf
Add front end code for reading the SDK's "libraries.dart" file.
...
R=danrubel@google.com , sigmund@google.com
Review-Url: https://codereview.chromium.org/2578693002 .
2016-12-14 15:23:31 -08:00
Paul Berry
b29fa08444
Implement URI resolution in the front end.
...
R=danrubel@google.com , sigmund@google.com
Review-Url: https://codereview.chromium.org/2577503002 .
2016-12-13 13:21:14 -08:00
Paul Berry
d70184abd8
Create a default error handler to avoid the need for null checks.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2568583002 .
2016-12-12 10:54:38 -08:00