dart-sdk/pkg/front_end
Sigmund Cherem abf2d23af2 Switch FE to use the libraries.json format.
This CL:
  * introduces the Dart API to operate over libraries specifications and describes
    the format we intend to use (see libraries_spec.dart)

  * implements serialization/deserialization for this API

  * switches over the front_end to use these APIs
    * public options accept a URI to the JSON file and no longer
       accept a `dartLibraries` map
    * internal code uses the LibrariesSpecification API

  * switches other dependencies on these APIs (resynthesizer_test and patch_sdk.dart)

This is the first step in migrating over to use the libraries.json format and
eventually remove the patched_sdk step. In particular, some of the next steps
include:
  * add a build step to generate .json files from .yaml files
  * add a libraries.yaml file for the sdk
  * split the patched_sdk step in two:
     * patching files
     * generating .dill files
  * add any missing support for patch-files in fasta
  * finally remove the patching files step, and only have a build step for generating
   .dill files

BUG=
R=ahe@google.com, paulberry@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/2986303003 .
2017-08-04 17:41:27 -07:00
..
example/incremental_reload Switch FE to use the libraries.json format. 2017-08-04 17:41:27 -07:00
lib Switch FE to use the libraries.json format. 2017-08-04 17:41:27 -07:00
test Switch FE to use the libraries.json format. 2017-08-04 17:41:27 -07:00
testcases Implement type inference for super initializers. 2017-08-03 19:39:13 -07:00
tool Switch FE to use the libraries.json format. 2017-08-04 17:41:27 -07:00
analysis_options.yaml Move kernel baseline tests to front_end. 2017-04-19 10:57:58 +02:00
BUILD.gn Disable analysis on a few packages. (#29571) 2017-05-05 22:06:00 -07:00
LICENSE Create a README and pubspec for the front_end package. 2016-10-19 12:14:38 -07:00
messages.yaml Switch FE to use the libraries.json format. 2017-08-04 17:41:27 -07:00
pubspec.yaml front_end analyzer dev dependency. 2017-07-28 06:38:10 -07:00
README.md Prepare package:analyzer 0.30.0. 2017-05-03 14:34:55 -07:00
testing.json Remove the "kompile" mode of running the front end. 2017-07-13 10:52:55 -07: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.