dart-sdk/pkg/front_end
Asger Feldthaus 709c1e0b75 Store library paths relative to a given application root folder.
In kernel, library import URIs now support an "app" scheme as an
alternative to the "file" scheme, representing a path relative to
the application root.

dartk takes an --app-root flag giving the application root. If none
is given, file URIs are used instead.

The intention is that kernel binaries should not carry irrelevant
path information, such as the path to the home directory of the
user who compiled a given file.

It is not the intention that end-users should see an app URI.
Import paths are currently not shown to users at all, and if we need
to do this, they should be translated to file paths first.

In theory we could stick to file URIs with relative paths, but the Uri
class from dart:core makes this difficult, as certain operations on it
assume that file paths should be absolute.

Source mapping URIs are not yet affected by this change.

R=kmillikin@google.com

Committed: 60adb852ad

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

Reverted: bb540416f2
2016-11-30 10:39:48 +01:00
..
lib Move scanner tests into the front_end package. 2016-11-15 14:53:49 -08:00
test Move scanner tests into the front_end package. 2016-11-15 14:53:49 -08:00
tool Store library paths relative to a given application root folder. 2016-11-30 10:39:48 +01:00
.analysis_options Adjust front_end analysis options to allow supermixins. 2016-11-14 11:21:44 -08:00
BUILD.gn Add BUILD.gn for pkg/front_end to fix the Fuchsia build 2016-11-08 15:15:07 -08:00
LICENSE Create a README and pubspec for the front_end package. 2016-10-19 12:14:38 -07:00
pubspec.yaml Complete merge of kernel repo into SDK. 2016-11-23 12:46:29 +01:00
README.md Create a README and pubspec for the front_end package. 2016-10-19 12:14:38 -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.