dart-sdk/pkg/front_end
Samir Jindel 1a23ff68a5 Fix incorrect handling of NSM forwarders and pull all logic into CFE. (Take 2)
The behavioral difference is that named and optional arguments are filled in
with their default values in the `Invocation` object passed to `noSuchMethod`.

On the implementation side we make NSM forwarders concrete and fill in their
bodies in the CFE. The custom (and somewhat hacky) VM support is no longer
needed, and Dart2JS can benefit from this implementation as well.

According to discussion on #33031 we will be able to re-land this soon without
breaking Mockito.

Prior failures on precompiler bots are fixed in Patchset 2.

Change-Id: If1b7fe4cf6da5ef38f330e1ad226121bcfc958a1
Reviewed-on: https://dart-review.googlesource.com/54401
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-15 11:23:32 +00:00
..
benchmarks/ikg Smaller changes to incremental_perf.dart, this is preparation for the flutter IKG perf benchmark 2017-11-17 10:34:12 +00:00
lib/src Fix incorrect handling of NSM forwarders and pull all logic into CFE. (Take 2) 2018-05-15 11:23:32 +00:00
test Incremental ClassHierarchy 2018-05-15 07:37:09 +00:00
testcases Fix incorrect handling of NSM forwarders and pull all logic into CFE. (Take 2) 2018-05-15 11:23:32 +00:00
tool Improve handling and testing of additional targets 2018-05-14 15:16:47 +00:00
analysis_options.yaml Fix dynamic as bottom uses in front end and dart2js. 2017-10-30 19:54:26 +00:00
error_recovery.yaml Add error_recovery.yaml: a place to add scenarios we explicitly want to model in 2017-08-10 11:52:48 -07:00
LICENSE Create a README and pubspec for the front_end package. 2016-10-19 12:14:38 -07:00
messages.status Revert "[vm/kernel] Enable kernel2kernel "constants" transformation in AOT mode (after running TFA)" 2018-05-11 17:50:46 +00:00
messages.yaml Improve handling and testing of additional targets 2018-05-14 15:16:47 +00:00
pubspec.yaml Restrict analyzer/front_end/kernel SDK versions to dev.48+. 2018-05-14 19:32:45 +00:00
README.md Prepare for analyzer 0.32.0. 2018-05-14 18:07:02 +00:00
testing.json Test code for CFE expression compilation. 2018-04-30 15:33:11 +00: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. In particular, there is no semver contract for release versions of this package. Please depend directly on individual versions.