Commit Graph

4 Commits

Author SHA1 Message Date
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
Alexander Aprelev 2765fcf2ae Revert "Revert "Revert "Fix incorrect handling of NSM forwarders and pull all logic into CFE."""
This reverts commit 9a7e1f64a2 as it
breaks mockito tests and commit 0bc6e7217a as being done for
9a7e1f64a2.

Bug: https://github.com/dart-lang/sdk/issues/33031
Change-Id: Id20a83c8a7a62ec73446180ecb37e9200f3a92b6
Reviewed-on: https://dart-review.googlesource.com/53540
Reviewed-by: Alexander Aprelev <aam@google.com>
2018-05-03 06:01:08 +00:00
Samir Jindel 0bc6e7217a Update expression compilation expectations.
Change-Id: Ia335aad6a736723b571d611f849ba7e8ad991865
Reviewed-on: https://dart-review.googlesource.com/53382
Reviewed-by: Jens Johansen <jensj@google.com>
2018-05-02 13:44:21 +00:00
Samir Jindel f85480b4dd Add tests for CFE implementation of expression compilation.
Change-Id: Ib7af386876d831e84ca97c42bbe3084c96fcc114
Reviewed-on: https://dart-review.googlesource.com/49906
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-04-16 19:29:38 +00:00