Commit Graph

40388 Commits

Author SHA1 Message Date
Danny Tuppeny 4e63cd37eb [analysis_server] Migrate remaining FoldingRegion tests to use TestCode.parse()
+ split large annotations test up

Change-Id: I5071f4310ea3bf784e40ae1bcd1f9e497551e912
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260540
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-09-22 16:33:18 +00:00
Danny Tuppeny 64a2e5c114 [analysis_server] Add a new mechanism for marking up test code with regions/positions
Change-Id: I45ca24d2360f7201a563145a19c5291f83b9465c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259424
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2022-09-22 16:33:18 +00:00
Konstantin Shcheglov 79f407c45c Use 'new' as the reference name for unnamed constructors.
Change-Id: I50ea1f373de8fd57aa1cd44772a8b31f73862c43
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260449
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-09-22 16:09:28 +00:00
William Hesse 51b6dba707 [infra] Handle shutdown failures in webdriver browser controllers
Change-Id: I4c3b457e9167e08afef2e3f4aff92d2b3011a02f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260541
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2022-09-22 15:23:37 +00:00
Paul Berry 043f18f843 Flow analysis: use a callback to check if a property is promotable.
Previously we expected the client to provide a set of promotable
fields, which worked well for testing.  But using a callback gives the
client more flexibility (e.g. it would allow field promotability to be
computed on demand based on other data).

Bug: https://github.com/dart-lang/language/issues/2020
Change-Id: I40683a4c19a17147e86f0faa1339aa025da35229
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256962
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2022-09-22 13:09:07 +00:00
Paul Berry 872e4c5696 Migration: properly handle accesses to getters in mixins.
Bug: https://b.corp.google.com/issues/246998513
Change-Id: I8ca1fe87f256dbf4f31fca9bd3f555d1def4bb3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260446
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2022-09-22 12:26:17 +00:00
Chloe Stefantsova 78dd98a8f4 [cfe] Add tests for NORM on records
Part of https://github.com/dart-lang/sdk/issues/49749

Change-Id: I7a72eeb14000823067736c8c010a83481677d9b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260521
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2022-09-22 10:11:38 +00:00
Ömer Sinan Ağacan 2c612c19f0 259546: Roll Dart Protobuf Support from cd0ff30759d8 to 1d175bef6043
Re-submitting 259546 with updated golden tests.

https://dart.googlesource.com/protobuf/+log/cd0ff30759d8..1d175bef6043

2022-09-16 omersa@google.com Fix $_getMap return value when mutability when message is read-only (#754)
2022-09-16 omersa@google.com Eliminate more type casts when targeting JS (#732)
2022-09-15 omersa@google.com Make subBuilder args of BuilderInfo message methods required (#753)

Change-Id: I0447b0ba277251e49dc373941599039e0e041019
Tested: CL updates test golden expectations
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259740
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Ömer Ağacan <omersa@google.com>
2022-09-22 09:48:37 +00:00
Joshua Litt fea406591e [dart2wasm] Fix for tearoffs in allowInterop.
Change-Id: Ic753bb22af345e4825f2a142fa262504a562e7c4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260283
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2022-09-22 03:04:17 +00:00
Konstantin Shcheglov e03170035a Deprecate 'get name2', use 'get name' instead.
Change-Id: Iee8ef5fb6700d96c857a22a99dc61dac3da88572
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260443
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-09-22 02:22:47 +00:00
Konstantin Shcheglov c86158bf81 Use textual dumps in SuperFormalParameterTest.
Verify that the declared element of SuperFormalParameter is in the
list of ParameterElement(s) for all dumps, not only in some tests.

Change-Id: I45e92a1a7ff71c6768bb3559423604543d932741
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260447
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-09-22 01:25:46 +00:00
Nate Biggs 182742a61c [dart2js] Migrate masks.dart (and associated part files) to null safety
The changes between inferrer/ and inferrer_experimental/ are identical. The changes were made in one and then the files were re-copied into the other.

Change-Id: I2bb9d54ee39e8b9acba55e5e4c83392e5ab59586
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260320
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
2022-09-22 00:29:47 +00:00
Nate Biggs 48b2cb6ea2 [dart2js] Prep for masks.dart null safety migration.
The changes between inferrer/ and inferrer_experimental/ are identical. The changes were made in one and then the files were re-copied into the other.

Change-Id: I5efd388913a2bdab9d6da028c0b753ba7264f3c1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260246
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
2022-09-21 23:37:46 +00:00
Paul Berry 3fdc3c2588 Integrate shared type analysis of switch statements with analyzer.
This change replaces ResolverVisitor.visitSwitchStatement
with a call to the new shared type analyzer, and implements the
necessary callbacks to allow analysis to work end-to-end.

Additionally, it changes the convention context types in resolver
methods so that UnknownInferredType is now consistently used to
represent the unknown type (`?`).  Previously `null` was sometimes
used instead.

Change-Id: Idb81a7dc888dfbf460c78b93a99367c0c9263610
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256960
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2022-09-21 23:00:20 +00:00
Konstantin Shcheglov 18a73f7591 Support for resolving RecordType fields through type parameters bound with it.
Bug: https://github.com/dart-lang/sdk/issues/50006
Change-Id: I8b9fcff2c7bb560a764a336c8dceccbfdd06cdaa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260420
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-09-21 21:17:46 +00:00
Konstantin Shcheglov 58c07f8d61 Remove assertElement2() for staticParameterElement from MetadataResolutionTest.
We already include this information into textual dumps.

Change-Id: I2c5bc62a758a7907d48851ede92099fffb95989b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260445
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-09-21 21:08:13 +00:00
Konstantin Shcheglov f9d6f010b5 Remove unused AST / token extensions for check().
We switched to using textual dumps instead.

Change-Id: Ic8655547a26c927c647c80176fdc5b563b893cc4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260444
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-09-21 21:08:08 +00:00
Nate Biggs 76169b54a8 [dart2js] Migrate interceptor_data.dart to null safety.
Change-Id: I0c3f767cad1ae372d116a13b408affb967a56f2a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260245
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Auto-Submit: Nate Biggs <natebiggs@google.com>
2022-09-21 19:56:01 +00:00
Nate Biggs 3a7e7430dc [dart2js] Prep interceptor_data.dart for migration.
Change-Id: If3db12dd0fb02c09906503150525d2381c65f2ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260244
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Auto-Submit: Nate Biggs <natebiggs@google.com>
2022-09-21 19:56:01 +00:00
Konstantin Shcheglov a0b9951a3e Support for RecordLiteral as potentially constants.
Bug: https://github.com/dart-lang/sdk/issues/50000
Change-Id: I73e3367dc6d56472f34765b108b12f0f10c02975
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260400
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-09-21 17:51:58 +00:00
Ahmed Ashour e09493b7bc [analyzer] use preferred quote-style when generating imports
Bug #49559

Change-Id: Ib77ea67bb1ea15bfabb1c717cfb5abf13fd6d3cb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-09-21 17:12:46 +00:00
Konstantin Shcheglov 126d79e27a Use named parameters for a few AST nodes.
Change-Id: Iee8edcca9ae38e34e39a4156d5488f53fecbf0ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260280
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2022-09-21 15:45:56 +00:00
Johnni Winther 3e6050a158 [cfe] Handle structurally constant record literals
Closes #50022

Change-Id: I608ce2cd66a5d88c0c69636350b779c32569b056
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260362
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
2022-09-21 14:19:16 +00:00
Johnni Winther 24c8a19439 [cfe] Handle RecordType in isInstantiatedVisitor
Closes #50021

Change-Id: Ifb608247d0ecef3de4388bec7891afc8be00f998
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260112
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2022-09-21 12:07:36 +00:00
Aske Simon Christensen b85443e333 [dart2wasm] Skip selectors with no implementations in dispatch table
This fixes a case of an empty selector in the dispatch table in
`lib/js/static_interop_test/mock/mockito_test`.

Change-Id: Ia4e409b4d45c71de8691f1290a853017bc56399f
Cq-Include-Trybots: luci.dart.try:dart2wasm-linux-x64-d8-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259741
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2022-09-21 09:56:36 +00:00
Johnni Winther 281a8a5d2b [cfe] Implement RecordLiteral.transformOrRemoveChildren
Closes #50004

Change-Id: Iaea68b563bd59bb3280bd6ffb86f18d50f3d2a4b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260105
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2022-09-21 08:49:16 +00:00
Oleh Prypin fba97eb77f Allow hooking into DeprecatedMemberUseVerifier for other use
Split out a base class with an abstract `reportError` method that can be overriden to possibly filter errors or report them in a different way.

For the main class there is no change in behavior at all, it just implements `reportError` with the prior behavior.

Bug: b/247790768
Change-Id: I56e9afcd40b35db0063a25bfa4f6afb763267103
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260200
Auto-Submit: Oleh Prypin <oprypin@google.com>
Commit-Queue: Oleh Prypin <oprypin@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-09-21 08:00:05 +00:00
Konstantin Shcheglov 1aa398d4be Report EXPECTED_NAMED_TYPE_X when not a NamedType is parsed.
Change-Id: Ibebc276777075da12e36642f08291fa9a9f9ac91
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260073
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-09-21 02:24:45 +00:00
Konstantin Shcheglov 1ad52e061a Test for Expression.inConstantContext when the expression is RecordLiteral.
Change-Id: I1330b966296e9521bdb0d5e576cd1a63f2c5fbdc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260077
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-09-20 21:31:35 +00:00
Paul Berry 4ab18dac68 Shared type analysis for patterns: rename finishStatementCase
The new name, `handleMergedStatementCase`, is more consistent with the
rest of the type analyzer's `handle` methods, and more accurately
describes when the method is called (after a switch body that's
potentially shared by multiple case heads and possibly a `default`
clause).

Change-Id: I4f3166d5f58432f9f1cc0edffb3c0a317539ea23
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260064
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2022-09-20 20:37:09 +00:00
Konstantin Shcheglov eb00d038c7 Update Expression.inConstantContext to support RecordLiteral(s).
Change-Id: I02c3692c359e65822d30a4e931b14dec5963fef0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260065
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-09-20 20:32:55 +00:00
Sigmund Cherem 3add88c955 [dart2js] cleanup element_map_impl
Small follow up cleanup in element_map_impl addressing comments from the
previous code review.

Change-Id: I1eea8bba35575b953de4686351e60f0cbf353d84
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260066
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2022-09-20 20:09:05 +00:00
Sigmund Cherem 755f124fcd [dart2js] prepare to migrate kernel/env.dart
This makes kernel/env.dart fully ready for migration.

Change-Id: I1baa5bc7280236e5e2dfdfb060525752eb68c2d7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260067
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2022-09-20 20:08:37 +00:00
Nate Biggs a263aeee33 [dart2js] Add methods to closed world for call graph generation.
Change-Id: I22240a93e785eea0505d3594fbc41306890e24ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260241
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
2022-09-20 19:54:35 +00:00
Nate Biggs e96a0f6c98 [dart2js] Use experimental type strategy from compiler based on flag.
Change-Id: I3b79750691792f8f4cc7a8c09d2d4cc9b142f074
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260240
Reviewed-by: Mayank Patke <fishythefish@google.com>
2022-09-20 19:54:35 +00:00
Ben Konyi 4eda3397f3 [ DDS ] Fix IsolateManager.initialize() not correctly handling Sentinel responses
Fixes https://github.com/flutter/flutter/issues/111926

Change-Id: Iabde854f74410c0eb85f1e4d4ac24f6756395ad1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260220
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Jason Simmons <jsimmons@google.com>
2022-09-20 18:51:05 +00:00
Oleh Prypin c0b40136e5 Revert "[ddc] Add non-null assertions when setting fields"
This reverts commit c590001ef0.

Reason for revert: Breaks google3 (b/247639927)

Original change's description:
> [ddc] Add non-null assertions when setting fields
>
> Re-land previously reverted change:
> https://dart-review.googlesource.com/c/sdk/+/258780
>
> Adds additional tests and more checks to ensure assertions are only
> added in libraries that have been migrated to null safety.
>
> Issue: https://github.com/dart-lang/sdk/issues/49918
> Change-Id: If0b9bca9fe0d7db5e15023fe03ccac891af568e8
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259120
> Reviewed-by: Sigmund Cherem <sigmund@google.com>
> Commit-Queue: Nicholas Shahan <nshahan@google.com>

TBR=sigmund@google.com,nshahan@google.com,annagrin@google.com

Change-Id: Iee2d33005cbabfacab7fc5c45046c6eeb8e31b01
Issue: https://github.com/dart-lang/sdk/issues/49918
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260106
Reviewed-by: Oleh Prypin <oprypin@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2022-09-20 17:19:38 +00:00
Paul Berry 380a505b0d Shared type analysis: add more pattern types.
Support for the following pattern types is added to the (as yet
unused) shared type analysis prototype:

- Cast patterns
- List patterns
- Logical-and patterns
- Logical-or patterns
- Null-assert patterns
- Null-check patterns
- Wildcard patterns

Change-Id: I923df94b5deef925ca94e6ff0c8eac0493f69c1c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/257602
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2022-09-20 17:15:15 +00:00
Ahmed Ashour 6e03189e2b [analyzer] fix diagnostics for lints map
Fixes #49651

Change-Id: I87b14e407e699da8b9247eed93d957e2ba12e22d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/257520
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-09-20 17:11:35 +00:00
Ahmed Ashour de68893488 [analysis_server] FlutterRemoveWidget to handle Builder
Fixes #49949

Change-Id: I6b6b0454661523f622256199f1ebd4051e37ec0e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259590
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-09-20 17:04:35 +00:00
Sigmund Cherem 7d46dac715 [dart2js] improve nullsafe API for a few _find* methods
A few private methods in common/elements.dart are used to lookup classes
and members. This is a step in normalizing these methods, so that we use
different APIs when the values are required and when they are not.

Ideally this is a change we'd do more generally in our APIs (e.g. the env APIs
should be split).


Change-Id: Iacc2f012f6f60ae960c61d8897630f6a7f1d60e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260080
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2022-09-20 16:34:45 +00:00
Ahmed Ashour f92aaae20c [analyzer] UNUSED_RESULT to handle PrefixExpression
Fixes #49975

Change-Id: I30d08994b214b5bb453b45ca4ef98c45cebc22a6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259589
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-09-20 16:30:25 +00:00
Sam Rawlins 065b7d6d62 Evaluate several diagnostics for fixes
Change-Id: I223aa59b3e0833ce6d3a11a223efa706e30afbc1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260063
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-09-20 16:24:35 +00:00
Kallen Tu 7578614639 Remove dynamic invocations from custom elements in html_dart2js.
Registering custom elements are already broken -- see: https://github.com/dart-lang/sdk/issues/49536. There are plans on deleting this code at some point. This current change cleans up dynamic invocations in the deprecated code.

Removes cruft on already-deprecated code and doing it now because I assume dynamic clean up will finish before the issue resolves.

Change-Id: Ic6250c139c5d9b08d88650110f55442a7bf5dd42
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259247
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Lasse Nielsen <lrn@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2022-09-20 16:16:06 +00:00
Konstantin Shcheglov 139344eb28 Support for RecordState in DartObjectPrinter.
Change-Id: I44481daa436916841620491529178036fc46456a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260003
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2022-09-20 16:05:05 +00:00
Paul Berry 84b71e55d4 Shared type analysis for patterns: clean up switch data structures.
- `CaseHeadInfo` is renamed to `CaseHeadOrDefaultInfo`, to reflect the
  fact that it is used for both case heads and default clauses.

- `CaseHeadOrDefaultInfo.node` is no longer needed; this used to be
  used for error reporting, but after the refactor of
  https://dart-review.googlesource.com/c/sdk/+/259021 is was no longer
  used.

- `ExpressionCaseInfo` is renamed to `SwitchExpressionMemberInfo`,
  consistent with the AST structure `SwitchExpressionMember` in the
  analyzer.

- `SwitchExpressionMemberInfo.body` is renamed to
  `SwitchExpressionMemberInfo.expression`, consistent with the
  nomenclature used in the analyzer.

- `StatementCaseInfo` is renamed to `SwitchStatementMemberInfo` for
  consistency with `SwitchExpressionMemberInfo`.  Note that the
  analyzer calls its corresponding AST structure `SwitchMember` rather
  than `SwitchStatementMember` for legacy reasons.

- `SwitchExpressionMemberInfo` no longer extends
  `CaseHeadOrDefaultInfo`; it contains a pointer to the head or
  default info.  This is more consistent with
  `SwitchStatementMemberInfo`.

Change-Id: I727766a6f0601ec5cd8aff824364319a54446bd2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259880
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2022-09-20 14:03:35 +00:00
Paul Berry 50ac31f286 Shared pattern logic: clean up nomenclature around guards.
Change-Id: I596362dab53ac2efc68cb45dbb29feab80c6240a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259463
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2022-09-20 13:02:16 +00:00
Sigmund Cherem 026f253075 [dart2js] migreate js_model/element_map_impl
Change-Id: Ie490c4b592a9caa155d22eefe24af1a2816414df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259640
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2022-09-20 04:14:52 +00:00
Konstantin Shcheglov 81efd79749 Support for RecordState in DArtObject.getField()
Change-Id: I095ee40e69617b0a45c1bcb493ef4891dbef4138
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260002
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-09-19 23:56:41 +00:00
Nicholas Shahan c590001ef0 [ddc] Add non-null assertions when setting fields
Re-land previously reverted change:
https://dart-review.googlesource.com/c/sdk/+/258780

Adds additional tests and more checks to ensure assertions are only
added in libraries that have been migrated to null safety.

Issue: https://github.com/dart-lang/sdk/issues/49918
Change-Id: If0b9bca9fe0d7db5e15023fe03ccac891af568e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259120
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2022-09-19 23:39:03 +00:00