Paul Berry
8e5556e158
Migration: remove the enclosingNode parameter of NodeBuilder._handleExecutableDeclaration
...
It is no longer used.
Change-Id: I2ae21ebc427e77842a1d341be034c2e1bfe0eb82
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113211
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-08-15 21:02:42 +00:00
Paul Berry
5498d4cf20
Migration: integrate assignments with flow analysis.
...
Change-Id: Icf5605a1dee354f8cbc58ecb645c1921fe5169c5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113210
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2019-08-15 20:41:22 +00:00
Paul Berry
634711ff23
Migration: rework handling of expressions of the form a?.b += c.
...
Previously we just had to store a single node representing the
nullability of a, since we knew we would visit `a?.b` just before
finishing up the handling of `a?.b += c`. However, in a follow-up CL
we're going to have to change the visit order so that `a?.b` is
visited, then `c`, then `a?.b += c` can be finished up. So we need a
map to store the association between expressions like `a?.b` and the
nullabilities of the corresponding `a`'s.
Change-Id: Ib46769e26dc63d7dc3546bddbab0d5a702a1e0a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113208
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-08-15 19:49:16 +00:00
Paul Berry
3f5f9831d8
Migration: move edge builder flow analysis tests to their own file.
...
Change-Id: I984cfe6a041753cdefefaa2ad12cfaf00e120b6c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113220
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-08-15 17:07:40 +00:00
Paul Berry
59684dab81
Migration: ensure that all local variables are registered with flow analysis.
...
Change-Id: Ie1d57373801f56ca535b25b3f0b85e8d02935892
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113202
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2019-08-15 17:07:40 +00:00
Paul Berry
b3aedc8a60
Migration: ensure that flow analysis is set up properly for additional constructs.
...
Previously we only set it up for top level function declarations and
executables inside classes. Now we set it up for fields and top level
variables as well.
Change-Id: I8e40d6bb8403c2fdd259fb539403593f63ca9a18
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113201
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-08-15 17:07:40 +00:00
Paul Berry
60b9b7096a
Migration: add test infrastructure to verify that visitors don't miss annotation nodes.
...
This required some refactoring of the logic for supporting "permissive
mode".
Change-Id: I946773d9850a84234fb3ecf5581f2429fd9590b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113200
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-08-15 17:07:40 +00:00
Paul Berry
bdf433defd
Migration: hook up flow analysis for && and || expressions.
...
Change-Id: I2fa2806d822abf3e6c51247dbfa9d048d86e858e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113128
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-08-15 13:34:30 +00:00
Paul Berry
12b66ceb9d
Migration: begin hooking up flow analysis.
...
Currently flow analysis is only hooked up for a minimal set of visit
methods that is sufficient to test the basic functionality:
- visitBinaryExpression (currently only handles `== null` and `!= null`)
- visitFunctionDeclaration
- visitIfStatement
- visitReturnStatement
- visitSimpleIdentifier
It will be hooked up to more visit methods in follow-up CLs.
Change-Id: Ifb9be84b99d370dcd2544f29a9b088a8ff0f47b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113047
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-08-14 20:05:52 +00:00
Paul Berry
14825ebaf7
Remove defensive coding around type arguments of Future/FutureOr.
...
These types always have a type argument (possibly dynamic).
Change-Id: I5c8ccc9f6b4e48b4f15415d1d59b8f03d09ad92a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113046
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-08-14 19:08:01 +00:00
Paul Berry
70e31c18a8
Migration: add tests for AlreadyMigratedCodeDecorator.
...
Change-Id: I60c582affb5c08b88221d7aa73c73b7a85e1f603
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113040
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-08-14 13:36:43 +00:00
Mike Fairhurst
39c74d30a1
[nnbd_migration] more postdominator feedback: postdominating locals lists
...
Change-Id: Ib00a238f09fdc247e05b3754403d60db86e1ffbc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112682
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Mike Fairhurst <mfairhurst@google.com >
2019-08-13 17:00:55 +00:00
Paul Berry
59b640ede4
Migration: introduce operator== for decorated types.
...
This is needed for integrating flow analysis with the migration
engine, since flow analysis requires the ability to compare types for
equality.
Change-Id: I7f739d8a47a79d5a8027936cc6dbfbd90dd541e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112848
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-08-13 16:49:14 +00:00
Paul Berry
a5772382dc
Migration: refactor infrastructure for testing decorated types.
...
I have a lot more testing of decorated types to land in follow-up CLs;
this CL introduces a mixin containing helper methods that should make
that testing a lot easier.
Change-Id: I29c17ffb4af65498fcd85704dc404343429e09ad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112847
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-08-13 16:49:14 +00:00
Mike Fairhurst
9ed7471aaf
[nnbd_migration] Add api test for how we don't plan to handle postdominators of cfg edits
...
Change-Id: I8588297a42584a474508a61c4fb83268da7ab615
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112757
Commit-Queue: Mike Fairhurst <mfairhurst@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2019-08-13 00:35:53 +00:00
Mike Fairhurst
998deea338
[nnbd_migration] Handle while loops.
...
Change-Id: I64fe98087cc5da0a97056f0fa96fffbe9f06326f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112406
Auto-Submit: Mike Fairhurst <mfairhurst@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-08-12 22:20:23 +00:00
Mike Fairhurst
5d2c17d729
[nnbd_migration] Handle if elements in lists.
...
Change-Id: Ia892668cc31db2453e24778067b7b2c857813482
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112644
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Mike Fairhurst <mfairhurst@google.com >
2019-08-12 20:24:20 +00:00
Mike Fairhurst
c5365106c3
[nnbd_migration] polish previous postdominator code
...
Change-Id: Ic99389d331dfa9495c57c16f166610c7149e7fb9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112648
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Mike Fairhurst <mfairhurst@google.com >
2019-08-12 20:20:10 +00:00
Mike Fairhurst
26592626c6
[nnbd_migration] Remove TODO now that do-while is more supported
...
Change-Id: Idfaa290290954d6b4bdf131a26f760b85c7e4312
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112649
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Mike Fairhurst <mfairhurst@google.com >
2019-08-12 20:16:15 +00:00
Paul Berry
32e27f68dc
Migration: Add the ability to use null for nullability nodes in substitutions.
...
A nullability node of `null` will be discarded during a substitution.
For instance, attempting to substitute `T=int?null` into `T?1` will
produce `int?1`, rather than `int?2` where `2` is a substitution node.
We will need this functionality in order to compare function types for
equality, which is in turn needed to integrate with flow analysis.
Change-Id: Ife5e3761b083d4584b2aff760dcb104529e7f9d4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112745
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-08-12 19:05:00 +00:00
Paul Berry
1f7e6370b4
Migration: store decorated type parameter bounds separately from other element decorated types.
...
We will need some special treatment for decorated type parameter
bounds, because sometimes we will need to create type parameters
(e.g. when comparing decorated types). So we store the bounds of
non-ephemeral type parameters (the ones whose enclosing element is
non-null) in the Variables data structure, and we store the bounds of
ephemeral type parameters (the ones whose enclosing element is null)
in an expando.
Change-Id: I918c9baffedab9a8871ecea37c8101b5ef44a5d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112743
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-08-12 17:56:45 +00:00
Paul Berry
92562dc5a5
Fix hints in nnbd_migration package.
...
Change-Id: Ib368a301e6dffd92e1697f4a23644fcf0e3ae38b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112741
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-08-12 17:01:06 +00:00
Paul Berry
f74b0ccfb8
Extract logic from DecoratedType.forElement into a new class, AlreadyMigratedCodeDecorator.
...
I plan to add unit tests for AlreadyMigratedCodeDecorator in a
follow-up CL (I can't add them now because I need to refactor some of
the unit tests to avoid code duplication, and that refactoring depends
on this CL).
Change-Id: Id137f7b003df33306d894fc8771963173757bf45
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112580
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Mike Fairhurst <mfairhurst@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-08-09 20:54:06 +00:00
Paul Berry
621b96f97b
Migration: begin adding infrastructure for reporting unsatisfiable substitutions.
...
Change-Id: I290da86cfdae3d6cfa83032999eaba17a65acd14
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112044
Reviewed-by: Mike Fairhurst <mfairhurst@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-08-09 14:07:42 +00:00
Mike Fairhurst
e627d8b852
[nnbd_migration] use postdominators to do hard edge detection in most cases
...
Change-Id: I6af934b4a4795a0cfd74519985b24ae171485880
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111941
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Mike Fairhurst <mfairhurst@google.com >
2019-08-09 07:12:00 +00:00
Paul Berry
6839e0d9f8
Migration: create a simple client of the migration API for early testing.
...
Change-Id: I889f7b80fdbb8dbddd8174812ddaca013cf272e3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112361
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2019-08-09 03:43:40 +00:00
Mike Fairhurst
689388525c
[nnbd_migration] Handle do while
...
Change-Id: I97071b6b59c9450fddcf7f3ea2da19c99bff4682
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112407
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Mike Fairhurst <mfairhurst@google.com >
2019-08-08 21:46:02 +00:00
Brian Wilkerson
c565fbf9d6
Fix a couple of hints in the nnbd migrator
...
Change-Id: Iaa2442432fe300fd116224a2c2d75e9d76d4e1e2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112260
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2019-08-07 19:27:54 +00:00
Paul Berry
83ab0a5ea9
Migration: handle an assignment from a type parameter's bound to its type.
...
Change-Id: Iceda253691735fa3b8104f76f14b596aa4bd621a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112145
Reviewed-by: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-08-07 15:15:00 +00:00
Paul Berry
6103ecd6f1
Migration: add support for nullability propagation through implicit downcasts.
...
We don't yet translate implicit downcasts into explicit ones; that
will be added in a future CL.
Change-Id: If601a0ab185707864094d5da3f898cecf7171054
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112163
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-08-06 22:03:37 +00:00
Paul Berry
9139de8b88
Migration: handle an assignment from a type parameter type to its bound.
...
Change-Id: I1a022030a4991be6ca2ae70592ec2d60d254baf3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112162
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-08-06 22:03:37 +00:00
Paul Berry
595f5c9b3e
Migration: add support to EdgeBuilder for assignment of complex generic types.
...
Change-Id: Ia1a754c0174b71dfeb420309324307b391e3eb4e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112160
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-08-06 22:03:37 +00:00
Paul Berry
2a7a9b5572
Migration: don't make hard edges for function parameter and return types.
...
I don't see a clear justification for using hard edges here, so I'd
rather err on the side of caution and wait to see if a need arises
when we start trying to do trial migrations.
Change-Id: Id72c3a08827adfcfa92aedeb80d5304879822147
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112141
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-08-06 22:03:37 +00:00
Paul Berry
bcb9d1582a
Migration: Move EdgeBuilder._checkAssignment to a mixin so it can be unit tested.
...
Change-Id: Iad865fac809b872c8dbd5b40f21e8dde2f3f0aa8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112140
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-08-06 22:03:37 +00:00
Paul Berry
a2d0f6bd74
Migration: fix DecoratedType.toString for bottom types.
...
Change-Id: I0cce10ddbfefc80ddb94a703a4086847f5fac891
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112048
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-08-06 22:03:37 +00:00
Paul Berry
8248e9edb2
Migration: fix DecoratedType.toString for generic interface types.
...
Change-Id: Ic882ea84cdb6bbe80802a4d29d07edc78ac362d8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112045
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-08-06 19:24:19 +00:00
Mike Fairhurst
c0f23ce8bc
[nnbd_migration] fix kind -> description, drop empty, tests
...
Change-Id: I7224167ae26344336f665827b145c57319076d73
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111382
Reviewed-by: Dan Rubel <danrubel@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2019-08-02 07:35:41 +00:00
Paul Berry
7582d344d6
Migration: handle assignment of null to generic type.
...
Change-Id: I439095cf3d3abb3e780084561e4fc620d47ad492
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111660
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-08-01 16:08:23 +00:00
Paul Berry
776f2d34e9
Migration: implement "exact nullability" propagation.
...
This allows us to properly handle contraviariant uses of generics,
where the nullability of a generic parameter needs to be propagated in
the reverse of the usual dependency direction.
Change-Id: Id31f906bb7e3fbbf0846144a4715b9a6591aceda
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111303
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-07-31 03:56:28 +00:00
Paul Berry
8c699b96e5
Migration: fix some erroneous comments in nullability node test.
...
These comments were copy/pasted from other tests and weren't properly
updated.
Change-Id: Ib1a0279184bb8dbaeb3601676d24301728a812a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111302
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-07-30 18:13:30 +00:00
Paul Berry
fc3d23de80
Migration: change graph propagation variables into fields.
...
This should make it easier to expand the graph propagation algorithm
in follow-up CLs.
Change-Id: I5540d37716d5d617d768ea62d9ab1f0fcdca47c6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111301
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2019-07-30 18:13:30 +00:00
Paul Berry
55fb47e1de
Migration: Add an analysis_options.yaml file.
...
And disable implicit downcasts in the nnbd_migration package.
Change-Id: I00c95d709215a12c04e71ee5da1fb9c4af7b5d3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111266
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-07-30 13:40:07 +00:00
Paul Berry
e147c3e0c8
Migration: ensure that NodeBuilder visits executable metadata and constructor initializers.
...
Change-Id: I9969e9f35f89a91890f9ef15d6505df5c36c1b0a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111181
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-07-30 12:43:37 +00:00
Paul Berry
db16503080
Migration: test generic field initializers
...
These already work, but we want to make sure they don't regress.
Change-Id: I7b67b2e105e0de6be9db5cac66c0278d03ccb3bd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111143
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2019-07-30 12:43:37 +00:00
Paul Berry
60029e19fa
Migration: add support for constructor field initializers.
...
Change-Id: I69642d52a0ff996c73806731d4ed4d3df260efbc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111001
Reviewed-by: Mike Fairhurst <mfairhurst@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-07-29 20:10:03 +00:00
Konstantin Shcheglov
1a0fe21fb2
Add ExecutableElement(s) based InheritanceManager3, and switch analyzer to it.
...
This reverts commit b8614ca613 .
Change-Id: Ic31ee323b21311d8a89f50bcb533316eb55f75e9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110941
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2019-07-29 19:02:24 +00:00
Paul Berry
436a505e00
Migration: fix handling of constructors that redirect to the unnamed constructor.
...
Change-Id: I08786c9f209a93d71c877cdf9552de7f854e9883
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111080
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-07-29 18:17:33 +00:00
Paul Berry
b8614ca613
Revert InheritanceManager3 changes.
...
These changes were inadvertenly rolled out in a way that breaks
clients, so we need to stage them out more gradually. See discussion
at
https://dart-review.googlesource.com/c/sdk/+/110552/2/pkg/analyzer/lib/src/generated/resolver.dart#3768
This reverts commit 5b5ddeda92 .
This reverts commit e76879acc4 .
This reverts commit 27bec56744 .
Change-Id: Ic80a577b1cdc4a6c89ca06afceae01af6621d3e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110841
Auto-Submit: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-07-28 13:54:09 +00:00
Konstantin Shcheglov
5b5ddeda92
Switch EdgeBuilder to InheritanceManager3.
...
R=brianwilkerson@google.com , paulberry@google.com
Change-Id: Iea71517556d7dbd274aa36bc11ceb659e1af469e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110742
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2019-07-26 21:46: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