Commit Graph

12 Commits

Author SHA1 Message Date
Johnni Winther 9c983d2ee3 [cfe] Support extensions via prefix
Change-Id: I6c1e69e5a5c83f5177754a350f5efbca9384972b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124540
Auto-Submit: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-11-08 19:53:00 +00:00
Johnni Winther 462a448ac8 [cfe] Integrate definite assignment, nullability and type promotion analysis
Currently not handled: null-aware and break/continue

Change-Id: I61b3ef92c974a2e98a010e091ba81cbefa0f6069
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124127
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-11-06 12:28:52 +00:00
Jens Johansen fe3afde2eb [CFE] Parser: Don't report (recovered) operator as endClassConstructor
Before this CL any method with initializers would be ended with a call
to listener.endClassConstructor.
If we know it's an operator, though, we shouldn't: The listener has
most likely created a specific operator name and should't call it a
constructor.

Bug: 39230
Change-Id: I6ee79ba1907cb3932c461e0b00937af23b5b5edb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124121
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-11-06 09:42:37 +00:00
Jens Johansen c75e5e4cf4 [CFE] Fix assert in parser
Change-Id: Iee9059c1f7c87191f4d4551c8c9e50766d0a520f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123731
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-11-04 08:05:52 +00:00
Johnni Winther a996783de5 [cfe+analyzer] Move StackListener to _fe_analyzer_shared
Change-Id: I7e0ebef15b904afc14ed3b1c0f72cde5389d9c59
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123730
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-11-02 11:21:49 +00:00
Jens Johansen 5965789b92 [CFE] Fix bug in lint test
Change-Id: Ia96bb796da4c7f966fe808499388c2058c20b841
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123726
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-11-01 14:13:42 +00:00
Paul Berry 2ad5af1e13 Move resolve_relative_uri.dart into _fe_analyzer_shared
Change-Id: I2d9cc3988fd16ce1aabd6881c825d1917bb16848
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123861
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-11-01 13:54:22 +00:00
Paul Berry c4b6df5009 Move ID testing infrastructure into _fe_analyzer_shared.
Change-Id: I9f2692dbe750f3c31f8c86e86fe732f34e166517
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123860
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-11-01 12:39:00 +00:00
Johnni Winther 3e5b3b15a0 [cfe] Add the initial functionality of reachability analysis
Change-Id: Ifbd73805b1f7ecba12c68c760b6adccde2313cbf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123720
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-11-01 12:08:30 +00:00
Johnni Winther 00c2962db8 [cfe+analyzer] Move messages, scanner and parser to package:_fe_analyzer_shared
Change-Id: I4fa87aee65f30a9868a6cf8f0342591869ece7ea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123663
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-11-01 09:37:57 +00:00
Paul Berry 5b4612bc68 Move front_end/lib/src/base/errors.dart into _fe_analyzer_shared package.
Change-Id: I9369e8dbf7b5d6fff9ad2a74346871b3e274e8ee
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123640
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-10-31 13:05:53 +00:00
Paul Berry 499815842c Create a package to hold code shared between front_end and analyzer.
Previously such shared code was in the front_end package, but that
created problems because there is a lot of code in front_end that
isn't intended to be shared with the analyzer (including, notably, the
dependency on kernel).

This CL just moves over the flow_analysis logic to the new shared
package.  Follow-up CLs will move over other shared logic and tests.
The end goal is that the analyzer package will no longer have a
dependency on front_end.

Change-Id: I5642d6565204422d79808ca47648462db85e442a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123624
Reviewed-by: Jens Johansen <jensj@google.com>
2019-10-31 13:05:53 +00:00