Commit Graph

6070 Commits

Author SHA1 Message Date
danrubel 36e6eb36c5 rename and reword invalid initializer error messages
Change-Id: Ieae7b11f6aee46567247dbc9532098e7541774b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97720
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-23 15:59:43 +00:00
Konstantin Shcheglov 290ab228b7 Resynthesize DefaultFieldFormalParameterElementImpl.
R=brianwilkerson@google.com

Change-Id: I7b59a8c8df8812acc6a620ef57cfd2b5c8e24e92
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97681
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-23 02:00:12 +00:00
Mike Fairhurst 9d616fe839 Add support for >>> in summaries
Change-Id: I92092085d9a12093f15ae86783327aade8b4ac4b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97605
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-22 23:35:41 +00:00
Nicholas Shahan 19a817e785 [analyzer] Fix utility classes ignoring await in for statement/element
Change-Id: I141f13a6a0be1661cb97c5ed9c87729cf257907c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97521
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-22 23:12:34 +00:00
Konstantin Shcheglov 0b4fdc46fe Compute export scopes for source libraries.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Idd3ebaf6c17ed2744b9cfd8cf770e1fc0f3a42ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-22 21:19:11 +00:00
Brian Wilkerson 9c6a882af0 Add SDK constraint checks for the constant update 2018 features
Change-Id: I308a32de5e73a93d8dead38ab45c130f88ef706d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97567
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-22 20:09:01 +00:00
Konstantin Shcheglov a8d0a33360 Build elements for local FunctionExpression(s) and parameters while reading AST.
So, when we resolve AST to perform inference, references to parameters
are resolved, their types are available, so we can infer return types,
and  types based on types of these closures.

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

Change-Id: Id230f2d08c17a490a7ac4287b0212e426daac946
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97603
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-22 20:08:11 +00:00
Mike Fairhurst a8831e7481 Handle _FROM_DEFERRED_LIBRARY codes for ui as code
Change-Id: Ie75eea20cd692331c25e2bb20bc11db30fbd749a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96851
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-22 18:53:49 +00:00
Mike Fairhurst ddcc63e1ad [Analyzer] move usage of mostSpecificTypeArgument in strong checker
Change-Id: Ie8ea3287c891a52025cb11165fc5ef5274bd5439
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97344
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-03-22 17:28:06 +00:00
danrubel f3ac707aea report error for invalid super/this initializer
This reports an error for two more invalid initializer situations
to address comment in https://dart-review.googlesource.com/c/sdk/+/97404

The comments about error message text will be addressed in a subsequent CL.

Change-Id: I45785ae7de4adfdb63a238383e6accf465bd8a74
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97601
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-03-22 13:40:10 +00:00
danrubel 4cd410d6ac add parser listener handleErrorToken event
Change-Id: I11ae5f8d25248b9cc3586edbc6e49037d99bb5a4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97555
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-03-22 13:36:35 +00:00
Konstantin Shcheglov fa74184b7a Verify that constructor initializers use only potentially constant expressions.
...but don't evaluate them, because they don't have to be constants.

R=brianwilkerson@google.com

Change-Id: I5bc44a02947c1682da85c1f22b3fc28b52b13370
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97549
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-22 02:50:43 +00:00
danrubel 8b8a8f7b4e Report error for invalid this/super in initializer
Fix https://github.com/dart-lang/sdk/issues/36262

Change-Id: I20b0997f58a2835b87869952f186fbe83bfe5e3b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97404
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-03-22 01:43:13 +00:00
Mike Fairhurst 602ac1226d Check if element conditions for downcasts
Change-Id: Ie1277f0efd5b327d1d068c0f8ce21f377313ee82
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97543
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-21 20:49:12 +00:00
Konstantin Shcheglov 2ffe0c7b7a Report not potential constants in ShortCircuitOperators.
Also fix getNotPotentiallyConstants() to allow parameters of const
constructors in constructor initializers.

I'n not sure about using new CompileTimeErrorCode.NOT_POTENTIAL_CONSTANT,
it could be generic INVALID_CONSTANT, and report for constant literal
elements errors like NON_CONSTANT_LIST_ELEMENT, or NON_CONSTANT_MAP_KEY.
So, a bit inconsistency maybe, but we give more specific errors.

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

Change-Id: I88d8db77f7e5521e03e623cc26171a70599ba614
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97522
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-21 20:18:42 +00:00
Mike Fairhurst 40e77d29d5 Tests for implicit cast properties; add cast for <T>[...dynamic].
Change-Id: Ia04c75d304dc6673c9f637c9007a8eb60062078c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97461
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-03-21 18:34:47 +00:00
Konstantin Shcheglov 02d5d26b83 Fix for 'int' in const List<void>.
This is another issue with runtimeTypeMatch(). This time we will use
both, TypeSystem and DartType.isSubtypeOf(), and accept the value if
any of them succeedes.

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

Change-Id: I77294485e1d62e016e25992ba869e909608b1e42
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97540
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-21 17:37:27 +00:00
Konstantin Shcheglov ba0147ac07 Resynthesize typedef(s) and generic function types.
R=brianwilkerson@google.com

Change-Id: I3ee3014ffc615052ef077dbf58947330e4ca5e17
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97420
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-21 16:11:18 +00:00
danrubel 1d7dcfff97 Cleanup scanner tests
Change-Id: I9d579b136c6ff8f83cea1715f3e698eeca8692f6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97446
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-03-21 15:01:18 +00:00
Paul Berry 46e0a87008 Add summary support for "for each" elements with declarations.
Change-Id: I9bdc8027ce002e87e6a34b3e306f6ef27bbfac59
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97444
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-21 13:36:52 +00:00
Paul Berry 915b35e463 Add summary support for "for each" elements with identifiers.
Change-Id: Id75fbf13d2d7063ff1e3e0122f801321adf0ef89
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97442
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-21 13:28:32 +00:00
Paul Berry 9b5a956a0e Remove AstTestFactory.forStatement2
Change-Id: I8738ffbf1579e070c81c732f818c8ac6582debda
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97460
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-03-21 12:48:10 +00:00
Paul Berry ecb1bff326 Add summary support for for elements with declarations.
Change-Id: Icd0bde20772c96c40a09ca302ec3a18f07511a55
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97401
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-03-20 23:08:16 +00:00
Paul Berry 7d277c4a32 Introduce methods and classes to replace "2" variants left over from "UI as code" work.
The AST refactor for "UI as code" left behind a few things whose names
ended in "2".  This CL deprecates those things and creates
replacements that don't end in "2", so that we keep the API clean.  In
a future breaking change release of the analyzer we'll remove the
deprecated things.

The following methods and classes are added:
- ForStatement and ForStatementImpl
- ListLiteral.elements
- SetOrMapLiteral.elements
- AstVisitor.visitForStatement
- AstFactory.forStatement
- NodeLintRegistry.addForStatement

The following methods and classes are deprecated:
- ForStatement2 and ForStatement2Impl
- ListLiteral.elements2
- SetOrMapLiteral.elements2
- AstVisitor.visitForStatement2
- AstFactory.forStatement2
- NodeLintRegistry.addForStatement2

In a similar way to how we did the previous stage of AST migration,
the existing visitors have been modified so that the default
implementation of visitForStatement2 redirects to visitForStatement;
this allows clients to change their overrides of visitForStatement2 to
override visitForStatement instead.  Once all clients have been
migrated we will be able to delete the visitForStatement2 method.

Change-Id: Ife5949071fe4cb50791cd4f2f4b99a1bfaad54c1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97360
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-20 22:58:55 +00:00
Paul Berry c79927fdd7 Change type of Expression.precedence to the Precedence class.
This is a breaking change, however clients that switched to using
`Expression.precedence2` (which was introduced in analyzer release
0.35.3) are unaffected.  After this change, clients may switch back to
using `Expression.precedence`.

Change-Id: Ia952c44001bdea91d32082add0be7e10c9936181
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/94000
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-03-20 22:13:15 +00:00
danrubel 24e5f9142a Revise ElementResolver postfix NNBD bang processing
... to address comments in https://dart-review.googlesource.com/c/sdk/+/97266

Change-Id: I036858d1b0159948c5bd64f6448bc6cd8d0e3e4b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97380
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-03-20 20:34:49 +00:00
Mike Fairhurst 2919b5577f [Analyzer] move usage of mostSpecificTypeArgument in resolver
Change-Id: I8873d8f2c70805d34d259aafe5c9d4d2cc2735f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97279
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-03-20 20:16:19 +00:00
Konstantin Shcheglov d9371f206d Integration test for AstBinaryWriter and AstBinaryReader.
Write and read every Dart file in pkg/.

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

Change-Id: I16df3188b3fac85925027b7f0ee385d1a522c31c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97350
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-20 19:52:31 +00:00
Konstantin Shcheglov 6135a81d51 Separate type reference resolution and types building.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Ib29468e283ecc808e87537ee283ed2262f438b11
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97277
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-20 15:55:45 +00:00
Konstantin Shcheglov 8556e97218 Remove ResultProvider and its implementations.
R=brianwilkerson@google.com

Change-Id: Ia946a4a68ad8a4da8a2f282a02a75fc809ec980a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97269
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-20 15:43:02 +00:00
Brian Wilkerson 495c319574 Reland "Add hints to check the SDK constraints for both set literals and for the ui-as-code features"
Change-Id: I511ea50c835c73d7eed518902ebdfa9497d03f9a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97267
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-20 15:40:22 +00:00
Paul Berry 416649250f Rework tracking of variables in scope while summarizing expressions.
The new formulation allows easy popping of variables when leaving
nested scopes.  This should make it easier to support "for" collection
elements that declare variables.

Change-Id: Ib1a3f5085287573de99298eca772ce631837fc04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97287
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-03-20 14:36:42 +00:00
Paul Berry b18b626d78 Remove deprecated AST structures related to the "UI as code" feature.
This constitutes a breaking change, so the analyzer major version
number is bumped to 36.  Clients that have stopped using the removed
data structures (and the methods associated with them) should be
unaffected.

Change-Id: Iab68ecf8d10a13013ebb6b1198c54755225d0eb7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95704
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-20 03:36:42 +00:00
Jenny Messerly 7fe4253a4e [analyzer] fix #36158, implicit cast missing on covariant return type
Due to API changes, the implicit cast visitor (CodeChecker) was not
finding the correct substituted member type, so the implicit return
type cast was not inserted.

Also fixes another issue that paulberry@ discovered: covariant return
type casts were overwriting the implicit casts from the context type.
The context type should always take priority; implicit covariance
checks are only needed when there isn't a type cast from the context.

Change-Id: I998e8f87371c15175c57864b7e334449268fe339
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97143
Reviewed-by: Paul Berry <paulberry@google.com>
2019-03-20 00:33:41 +00:00
Mike Fairhurst 9c8e6dc42c [analyzer] rewrite mostSpecificTypeArgument to use asInstanceOf
Change-Id: If7c9e9e9cdc1999c6f7d3c74d081a457f9fc229e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97278
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-03-19 22:50:19 +00:00
Mike Fairhurst d0bdfee041 Fix DDC cast -- cast key/value/element individually & don't clobber names.
Change-Id: Id5175782667b760545dac15b02c2a41836137571
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97178
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
2019-03-19 21:06:48 +00:00
Konstantin Shcheglov 67243e0396 AstTextPrinter that prints AST tokens into their original positions.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I3ca2167c43408c535f61179ec7ea701acd65cc57
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95600
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-19 20:57:29 +00:00
Konstantin Shcheglov 85e5684863 Remove OptionsWorkManager and GenerateOptionsErrorsTask is not a task.
R=brianwilkerson@google.com

Change-Id: Ic257c13a553835f78bd7bc0778dd33c327097af9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97284
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-19 19:03:03 +00:00
Konstantin Shcheglov 2ceaccf5f6 Report EQUAL_ELEMENTS_IN_CONST_SET.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I6f358c4f78deabc575479070d3ff23efb438ae64
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97177
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-19 15:55:18 +00:00
Dan Rubel 0c34bf13ea update ElementResolver postfix NNBD bang processing
Change-Id: I700bedc55c42da914fab6d25f4f3620a6ce0b022
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97266
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-03-19 15:35:26 +00:00
Paul Berry f890800fb0 Rework tracking of variables in scope while resynthesizing expressions.
The new formulation allows easy popping of variables when leaving
nested scopes.  This should make it easier to support "for" collection
elements that declare variables.

Change-Id: Ie1dbb11c50677936973acef804b2496a0d00a84a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97172
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-03-19 14:14:46 +00:00
Paul Berry 527b10879e Begin adding summary support for for elements.
Change-Id: Icdcfba5caaac34375b65c838dabc97e9b9201ee9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97120
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-18 21:13:10 +00:00
Mike Fairhurst 42ab0a6a63 Handle downcasts for spreads
Change-Id: If87a384a29399123951384b7474cfc8632a7ad0e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97144
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
2019-03-18 20:57:10 +00:00
Paul Berry 1c685bf370 Sort declarations in pkg/analyzer/lib/src/dart/ast/ast.dart
Change-Id: Ic03f94f3e7a2a64d0f19f2240363718082e703f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97164
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-03-18 16:31:05 +00:00
Konstantin Shcheglov daa6ee6da9 Report NOT_ITERABLE_SPREAD and NOT_MAP_SPREAD.
R=brianwilkerson@google.com

Change-Id: I6668787b5b88d5125852e38bd9d30010e36c354b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97160
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-17 17:27:03 +00:00
Konstantin Shcheglov d920a2a5ab Report NON_CONSTANT_XYZ in not taken branches of IfElement.
R=brianwilkerson@google.com

Change-Id: I27e8a3b99140046399cdcc8daaa7ecc28ffa62df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97010
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-16 22:43:34 +00:00
Brian Wilkerson 976b897bd0 Report non-bool conditions in const expressions in evaluation
Change-Id: I6c0297ba6d06f0487b3419037109517479b1b794
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97124
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-16 18:52:11 +00:00
Konstantin Shcheglov 1d9f34963e Use StoreBasedSummaryResynthesizer directly in LibraryContext.
R=brianwilkerson@google.com

Change-Id: I29583bf4f63bf47b54982688d0f10df02745f7fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97009
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-16 18:22:41 +00:00
Brian Wilkerson 43a31ff24e Report equal keys in maps when the keys come from a spread element
Change-Id: I92106a53c2e1752e1ffb1073e124268a692e5905
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97146
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-03-16 15:21:01 +00:00
Konstantin Shcheglov 0d5ab9380a Add getNotPotentiallyConstants() and isConstantTypeExpression().
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I1db7d336f71d307274917d49f8f414217e62dd16
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97005
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-16 03:11:52 +00:00