Commit Graph

8489 Commits

Author SHA1 Message Date
pq 0677649e8a extension property access
Change-Id: Icf51679607166e0a449fe0ebeb5f432f17afb34b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110125
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-24 13:37:13 +00:00
Konstantin Shcheglov 48662bdb94 Report not initialized potentially non-nullable instance fields.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Id762e0cf651b2f2d7199f3447b5bf305b1a584c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107567
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-07-23 23:17:32 +00:00
Brian Wilkerson 030e60e0ef Allow the name of an extension to be accessed while linking
Change-Id: I1e76e61e2ceed557bcb6f0644f836075f2631e79
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110182
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-23 22:57:32 +00:00
Konstantin Shcheglov 46bcc460c0 Support for unnamed extensions in summary2.
R=brianwilkerson@google.com

Change-Id: I70a2994860acb7d592507c7fcd945ce73714c3d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110136
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 22:56:42 +00:00
Konstantin Shcheglov bd2b0504f1 Search for extension getter/method/setter using FindElement.
R=brianwilkerson@google.com, pquitslund@google.com

Change-Id: Ifa4cb6ac3ab43ae473807f19488871678247f974
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110134
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 22:36:02 +00:00
Konstantin Shcheglov ecaa530faf Collect informative data for extensions.
R=brianwilkerson@google.com

Change-Id: I77866f1bb5e92c074ce700d041a392639f829efb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110130
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 22:17:12 +00:00
Konstantin Shcheglov 2ada1edb59 Fix for 'Never' in dart:core and summary1.
We should add it only to the defining unit of dart:core, otherwise
we get it in every unit, which is a conflict, and it is still
unresolved.

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Ief28b949cc0fe1ed71c91a4efa679d15fbb26a6d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110129
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 21:35:22 +00:00
Paul Berry 4c08c5026d Expose DartObjectImpl.toFunctionValue() through the public API
Change-Id: Ib75a95b20e0abe2a13caa0867ecc60c192ebbbd9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110122
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-23 20:56:34 +00:00
Paul Berry c37eebd011 Add a more "isDartCore..." getters to DartType.
Change-Id: I5c192b812e44f9b9f278bc3eaefddd8bc326cf6a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110061
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-23 20:56:34 +00:00
Konstantin Shcheglov ce7232cd0f Store type Never in summaries.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I2b0e7cc86844caf2613a8c3e5ea00ce4576e6e8f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109987
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 19:30:20 +00:00
Brian Wilkerson 5e2a950685 Support accessing the documentation comment of an ExtensionElement
Change-Id: If433a7e795369a195a917653f303c71df84a4a0c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110000
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2019-07-23 18:09:03 +00:00
Dan Rubel 76128480ae fix bug in invalid constructor initializer recovery
Fix https://github.com/dart-lang/sdk/issues/37600
Fix https://github.com/dart-lang/sdk/issues/37029
Fix https://github.com/dart-lang/sdk/issues/37049
Fix https://github.com/dart-lang/sdk/issues/37110
Fix https://github.com/dart-lang/sdk/issues/37147

Change-Id: I9bc94991e71550410c02332bfd80faef50c229a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110140
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-07-23 16:42:54 +00:00
Konstantin Shcheglov ccdddd2eee Parallel build-mode and DDC changes for summary2.
It does not enable summary2 yet, but makes it possible to flip
one flag AnalysisDriver.useSummary2 to switch between summary1
and summary2.

I run presubmit scripts, and it seems that it works for both.
https://test.corp.google.com/ui#id=OCL:255717824:BASE:259228828:1563746330268:5481d33a
https://test.corp.google.com/ui#id=OCL:255717824:BASE:258892260:1563515248201:2d5ce329

One thing that is not implemented yet is tracking used dependencies
for summary2. So, //dart/bazel_codegen_tests:dependencies_test_run fails.


Change-Id: Iec9f3852e9b91236ce98e87041031daa0cc71a88
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107689
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 15:07:11 +00:00
Brian Wilkerson ae5d4973ab Improve a diagnostic message by adding specific type information
Also, re-enable some tests that were unintentionally commented out.

Change-Id: I88ee5cf690c6c7132d80becae6952add229eba47
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109983
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-23 13:55:11 +00:00
Paul Berry baaeafa2bb Flow analysis: move into front_end.
This will allow it to be used by both the front end and the analyzer.

Change-Id: I3af67aaf3ad7ff2cca0cb245518570892ad473e9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109986
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-07-23 12:55:11 +00:00
Paul Berry 24c0507d73 Flow analysis: remove the State.exit method.
It was redundant with State.setReachable(false), and it did not have
the necessary logic to avoid creating State objects when unnecessary.

Change-Id: If9e0b8b586dab0e681f4ee0bc7b792d49e1e5f4b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109897
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 12:55:11 +00:00
Paul Berry 9ec6a48613 Flow analysis: document the State class
Change-Id: I36f71953912d23cc77473e56caca14c4d9df19d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109894
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 10:31:31 +00:00
Brian Wilkerson 0864980e8c Resolve the call method when used with an extension override
Change-Id: I2bf310abb3b8c3f4fc5eb9179bd60df4539d241f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109888
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-22 21:18:30 +00:00
Brian Wilkerson 17e15ee9a4 Add outline support for extensions
Change-Id: I1b7145e899614b3d73d3fc2bfbe3dd7f773d38d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109880
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-22 21:12:40 +00:00
Paul Berry ee5a90cb1b Flow analysis: test that all variables are registered with add().
This uncovered two more instances where we weren't properly
registering variables:
- Local function parameters
- Variables introduced by "catch" syntax.
- Variables introduced by "for (...; ...; ...)" syntax.

Change-Id: Id5e8aa1b598962cca1bb19df6d4ede99a672f108
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109885
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-07-22 20:27:08 +00:00
Konstantin Shcheglov d16ad91719 Update DATA_VERSION after summary2 changes to support extensions.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I834c400308e9479aacc483fb2e129db180402937
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109886
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-22 18:04:28 +00:00
Paul Berry da58647161 Flow analysis: register loop variables with add().
Change-Id: I321e3ec9b6413028b78bfa36c3022ef70447f745
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109762
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-07-22 17:23:28 +00:00
Johnni Winther b3b6533c3d [cfe] Create ClassBuilder for extension declarations
Change-Id: Ic372b89588ed9ec3afc43f7db7e3d38a81846ad5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109264
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-07-22 16:00:28 +00:00
Paul Berry b912aebf5c Flow analysis: change tryPromoteToNonNull to promoteToNonNull.
The flow analysis engine is now responsible for figuring out whether a
promotion actually occurred; this is less error prone.

Change-Id: Idce8af01fae982a9cc240ec4675812f8d7fd68a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109883
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-22 15:58:48 +00:00
Paul Berry 7adca0ec5f Flow analysis: Remove "emptySet" argument from markNonNullable
Change-Id: Ia2fd7878badedba95ffee5f7a6948402376a2300
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109882
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-07-22 15:36:48 +00:00
Brian Wilkerson 073d521131 Update DartType.displayName to display nullability when appropriate
Change-Id: I36dbda77e4a363a2265e4b94a87fbe6d842a5348
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109800
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-22 12:40:27 +00:00
Brian Wilkerson fe1da36f12 Change the wording of unused-element
I think this makes the message better, but it also means that the message
can be internationalized.

Change-Id: I0697fc05b79e33d5af2424609b30c2832b1a210b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109860
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-22 12:40:07 +00:00
Paul Berry 977a78b7a0 Flow analysis: expose State and unit test. Also fix restrict method.
Change-Id: Id96a3266aea6ab8dd97e72bbf72a55b4156ebc0b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109841
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-21 21:22:45 +00:00
Konstantin Shcheglov 90f03db962 Support for extensions in summary2.
I ignored unnamed extensions for now, so correspondings tests crash.

R=brianwilkerson@google.com

Change-Id: I3e56d1ccaf0c5839b426ea179ed6100dbb15c143
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109727
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-21 21:14:15 +00:00
Paul Berry c8587ce199 Flow analysis: don't use == to compare types.
Includes an integration test illustrating where this would have caused
incorrect behavior (due to the fact that the analyzer's `DartType.==`
doesn't yet distinguish nullabilities - see #37587), as well as unit
tests that will ensure we don't regress even after #37587 is fixed.

Change-Id: Ief92cf5a052bc2b96e4e74f69f2268b0565d920f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109820
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-21 20:33:55 +00:00
Paul Berry 7b6c667863 Flow analysis: rework tracking of nullability.
We now track nullability via type promotion, e.g. by promoting from
`int?` to `int` to represent a non-nullable value.

I've added a few more unit tests of flow analysis that were helpful
while preparing this CL.  I plan to add more tests in follow-up CLs.

A few behaviors are lost by this change:

- We no longer track whether a variable's value is exactly null
  (previously the tests annotated such variables as "nullable", which
  was a bit misleading).  I'm not sure whether we really want this
  feature or not; I've filed
  https://github.com/dart-lang/language/issues/461 for discussion.

- Assignment of a non-null value to a nullable-typed variable no
  longer promotes it to non-nullable.  I think we want to get this
  behavior back, but we'll need to add a little bit more machinery to
  get it back (we need to allow assignments in general to promote.
  I'll address in follow-up CLs.  See
  https://github.com/dart-lang/language/issues/440 for discussion.

- A promotion to non-nullable that happens during a "try" block is
  lost if there is a "finally" block.  I think we want to get this
  behavior back, but we'll need to add a little bit more machinery to
  do so, to allow promotions in general to be preserved by
  try/finally.  I'll address in follow-up CLs.

Change-Id: Ibc45d70043725697fbee063a8dcefb1179506e9b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109780
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-21 04:09:14 +00:00
Paul Berry c2e78e83c6 Flow analysis: fix and unit test joinPromoted.
I will add further unit tests of flow analysis in follow-up CLs.

Note that flow_analysis_unit_test.dart does not make use of the
test_reflective_loader package because the intent is to move these
tests into the front end, and front end tests are written using
vanilla package:test conventions.

Change-Id: I10ba27212a1986f0c1fd960d33105f281712b506
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109760
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-07-21 03:24:34 +00:00
Paul Berry 507f404361 Flow analysis: always supply a type parameter for FunctionBodyAccess.
This reduces the risk of mistakes and avoids downcasts.

Change-Id: I98f021e0dd6754ee499a08aabe4fee00d17501ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109744
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-20 05:01:43 +00:00
Paul Berry 851eaad61a Flow analysis: Rename Element to Variable.
The "elements" used by flow analysis always represent variables
anyway, and the front end has no notion called "element", so just
calling them variables is clearer.

Change-Id: Ibd450742b97aafea77d3339609f5a83090405b0d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109743
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-20 05:01:43 +00:00
Paul Berry 842812dd0b Flow analysis: Remove unnecessary arg to ifStatement_thenBegin
Change-Id: I56242547905825108759ef015ec96668bf75d8d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109742
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-20 05:01:43 +00:00
pq 75f6822c70 fix for unnamed extensions
Change-Id: I93947d66e41314e64c5f14b398fd73bf5344dccb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109722
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-07-19 18:27:54 +00:00
pq 2faee21edb diagnostic for static extension member access
Change-Id: I5380fa6240434ff398cdbd7efeae32b11336cf69
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109681
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-19 16:57:23 +00:00
pq 634aa461a0 remove extension field checks
follow-up from: https://dart-review.googlesource.com/c/sdk/+/109322/3/pkg/analyzer/lib/src/dart/resolver/method_invocation_resolver.dart#241

and some test renames

Change-Id: Ia22768ed60cf85a0b3d6244ff044ff31af17aad6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-07-19 14:30:06 +00:00
Brian Wilkerson 760c3a0006 Store the declared element locally for unnamed extensions
We normally store the declared element for a declaration in the name of
the declaration. We still do that when there _is_ a name for an extension,
but we also store it directly on the extension so that we can handle
unnamed extensions.

Change-Id: Id8a8bc01be5d2fbfd86ea5ec4ff150165b31a9bb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109554
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-19 12:40:06 +00:00
Brian Wilkerson 54bd280070 Treat dynamic and void as if they were in the SDK
This fixes an NPE I just ran into. I didn't add a test, but the bug
occurs when the extended type is `dynamic`. I'm guessing that the same
bug would occur if the extended type were `void`.

Change-Id: I5b22a9c3ccc7d656f5e1eed23a430d1fe5671b7f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109582
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-18 20:33:21 +00:00
pq 5ce47abf86 extension type bounds instantiation (and failing param type test)
Change-Id: Ieb94e5838581b4f38ff1624e0c1778ef395003a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109581
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-07-18 18:59:29 +00:00
Brian Wilkerson d32a4dbe57 Minor updates to existing docs
These are based on recent comments, and might not be appropriate.

Change-Id: I634dc30a29459f3ab41dae99233d27c9954b9347
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109542
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Kathy Walrath <kathyw@google.com>
2019-07-18 15:43:55 +00:00
pq 6dfd5766de error code for ambiguous extension method accesses
Change-Id: I97b0bc8ba32d1cb0ee3b361525f4c161845f1d01
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109463
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-18 03:50:27 +00:00
Konstantin Shcheglov 7de08740f2 Infer types of fields and field formal parameters together.
They might depend on each other, we cannot infer one or another first.

R=brianwilkerson@google.com

Change-Id: I9639a53561ec12d556fa1b45c44cf8aeb497f618
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109460
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-17 20:30:44 +00:00
Brian Wilkerson 1865a3c911 Produce diagnostic when extension override argument is not assignable to the extended type
Change-Id: I05f1f6fb62e01e1e8b4655a8d36e030b411090f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109423
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-17 19:59:05 +00:00
Brian Wilkerson 227ff83571 Add a diagnostic when an extension override is used to access a static member.
Also added missing awaits to several previously committed tests.

Change-Id: Ide2d714b02e36f097f7c958b609dd780ff333253
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109420
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-17 17:56:14 +00:00
pq 895cb7720d “most specific extension” resolution first steps
Incomplete but enough there for some initial feedback.


Change-Id: I186b376826d7ffdd8ed2be8e263231abb78cc187
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109322
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-07-17 14:56:26 +00:00
Brian Wilkerson 6073489539 Add diagnostic for undefined getters and setters invoked on an extension override
Change-Id: Ib66f203836e3900e2e151dd3a8b6be1360e12d50
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109319
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-17 12:36:16 +00:00
Siva Annamalai 83d2aaa072 Revert "[dart] Enable constant-update-2018"
This reverts commit 9bbd3192f4.

Reason for revert: Reverting enabling of constant-update-2018 by default as some blocking issues were found that are breaking Flutter and preventing rolls of Dart into Flutter. Once the blocking issues are addressed and fixed this CL will be relanded.

Original change's description:
> [dart] Enable constant-update-2018
> 
> Change-Id: Ib3942b4f6e336a02826305d9f81839333a5464a0
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106943
> Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
> Commit-Queue: Vyacheslav Egorov <vegorov@google.com>

TBR=paulberry@google.com,vegorov@google.com,athom@google.com,vsm@google.com,aadilmaan@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I5796881412cec464f450ff3894ca253c58edc4a2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109308
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2019-07-16 22:30:36 +00:00
Brian Wilkerson 9d98dfcb49 Resolve operators whose left operand is an extension override
Change-Id: I2731e5c95cd9c3c3e127124ad22d08a8695b1235
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109311
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-16 22:04:28 +00:00