Commit Graph

139 Commits

Author SHA1 Message Date
Clement Skau 430c75b5fa Revert "[VM] Remove unnecessary Closure.clone() from sync*."
This reverts commit ca94ad7112.

Reason for revert: Appears to break dartkb.

Original change's description:
> [VM] Remove unnecessary Closure.clone() from sync*.
> 
> Instead, this CL wraps sync*'s sync_op in an additional function
> that captures local copies of the necessary closure state.
> Notably this state includes the parameters of the original sync* function
> as these also need to be cloned for each instance.
> 
> 
> Note: a large number of .expect files have a small number of changes
> due to the additional wrapper function, as well as some extra plumbing.
> 
> Bug: https://github.com/dart-lang/sdk/issues/37753
> Change-Id: If099dbfe9e5d62979626b852386fd0173fc76de5
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136190
> Commit-Queue: Clement Skau <cskau@google.com>
> Reviewed-by: Vyacheslav Egorov <vegorov@google.com>

TBR=vegorov@google.com,cskau@google.com

Change-Id: I89e517196f03622337f909f0fcecbdc77c9dda93
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/37753
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144920
Reviewed-by: Clement Skau <cskau@google.com>
Commit-Queue: Clement Skau <cskau@google.com>
2020-04-27 07:45:04 +00:00
Clement Skau ca94ad7112 [VM] Remove unnecessary Closure.clone() from sync*.
Instead, this CL wraps sync*'s sync_op in an additional function
that captures local copies of the necessary closure state.
Notably this state includes the parameters of the original sync* function
as these also need to be cloned for each instance.


Note: a large number of .expect files have a small number of changes
due to the additional wrapper function, as well as some extra plumbing.

Bug: https://github.com/dart-lang/sdk/issues/37753
Change-Id: If099dbfe9e5d62979626b852386fd0173fc76de5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136190
Commit-Queue: Clement Skau <cskau@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2020-04-27 07:37:39 +00:00
Johnni Winther d59d0752e2 [cfe] Avoid hoisting in top-level inference
Change-Id: I1ae642c241557f0c5d00a56ab6af350408aef1bd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144513
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-04-23 13:35:09 +00:00
Martin Kustermann e2b6cc93b6 [vm/async] Update async transformation to take NNBD mode into account
The removal of unsafeCast causes flutter galley size regressions:

  - armv7: -0.43%
  - armv8: -0.21%

which we should look into recovering by having better inlining heuristics.

Issue https://github.com/dart-lang/sdk/issues/41373
Closes https://github.com/dart-lang/sdk/issues/41307

Change-Id: I7c0ba4c9598e13f01e807a607c83d50cf03e9abe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142501
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2020-04-11 08:56:52 +00:00
Martin Kustermann c4a7c3488e [vm/async] Make async transformer use typed variables, make async patch use function types
This gets rid of a slow AssertAssignable (function type test)
in _asyncThenWrapperHelper/_awaitHelper, which currently falls back to the slow table
search:

  AssertAssignable
    ^--> TypeTestingStub
          ^--> SlowTypeTestStub
               ^--> Subtype6TestCacheStub

Issue https://github.com/dart-lang/sdk/issues/37668

Change-Id: I3b6517b7e348e39619e8096d6ac2a4b179bb3242
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142022
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Clement Skau <cskau@google.com>
2020-04-03 08:28:47 +00:00
Johnni Winther 7ec1d20122 [cfe] Fix explicition extension index set key type
Closes #39527

Change-Id: Ic55498bbf72cf720dadf3fa7f816c7bae1715b52
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140401
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2020-03-24 06:52:46 +00:00
Johnni Winther 2049335af3 [cfe] Improve message on ambiguous extension member access
Closes #40862

Change-Id: I7cc2c0cfbbc878709dc3ad645d8a4b37094056c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140520
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2020-03-23 09:33:20 +00:00
Jens Johansen 0768b8e6cd [CFE] Better and more errors on type parameters when they're not allowed
Change-Id: Iefcc31ca09b76cced003cdfea7256a1b898dc3a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139204
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-03-13 12:39:50 +00:00
Johnni Winther a5eb0b559c [cfe] Handle callable extension getters
Closes #40596
Closes #40713
Closes #39889

Change-Id: I183560b912e2f6f2c02d51278c0d28c8a6d67f99
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139203
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-13 10:46:39 +00:00
Leaf Petersen 5e9be81d5e Make all CastErrors be TypeErrors.
This makes CastError implement TypeError, and changes all test
expectations to look for TypeError.  A followup CL will deprecate
CastError.

Bug: https://github.com/dart-lang/language/issues/787
Bug: https://github.com/dart-lang/sdk/issues/34097
Change-Id: I7102c6260901317572d2df08c4be9c4c48197688
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138670
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-03-11 23:31:06 +00:00
Johnni Winther 3d5fb65c06 [cfe] Handle implicit extension method call in argument replacement
Closes #40816

Change-Id: I1d7e0c479e03e2b40010551ebeb977e12cdf250c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138082
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-04 07:26:13 +00:00
Johnni Winther 80dacdf3a0 [kernel] Add Class.hasConstConstructor and Member.isNonNullableByDefault predicates
Closes #40440

Change-Id: I2776c165d23e2aa2bf5d7515741bd0f0d067b26d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134292
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2020-02-06 12:27:37 +00:00
Johnni Winther 905a380258 [cfe] Handle explicit extension operator access from dill.
Closes #39938

Change-Id: I9798e02c243c1edfbeb1e6f5bb5564bcf9e74a05
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133996
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2020-02-03 12:54:15 +00:00
Johnni Winther 54c8066f6f [cfe] Add new flags to AsExpression and IsExpression
Change-Id: I31eba9b4ced051a1067945fd68e60a09b1fa6ed7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133100
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-01-31 19:55:22 +00:00
Johnni Winther 970c164826 [cfe] Use correct types in transformations and start verifying getStaticType
With this fix Expression.getStaticType no longer throws on any known cases.
Users of getStaticType can therefore avoid enclosing static type computation
in try-catch.

Closes #38597

Change-Id: I52eaacd30256333d7c368e5d14f4e4956bafc96f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121988
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-11-21 22:15:58 +00:00
Johnni Winther acff31ed26 [cfe] Support null-aware index access
Change-Id: I54b58624722845e4b008b90e675516ec274bc2da
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125960
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-11-21 14:36:30 +00:00
Johnni Winther 9e03a639ea [cfe] Split inferMethodInvocation into invocation variants
Change-Id: I4ca0cb419652b4d822d8eb945a77b7243012ed1e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125411
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-11-18 10:03:33 +00:00
Martin Kustermann 7a0d9455e4 [vm/aot] Ensure interface targets are re-resolved after deduping of mixin application classes
When the CFE compiles an application as a whole (reads in all source
code), the interface targets to members of mixin applications are the
original mixin classes.

When the CFE compiles an application modularly (dependencies are
supplied as kernel files), the interface targets to members of mixin
applications are the copied members in the mixin application classes.

This slight difference does not surface in any test failures. Yet if we
start running our AOT kernel pipeline, we will deduplicate the mixin
application classes. This leaves dangling references (with no target).

The C++ AOT compiler, `gen_snapshot`, will crash if it hits any of
those.

Issue https://github.com/dart-lang/sdk/issues/39375

Change-Id: I17a57370a87cfbdc174829c2e68ecdb7c4a9757e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124993
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2019-11-13 20:03:04 +00:00
Johnni Winther 4a661e19e2 [cfe] Remove type_promotion_look_ahead_listener.dart
This experiment isn't used.

Change-Id: I8a45283182e361f6fc69f586346e01913b83560a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124686
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-11-11 11:51:57 +00:00
Johnni Winther 9c983d2ee3 [cfe] Support extensions via prefix
Change-Id: I6c1e69e5a5c83f5177754a350f5efbca9384972b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124540
Auto-Submit: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-11-08 19:53:00 +00:00
Johnni Winther fd9f79c25d [cfe] Handle deferred explicit extension access
Change-Id: I53e13ac3b4f1bdcd26ccec86814fb4d708c5cceb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124542
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-11-08 14:19:47 +00:00
Johnni Winther 523e9ffa88 [cfe] Add EqualsExpression, BinaryExpression, UnaryExpression and ParenthesizedExpression
Change-Id: Ida185b192c329f21979f6d5fbf39aa17ef1b9c0c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123409
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-11-02 12:33:44 +00:00
Johnni Winther 3ccdb01fc9 [cfe] Handle extensions exported through multiple libraries
Closes #39160

Change-Id: I605b1a95ddab822848b33244b3130ebf16b69842
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123523
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-10-30 11:59:44 +00:00
Johnni Winther ee9ec9c3e0 [cfe] Report error on builtin identifier as extension name
Closes #38094

Change-Id: I029f8f30ee0c15ec9f1adf7419f83c4e76ca3ae1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123521
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-10-30 10:02:55 +00:00
Johnni Winther eb04e0922b [cfe] Refactor CompoundPropertySet and add CompoundExtensionSet
Change-Id: Id6dda215cae88dc35943f34be4f210d148eace00
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122642
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-10-28 14:08:42 +00:00
Johnni Winther bb02531b7e [cfe] Move creation of error nodes to inferrer
During top-level inference we cannot emit errors. With this change
the inferrer controls whether to create and report an error or to create
a revisitable node.

Change-Id: Ia7821c6d2628fdae0897f3cd6108ef12d2f096df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122782
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-10-28 14:08:42 +00:00
Johnni Winther 2727fd9b3c [cfe] Add helper for creating property set
The use of the helper removed the creation some unneeded temporary
variables in extension access which is reflected in the expectation
changes.

Change-Id: Ice6afcb223b7740c2555a076c3ddae9a9d4f092d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122394
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-10-23 12:23:53 +00:00
Johnni Winther 9f1b0fe102 [cfe] Handle explicit extension operator calls
Closes #38895

Change-Id: If8dd84dcd888dc1462f4598aacf0a2da141e2918
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121855
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-10-17 09:39:14 +00:00
Johnni Winther dee702264b [cfe] Handle named arguments on extensions methods correctly
Closes #38915

Change-Id: Ie11a2508605fb3591347bc1f4cd68de846829328
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121852
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-10-16 14:38:23 +00:00
Johnni Winther 72bae7be70 [cfe] Handle all bounds checks on extension methods.
Closes #38755

Change-Id: I3d5449950ecb3268436a3033ae16bac590a1e4b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120790
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-10-09 19:50:02 +00:00
Johnni Winther a85054d12e [cfe] Handle parser recovery in extension declarations
Closes #38600
Closes #38712

Change-Id: I875c55c49253066263bfe1c9cbe97debd1e81648
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120583
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-10-08 20:24:38 +00:00
Johnni Winther 4856917f63 [cfe] Handle extension getter/setter conflicts
Closes #38713

Change-Id: I07a1a07f842c88f95ddecbe1a9d4e0a7da232c02
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120586
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-10-08 14:03:31 +00:00
Johnni Winther f4a72bfc64 [cfe] Don't crash on access to extension fields
Closes #38745

Change-Id: I8ab361d3663e22f1d21869ac787069ba8f73fa9d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120646
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-10-08 10:26:17 +00:00
Johnni Winther bc8b12e43b [cfe] Handle privacy in extension lookup
Closes #38750

Change-Id: Ieb5af03859a51ee034b3c2731eadf7591a4cc83c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120641
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-10-08 08:07:09 +00:00
Johnni Winther 0ef041d8f2 [cfe] Avoid crash on explicit extension access of static members
Change-Id: Ia9df90138be93cb9aa2a3111fdc2127fdc3f6cb4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119334
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-10-01 07:34:20 +00:00
Johnni Winther f1d6282fa3 [cfe] Report error on extension members that conflict with Object members
Closes #38561

Change-Id: I9c26879662502e1f56203f87d1cd7a21036dcb2f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119325
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-09-30 13:21:49 +00:00
Johnni Winther e52542b421 [cfe] Handle generic return types
Returns types on generic methods in generic extension that contained
type variables declared on the generic method were not substituted,
leaving these as unindexed type parameters during serialization.

Change-Id: I4f53005318ba2be014bfe6e92f4f6c93288f2a4f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118995
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-30 10:58:05 +00:00
Aske Simon Christensen 8f24bd2901 [cfe] Remove or reformulate some bad tips and messages.
Change-Id: I5f37da30370fb48a4417e2b0c990d9fc1c9713a7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118990
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-30 09:02:41 +00:00
Johnni Winther 6ff8d2199d [cfe] Don't crash on constructors in extensions
Change-Id: I11cdb9699101f384c2734c3551b4eefdfda6eccb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118980
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-26 12:32:25 +00:00
Johnni Winther 53564db036 [cfe] Handle implicit extension call()
Change-Id: Ib0aa04b7b00c54c21932040bd8912d95c138f62e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118960
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-26 10:36:51 +00:00
Johnni Winther ee7aae43c0 [cfe] Handle explicit extension index access
+ avoid implicit extension for [] or []= when the other is defined on
the receiver.

Change-Id: I99c76a66bfb4f72c396097b2f347aad9f0a42f33
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118940
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-26 10:36:51 +00:00
Johnni Winther 0bf6b6ae64 [cfe] Handle instantiation of extension tear-offs and check bounds on extension method invocation
Change-Id: I212f95c897889a28934910c2c21c64bea6c6a64c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118585
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-26 08:41:38 +00:00
Johnni Winther b03d472e4c [cfe] Handle default values on extension methods
Closes #38541

Change-Id: I078800cc98b5444c2c7f6f87b2d89bcf764bfc23
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118582
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-25 08:45:27 +00:00
Johnni Winther 7b9bcd08b4 [cfe] Correctly substitute function types from extension on-clauses
Change-Id: Icf6bf59544d2c14cc153cdf77b675554d319b6b8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118541
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-25 07:30:17 +00:00
Johnni Winther 2f7ad92ee4 [cfe] Handle null aware explicit extension application
Handles expressions like `Extension(c)?.foo`.

This CL also includes an update to SourceExtensionBuilder.build
addressing a comment in a previous CL.

Change-Id: I0ebcd95d16743c0aa6da22120182b2219fc30726
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118443
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-25 07:30:17 +00:00
Johnni Winther 175fc6edff [cfe] Use original name in extension method errors.
Previously the errors were reported using the synthesized name, like
`Extension|method` instead of `method`.

+ Report errors on invalid uses of explicit extension application as
an expression or lvalue.

Change-Id: I6d85430be4ab3966ee94131b37aa365265c07eac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118383
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-24 07:55:45 +00:00
Johnni Winther b7ad248209 [cfe] Handle annotations on extension members
Closes #38439

Change-Id: I3c995ba5ca3058530318b14e46d275ce6ccc8778
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118381
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-24 07:55:45 +00:00
Johnni Winther bf76e4b49c [cfe] Handle complex extension setters
Change-Id: Ic5753c70a13fed819df7aa6900a8191f9bed4195
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118042
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-24 07:55:45 +00:00
Johnni Winther 2777806901 [cfe] Handle dynamic invocation
Change-Id: I13ca160a2dd5862d558928826adee7bcacf67d04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117731
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-24 07:55:45 +00:00
Johnni Winther 18e4f6ba8d [cfe] Handle conflicting extension and extension member names
Change-Id: Ib0c7ffce985b31dfcdacaca599ff31f3d05a25a1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117730
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-24 07:55:45 +00:00