Commit Graph

6070 Commits

Author SHA1 Message Date
Konstantin Shcheglov cc1ddfb337 Issue 36212. Fix for updated part without library.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/36212
Change-Id: Ib0c43685c0b9f167591232d384a7fc5e426c07d5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97007
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-16 02:13:12 +00:00
Konstantin Shcheglov d597166f9b Remove Dart tasks and work manager.
R=brianwilkerson@google.com

Change-Id: I5aaaa0ea5051b4ae639457d260486dbc973abcd9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97140
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-16 00:49:22 +00:00
Brian Wilkerson 43c13284e4 Revert "Reland "Add hints to check the SDK constraints for both set literals and for the ui-as-code features""
This reverts commit 75679e06c2.

Reason for revert: Missed the SDK constraint in one place (or a set literal was added).

Original change's description:
> Reland "Add hints to check the SDK constraints for both set literals and for the ui-as-code features"
> 
> This is a reland of 5fdb3c5057
> 
> Original change's description:
> > Add hints to check the SDK constraints for both set literals and for the ui-as-code features
> > 
> > Change-Id: I1046e57304d56e6d7f088ea1a8a054318a45ac37
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96837
> > Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
> > Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
> 
> Change-Id: Ic2fd6d4ad82b6882e20373d224177ea8ebc4685b
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97121
> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
> Reviewed-by: Paul Berry <paulberry@google.com>
> Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>

TBR=paulberry@google.com,scheglov@google.com,brianwilkerson@google.com

Change-Id: I27c980cc5ed352b13c7510df55c704f7a6622837
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97046
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-03-15 19:54:26 +00:00
Brian Wilkerson 75679e06c2 Reland "Add hints to check the SDK constraints for both set literals and for the ui-as-code features"
This is a reland of 5fdb3c5057

Original change's description:
> Add hints to check the SDK constraints for both set literals and for the ui-as-code features
> 
> Change-Id: I1046e57304d56e6d7f088ea1a8a054318a45ac37
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96837
> Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>

Change-Id: Ic2fd6d4ad82b6882e20373d224177ea8ebc4685b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97121
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-03-15 17:38:15 +00:00
Brian Wilkerson 7f8eed0862 Update the partial constant evaluator to handle a limited subset of map literals in unresolved code
Change-Id: I1f37dd57628912b971f5323432b19f9ca272c675
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97021
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-03-15 16:11:15 +00:00
Paul Berry 02ffcb8f42 Add summary support for if elements.
Change-Id: I32582b9608bcf92cabfac94e1d796036198818a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97023
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-03-15 15:39:25 +00:00
Konstantin Shcheglov af633531ab Report key/value type mismatch.
R=brianwilkerson@google.com

Change-Id: If4d4710228935816b98d1250f73b2c1fc600be56
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97061
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-15 14:18:34 +00:00
Paul Berry b216335e69 Add summary support for spread elements.
Change-Id: I5c306225aacca997ef104e7a2b18001dab38201d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96966
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-15 12:53:44 +00:00
Paul Berry 652948175e Use a dynamic downward inference context for invalid ambiguous set/map literals.
Change-Id: I734c77f41b28f27751548e58bfeabb40e0bfa95e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96965
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-03-15 12:19:05 +00:00
Konstantin Shcheglov 262878086d Extract _ConstLiteralVerifier and split it into literal / operation methods.
R=brianwilkerson@google.com

Change-Id: I4e3412625cd8c1350bdf7dbc32d92000bc53600e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96986
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-15 00:33:13 +00:00
Brian Wilkerson c3005ee81f Add error codes for expressions in maps and map entries not in maps
Change-Id: I2fdebac61f697710b4fd945f694c28626dabee93
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96985
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-03-14 22:01:53 +00:00
Konstantin Shcheglov 208f8b5441 Restore checks for leaf elements in ErrorVerifier.
We still need to check static types of leaf elements.
But constants might report additional errors using actual value types.

This fixes regressed:
co19_2/LanguageFeatures/Control-flow-collections/static_semantics_A01_t02/09
co19_2/LanguageFeatures/Control-flow-collections/static_semantics_A01_t02/11

R=brianwilkerson@google.com

Change-Id: Id3a6f650507f4b51028ccbde914da9fae836ed03
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97000
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-14 21:11:47 +00:00
Brian Wilkerson 0f4a208c3e Revert "Add hints to check the SDK constraints for both set literals and for the ui-as-code features"
This reverts commit 5fdb3c5057.

Reason for revert: This change broke the flutter bot.

Original change's description:
> Add hints to check the SDK constraints for both set literals and for the ui-as-code features
> 
> Change-Id: I1046e57304d56e6d7f088ea1a8a054318a45ac37
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96837
> Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>

TBR=scheglov@google.com,brianwilkerson@google.com

Change-Id: Ib29592b382cfd3d6b8c39caefc0db63495af1a0b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97001
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-03-14 21:08:39 +00:00
Brian Wilkerson 5fdb3c5057 Add hints to check the SDK constraints for both set literals and for the ui-as-code features
Change-Id: I1046e57304d56e6d7f088ea1a8a054318a45ac37
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96837
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-14 20:25:24 +00:00
Konstantin Shcheglov ca2fc831c4 Check types of values in constant List/Set against the element types.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I19c2b37596dae8fd9f3afb1fadf842be4c944b44
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96983
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-14 19:53:44 +00:00
Paul Berry 7c3ab264e5 Change link methods to take a DeclaredVariables object.
Change-Id: I6cc36f9152fb90642ec3261418e60ac3bdbe5acf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96922
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-14 19:52:24 +00:00
Konstantin Shcheglov 7418238239 Implement LibraryElementForLink.session and return (empty) AnalysisSessionForLink.
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://buganizer.corp.google.com/issues/127956822
Change-Id: Ifc93882d9ae7ae6079497fb10f3feea7ac6fb9e2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96864
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-14 15:39:18 +00:00
Konstantin Shcheglov eeb19b0416 Remove usages of ExtensionManager and package:plugin in general.
R=brianwilkerson@google.com

Change-Id: I489e72464474b3d40d7678f44562f65934f93288
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96863
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-14 15:31:08 +00:00
Konstantin Shcheglov d5ab8b4da2 Resolve ForElement(s) in separate scopes.
R=brianwilkerson@google.com, paulberry@google.com

Context: co19_2/LanguageFeatures/Control-flow-collections/dynamic_semantics_list_A04_t01
Change-Id: I09e63e0821015993aa47736efd729411a9bd67e9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96833
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-14 01:11:26 +00:00
Brian Wilkerson 037b273753 Make List literal inference match the proposal
Change-Id: I8c70fc80d1965a407141c4d1c8e90f1d32bd44ee
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96847
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-14 00:16:56 +00:00
Mike Fairhurst 1bd7920367 Resolve generic function default parameter values
Change-Id: I060ee8f61b8cb74482b92d4057e4183f1e4ca269
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96701
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
2019-03-13 22:44:18 +00:00
Paul Berry 31c47567dc Remove AnalysisOptionsForLink and plumb analysis options through linker.
This is a non-breaking change; the only way linking is exposed to
clients is through `SummaryBuilder`, which can get the analysis
options from the context.

Fixes #35747.

Change-Id: I273408f33a881ac32ab248cbc8f3e0644630563b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96829
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-03-13 22:39:53 +00:00
Konstantin Shcheglov 078c834f25 Extract CONST_SET_ELEMENT_TYPE_IMPLEMENTS_EQUALS test and fix for spreads in sets.
R=brianwilkerson@google.com

Change-Id: I1667d6bdde78a35a542f2ec525d5328573322600
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96830
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-13 21:31:31 +00:00
Brian Wilkerson b5528fa84d Improve the docs for isSet and isMap in SetOrMapLiteral
Change-Id: I7b6769cdb89e728c7678361855481fd4ab307d5a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96827
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Auto-Submit: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-03-13 20:54:01 +00:00
Paul Berry d3a0293a9d Replace unnecessary ?.s with ..
They were triggering a lint (null_aware_in_logical_operator).

Change-Id: Ia6124ae4828270b1d231b44199c376adc04fcc79
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96848
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-03-13 20:23:31 +00:00
Konstantin Shcheglov 2b00685d38 Make SetOrMapLiteral set/map unless we are linking, so going to infer it.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I676975b4fd861f37fcd58c48782f0a4fa59ce178
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96824
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-13 19:16:59 +00:00
Konstantin Shcheglov 81fa14eb3c Hollow out AnalysisContextImpl.
R=brianwilkerson@google.com

Change-Id: I4ebc67de74cc4bbda63c9f0a8f7c11dbc3f25b21
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96720
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-13 15:18:22 +00:00
Konstantin Shcheglov 0a337bb36f Report CONST_SPREAD_EXPECTED_LIST_OR_SET and CONST_SPREAD_EXPECTED_MAP.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I70eb31a19c447d17b4cc60ae2ff3caadb35cc6bd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96712
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-13 06:40:05 +00:00
Konstantin Shcheglov 578fdb0408 Call becomeMap/becomeSet() in AstCloner.
So, that we have a decided kind for constants.

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

Change-Id: Iee2937e8d525c16e57c8efb4807806edeb19e125
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96662
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-12 21:08:04 +00:00
Brian Wilkerson 16e40cef2f Generate a diagnostic when a set or map literal is ambiguous
Change-Id: Ia105468cf921ee2548ed48e286297e10f921a986
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96541
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-12 17:50:40 +00:00
Paul Berry 2d6ddf2aff Remove unnecessary override from PartialResolverVisitor
Change-Id: If05409eadb6dd0baa39dfa6bfe087ae046fe57db
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96661
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-03-12 15:09:12 +00:00
Konstantin Shcheglov 016e3172d1 Default parameters, more metadata, import dart:core.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Ibf31dcc7e0fbea3935f75c7472a23eac4c2999eb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96522
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-12 00:26:01 +00:00
Brian Wilkerson b87c44d6b3 Generate diagnostic for non-bool conditions in if elements
Change-Id: I36bd37a3a3bdfea7ca0853d90299b5fa7d36a352
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96520
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-03-11 21:51:31 +00:00
Konstantin Shcheglov 15842d4583 Build more import scopes, support for enums.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I78c7a8be5b5d4ea9c9ecbc82f0c1101d7819dd30
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96460
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-11 20:16:26 +00:00
Paul Berry f2029f54cd Fix type inference of map/set literals when the context is a type parameter.
Change-Id: Ic78cfd838e7fce4f362770c0827d71b351711e57
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96340
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-03-11 19:48:26 +00:00
Brian Wilkerson bfb30bffe0 Fix a bug in the ConstantVerifier so that conditional elements are lazily verified
Change-Id: Ib8b8d5af3dc3a27280116d275616bf26a482bb90
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96360
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-03-11 19:14:38 +00:00
Paul Berry abd1854176 Fix recording of map/literal context type.
Previously, we were using the storage space provided by
`InferenceContext.getContext` for two purposes: 1. to store the
inference context passed down from the parent AST node, and 2. to
store the refined inference context computed by
ResolverVisitor._computeContextType.  After type inference, the data
that remained was the refined interface context (2); however,
ErrorVerifier._checkForRawTypeErrors was expecting to be able to
retrieve the downward inference context in order to report
`HintCode.STRICT_RAW_TYPE` correctly.  This caused a failure in
test_strictRawTypes_emptyMap (in checker_test.dart).

This CL fixes the issue by storing the refined inference context (2)
in a field in `SetOrMapLiteralImpl`, so that it doesn't overwrite the
downward inference context (1).

It also fixes an issue that was previously obscured by this bug, where
we weren't copying over the downward inference context when replacing
a set literal with a map literal.  (This fix will become irrelevant
after the next breaking change release of the analyzer, when we stop
creating different objects for set vs. map literals, and simply use
the base class `SetOrMapLiteralImpl`).

In addition, ResolverVisitor._computeContextType has been renamed to
_computeSetOrMapLiteralContextType to clarify that it only computes
context information for set/map literals.

Change-Id: I62a9c4bb6fe755acf60b881948538216af81b515
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96261
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-11 16:50:43 +00:00
Konstantin Shcheglov a8b3461f2e New summaries work snapshot.
1. Extract LinkingBundleContext to store references and types.

2. Resolve and resynthesize metadata for many nodes.

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

Change-Id: I88334bd4509efe0182a4bba6a67edac99ed51886
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96262
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-11 15:21:32 +00:00
Paul Berry 9e7627b6a1 Re-land "Eliminate uses of old AST node types from pkg/analyzer/lib/src/summary"
There are two bug fixes:

- Due to dartbug.com/33441, it's possible that a set/map literal
  resynthesized from a summary will have neither its `isSet` or
  `isMap` boolean set to `true`.  We work around the problem for the
  short term assuming such literals are maps.

- The linker method ConstNode.collectDependencies hadn't been updated
  to handle the new summary nodes `makeUntypedSetOrMap` and
  `makeTypedMap2`.

This CL includes unit tests for these two bug fixes.

Original change description:

> Eliminate uses of old AST node types from pkg/analyzer/lib/src/summary
>
> Change-Id: Ida907040d0461d9ae723421eeac71f4e19a8d4b2
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95284
> Commit-Queue: Paul Berry <paulberry@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Bug:

Change-Id: Ie26be4e0e241872ef4c7e183ada1f1d6b5f6e7f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96264
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-03-11 14:43:22 +00:00
Brian Wilkerson 210361ae63 Move IgnoreInfo out of the task model code base
Change-Id: Ib164e66ed96325042c9ab18de6489ab2d1c700ca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96263
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-03-11 13:20:14 +00:00
Konstantin Shcheglov fa90c9abe5 New summaries work snapshot.
1. Extract TokensWriter and TokensContext.

2. Type parameters for more declarations.

Change-Id: Iaeeaa5c8da98c9fa5dce65244ccb28e66d3656a1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96224
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-10 17:06:28 +00:00
Konstantin Shcheglov 1335296750 Move SourceLibraryBuilder builder, support for typedef(s), some type parameters.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I5c78a165d9d4c60bb268dccd4ace47985d98529c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96221
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-09 17:24:06 +00:00
Paul Berry 9e5cf6b09e Improve set/map/list literal type checking.
We now exclusively use StaticWarningCode.*_TYPE_NOT_ASSIGNABLE to
report static errors.
CheckedModeCompileTimeErrorCode.*_TYPE_NOT_ASSIGNABLE is reserved for
future use when #21119 is fixed.

Change-Id: I681b1253417a135272361306cb3468dd9590b17b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96200
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-09 13:43:26 +00:00
Paul Berry f6c8468a98 Revert "Eliminate uses of old AST node types from pkg/analyzer/lib/src/summary"
This reverts commit 0b40a46ab5.

Reason for revert: Broke flutter

Original change's description:
> Eliminate uses of old AST node types from pkg/analyzer/lib/src/summary
> 
> Change-Id: Ida907040d0461d9ae723421eeac71f4e19a8d4b2
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95284
> Commit-Queue: Paul Berry <paulberry@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>

TBR=paulberry@google.com,scheglov@google.com,brianwilkerson@google.com,mfairhurst@google.com

Change-Id: Ie13d23c84ea59c60acf56fd0d73f73c91107f6ed
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96202
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-03-09 00:07:36 +00:00
Paul Berry 0b40a46ab5 Eliminate uses of old AST node types from pkg/analyzer/lib/src/summary
Change-Id: Ida907040d0461d9ae723421eeac71f4e19a8d4b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95284
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-08 23:22:45 +00:00
Konstantin Shcheglov 37fa71dc4e Resolve types in scopes, resynthesize some elements.
Also some very basic top-level inference: field formal initializers in
constructors, initializers of top-level variables (for now ignoring
dependencies), setter return type to `void`.

We pass 172 or 590 resynthesis tests, about 29%.

Change-Id: Id70b80ceb7c794627626a1fe94172b0e9ccdda8b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95672
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-03-08 22:55:59 +00:00
Paul Berry 9f7e11c06b Remove extraneous 3 from method name
Change-Id: I71d3cc8f96254e4f428060ecd3dead82b6d9418a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96146
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-08 22:11:34 +00:00
Paul Berry d4ccff7b54 Fix _inferSetOrMapLiteralType to handle a context of ? correctly.
Also add a comment explaining why it's not necessary to compute the
greatest closure (even though the spec says to do so).

Change-Id: I74f78ca3b6d43fedfaefb13f9120248eb62b283b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96142
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-08 21:36:21 +00:00
Paul Berry 73be247e12 Eliminate uses of old AST node types from pkg/analyzer/lib/src/generated
Change-Id: Icba5f914248124909e38091f846054de8924adc8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/94993
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-08 21:04:20 +00:00
Paul Berry b3b9375ca7 Update comments to refer to the greatest/least closure operation.
Fixes #36129.

Bug: 36129
Change-Id: I29f1182d7071d66d7d9fb6e43b4cb544d52bd344
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96141
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-08 20:28:45 +00:00