Commit graph

61266 commits

Author SHA1 Message Date
Aart Bik bc0cbac5cc [dart/fuzzer] remove obsolete reference to py file
Change-Id: I4532e425904d95d3f4883422da943bc5a9ab9c7c
Reviewed-on: https://dart-review.googlesource.com/c/90782
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-01-23 19:13:36 +00:00
Brian Wilkerson b33e3ee7ff Add support for lints to visit the new AST nodes
Change-Id: I5470b7b596995ebd3c86eb2ef31561b960a5d321
Reviewed-on: https://dart-review.googlesource.com/c/90780
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-01-23 19:09:17 +00:00
Samir Jindel 0203243381 [vm] Prevent access to non-annotated members through native API.
We will issue warnings and throw an API error when the native API is used to access members which were not appropriately
annotated as entry-points, if the flag "--verify-entry-points" is passed.

Also, fixes Class::Invoke against fields (isn't allowed through native API but
could be allowed with mirrors, and is inconsistent with Library::Invoke behavior).

I've checked locally that this would have caught the bug in
"Wrap the user entrypoint function in a zone with native exception callback. (#7512)".

Change-Id: I617c71e1965457c956c97761359765bb9bb18c1c
Cq-Include-Trybots: luci.dart.try:vm-kernel-optcounter-threshold-linux-release-x64-try, vm-kernel-precomp-linux-debug-x64-try, vm-kernel-precomp-linux-release-simarm-try, vm-kernel-precomp-linux-release-simarm64-try, vm-kernel-precomp-linux-release-x64-try, vm-kernel-precomp-mac-release-simarm64-try, vm-kernel-precomp-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/90060
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-01-23 19:04:26 +00:00
Brian Wilkerson 3533da6d58 Add fixes for a couple of hints
Change-Id: I2e1b6c74c30857788b3bfbfbca46fc932dd7817a
Reviewed-on: https://dart-review.googlesource.com/c/90440
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-01-23 18:21:07 +00:00
danrubel 5543fce9a3 add limited support for parsing if control flow entries in lists, sets, and maps
This updates the parser to handle two if control flow entries
* `if` condition entry
* `if` condition spread-collection

... and also addresses comments in
https://dart-review.googlesource.com/c/sdk/+/90500

Change-Id: Ibabec8f0f4da918ef4cfe429405dae82ba74c129
Reviewed-on: https://dart-review.googlesource.com/c/90620
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-23 17:57:05 +00:00
danrubel 55197eafd7 Refactor literal list, set, and map parsing for control flow collections
This refactors the existing spread collection parsing in preparation
for control flow collection parsing.

Change-Id: I1fc5aa31449999145f7a63da1d34c7b8858cf5d4
Reviewed-on: https://dart-review.googlesource.com/c/90500
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-23 17:57:05 +00:00
Erik Ernst fed59a7a8f Whitespace and formatting cleanup
This CL just changes whitespace and formatting.

In particular, it replaces \syntax{`...'} by \lit{...} as much as
possible (because it's simpler and shorter, and \lit{...} works in
some situations where \syntax{...} does not).

Change-Id: Icd241a8c9d04280ff57041450aa342eb56d34589
Reviewed-on: https://dart-review.googlesource.com/c/90742
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2019-01-23 17:38:25 +00:00
Aart Bik 7078c9a69e [dart/fuzzer] Further development DartFuzz
Rationale:
Adds a few more constructs, avoid situations that go out-of-memory
too easily, prepares library method format for automatic generation
of library tables.

https://github.com/dart-lang/sdk/issues/35406

Change-Id: I24b4656ea073fbe41175aa08952588e28d4363a1
Reviewed-on: https://dart-review.googlesource.com/c/90320
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-01-23 17:21:11 +00:00
Konstantin Shcheglov eb4e7fb895 Mixin superclass does not include mmembers of implemented interfaces.
R=brianwilkerson@google.com

Change-Id: Ie457a148c1e35977566451861e6aab28ea8cb091
Reviewed-on: https://dart-review.googlesource.com/c/90660
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-01-23 16:23:17 +00:00
Samir Jindel e546359f37 [vm/gardening] Update status file for http_close_test.
Change-Id: I966eb13e9677d886cfc7d11a90fbb05788778880
Reviewed-on: https://dart-review.googlesource.com/c/90740
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
Auto-Submit: Samir Jindel <sjindel@google.com>
2019-01-23 14:18:21 +00:00
Erik Ernst a12805b90f Gathered all spec snippets about operator == into one location
This was needed because we had a handful of long sentences, nearly
identical, specifying that operator == must not be overridden, except
if it's in a specific built-in class.

These locations have been adjusted several times because it's tricky,
and now we have this in just one location (so we won't forget to
include bool again, somewhere).

Note that this shows a couple of facts (this was already a consequence
of the wording in the language specification, but now it's explicit):
We can `switch` on constant lists, sets, maps, and function objects,
and similarly for element expressions in constant lists and sets, and
for keys in constant maps.

Bug: https://github.com/dart-lang/language/issues/188.
Change-Id: Ie54bce573ee577654b598926b711d6dc8eab6ff1
Reviewed-on: https://dart-review.googlesource.com/c/90462
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2019-01-23 13:03:36 +00:00
Jonas Termansen fb7d075cfa [infra] Use third_party/gsutil in the status file free workflow.
Change-Id: I13d68092874121acedec305a186867ee88863806
Reviewed-on: https://dart-review.googlesource.com/c/90463
Reviewed-by: Alexander Thomas <athom@google.com>
2019-01-23 12:52:41 +00:00
Jonas Termansen de4dea71d7 [infra] Add Windows support to test.dart.
Change-Id: I1070b630f14a7a0b00d828f0fae47ec80d09d292
Reviewed-on: https://dart-review.googlesource.com/c/90464
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-01-23 12:46:06 +00:00
Samir Jindel 3c97ac1978 [vm/gardening] Update status file for int32_length_overflow_test
Change-Id: I7ea2042d0de5f5af3bb2c5fb2d2cf39e95f6bb84
Reviewed-on: https://dart-review.googlesource.com/c/90701
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
Auto-Submit: Samir Jindel <sjindel@google.com>
2019-01-23 12:31:38 +00:00
Aske Simon Christensen d8c221524d Remove obsolete legacyMode parameter from ConstantEvaluator
Change-Id: I9db2e7b28c436fafebc4b414c63243fc761fbf6e
Reviewed-on: https://dart-review.googlesource.com/c/90400
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2019-01-23 12:17:48 +00:00
Daco Harkes 591b52f1c5 [frontend] report transformation error messages through library loader
Change-Id: I7280d02e42785742fc800f7e44b1913408dcada5
Reviewed-on: https://dart-review.googlesource.com/c/90460
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2019-01-23 10:39:07 +00:00
Martin Kustermann f1f688215a [VM/AOT] Initialize global VM flags by reading them from vm-isolate snapshots
Issue https://github.com/dart-lang/sdk/issues/33274

Change-Id: I2dca1fb9a8807294fb756ea796bb7560bb6d17cc
Reviewed-on: https://dart-review.googlesource.com/c/90221
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2019-01-23 09:49:46 +00:00
Peter von der Ahé 9d02ca176a Follow up to CL 88941
Change-Id: I17a9e62da9b23e84447d5d121477ccda2cfc2339
Reviewed-on: https://dart-review.googlesource.com/c/89581
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-01-23 08:41:50 +00:00
Peter von der Ahé c0d46344ef Implement double dispatch for types
Change-Id: Id4eb18cff0fc18d47055b63351be6adc5ce7aec5
Reviewed-on: https://dart-review.googlesource.com/c/89583
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2019-01-23 08:03:34 +00:00
Paul Berry 09224e4a2b Remove deprecated EMPTY_LIST constants.
Change-Id: I0f5662f56d1c7dc61e6b4a8ff96217b730ae8ffd
Reviewed-on: https://dart-review.googlesource.com/c/89820
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-23 01:45:46 +00:00
Chinmay Garde ec6a7310c9 Allow embedders to get a closurized _startMainIsolate function.
Change-Id: Ib4b2654c60c02f137832e3898fd38b724c4e4dbc
Reviewed-on: https://dart-review.googlesource.com/c/90582
Commit-Queue: Chinmay Garde <chinmaygarde@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-01-23 01:30:13 +00:00
Ryan Macnak 2e9cf40002 [vm, isolate] Fix length truncation in message snapshots, take 2.
Only run test on x64 VMs.

Bug: https://github.com/dart-lang/sdk/issues/35635
Change-Id: I3ab16a96669a9f29187954896e59a3341dce5dc4
Reviewed-on: https://dart-review.googlesource.com/c/89925
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-01-23 01:29:44 +00:00
Paul Berry f0793a937c Fix analyzer status for const_constructor3_test.
The test passes now.

Change-Id: Id121e108c2b2585bb1a553383f76edd983a90c72
Reviewed-on: https://dart-review.googlesource.com/c/90600
Auto-Submit: Paul Berry <paulberry@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
2019-01-23 00:34:32 +00:00
Kevin Millikin 452d2afa19 [Kernel] Stop constant evaluation on errors in the input
When there is an invalid expression in a constant expression, stop
constant evaluation.  The value of that constant expression is the
first invalid subexpression it encountered.  This stops us from trying
to constant fold invalid expressions.

Clean up status files for the co19 constant-update-2018 tests to
remove duplication.

Change-Id: Ie6c87f4782ada65fb4d822ad9bf41aedfe0afc45
Reviewed-on: https://dart-review.googlesource.com/c/90040
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-01-22 20:40:57 +00:00
Brian Wilkerson 30f478b439 Add visitor methods for new AST nodes
Change-Id: Ifa8ce25f4da6580acddf76502c0c84b38eed555a
Reviewed-on: https://dart-review.googlesource.com/c/90121
Reviewed-by: Paul Berry <paulberry@google.com>
2019-01-22 19:25:12 +00:00
Aart Bik dc182cc951 [dart/vm] Add assert in Selector() method
Rationale:
This would have made triaging the bug below a lot quicker.

https://github.com/dart-lang/sdk/issues/35703

Change-Id: I23451f1b2944f9447a1f1c1c85af073a7211fe4b
Reviewed-on: https://dart-review.googlesource.com/c/90302
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-01-22 19:03:18 +00:00
Konstantin Shcheglov 3cb16d20e7 Issue 35551. Invalidate library cycles of libraries when a part file API signature changes.
R=brianwilkerson@google.com, paulberry@google.com

Fixes https://github.com/dart-lang/sdk/issues/35551
Change-Id: If4db0907fc62bdd12f528fe1a61895f6a18ec210
Reviewed-on: https://dart-review.googlesource.com/c/90520
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-01-22 18:56:28 +00:00
Ryan Macnak 5812a3bf74 [vm] Fix scoping in TIMELINE_DURATION.
Change-Id: I67d53f0e6d17d904b1bebc89bd4d7d45aaf95122
Reviewed-on: https://dart-review.googlesource.com/c/90342
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-01-22 18:38:49 +00:00
Brian Wilkerson 80069ce70b Fix the offset of for-each statements that have an await (issue 35723)
Change-Id: Ifad641807a967a23c7d7e76d5e52f978beef32f4
Reviewed-on: https://dart-review.googlesource.com/c/90442
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-01-22 18:37:10 +00:00
Peter von der Ahé 31ef7add9b Simplify ClassHierarchyBuilder API
Change-Id: Id5b6951713c22fa7f414de2ca9d34673107ebe80
Reviewed-on: https://dart-review.googlesource.com/c/89547
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2019-01-22 17:24:52 +00:00
Alexander Thomas 770ab5275a [infra] Upgrade gsutil to version 4.34
Change-Id: Id353fa11a8f86415569a505ef5ecd7bf03fb51e1
Reviewed-on: https://dart-review.googlesource.com/c/90487
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2019-01-22 16:58:58 +00:00
Brian Wilkerson 2b1e2718e7 Fix the indexes associated with experiements
Change-Id: Ic6790de12b22d8aa05976bb0e2004a43bda4e5a7
Reviewed-on: https://dart-review.googlesource.com/c/90441
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-01-22 16:44:29 +00:00
Jonas Termansen f21da0eb17 [infra] Experimentally add gclient-try builder to the CQ.
Change-Id: I028c113ebbee4643c99f440e34ae3cdd80f9ea83
Reviewed-on: https://dart-review.googlesource.com/c/90485
Reviewed-by: William Hesse <whesse@google.com>
2019-01-22 16:43:55 +00:00
Vyacheslav Egorov 9b01358ba0 [vm/io] On Windows do not consider sockets with pending operations closed.
ClientSocket might have pending operations associated with it, so we should
not delete it until those operations fire.

This aligns ClientSocket::IsClosed with IsClosed implementation for other
handles, which check if handle has any associated pending operations.

The situation that sometimes arises it that if we issue Read, Disconnect operation,
they might complete in the opposite order DisconnectComplete, ReadComplete, which
is why we need to check for pending operations.

MSDN contains sentences like these: "Please note that while the packets are
queued in FIFO order they may be dequeued in a different order."

It seems that a more uniform fix would be to it increment a reference count
of a handle whenever an asynchronous operation is started and decrement it
whenever it is completed - but such fix requires much more thorough
refactoring of eventhandler_win.cc.

Bug: https://github.com/flutter/flutter/issues/22558
Change-Id: I4e6a7d5fdeaa85b9903d005b5bb95338033228f1
Reviewed-on: https://dart-review.googlesource.com/c/90484
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-01-22 16:34:54 +00:00
Paul Berry 44b30b783b Remove unused import
Change-Id: I41cedfd11cf8e6bd2e9ea7e821c0c35930713afd
Reviewed-on: https://dart-review.googlesource.com/c/90443
Auto-Submit: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-22 16:23:23 +00:00
Jonas Termansen 0f8b58f48f [infra] Output logs for flaky tests in compare_results.
Change-Id: I532924a61aa19bb41c8e4467e87c92bac8523cee
Reviewed-on: https://dart-review.googlesource.com/c/90483
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
2019-01-22 14:24:19 +00:00
Samir Jindel 55c3106a3f [vm] Improve SelectRepresentations.
It's no longer necessary to prove that a phi will fit into 64 bits to unbox it,
because all ints in Dart 2 are 64-bit.

Also, we add a new heuristic to always unbox a phi if all inputs are unboxed.

This improves MD5 performance on ARM32 AOT by 27%, matching existing JIT performance.

Change-Id: I9ebbfc3bb8d565e746d3740528fdf7ee32c0f7a4
Cq-Include-Trybots: luci.dart.try:vm-kernel-optcounter-threshold-linux-release-x64-try, vm-kernel-precomp-linux-debug-x64-try, vm-kernel-precomp-linux-release-simarm-try, vm-kernel-precomp-linux-release-simarm64-try, vm-kernel-precomp-linux-release-x64-try, vm-kernel-precomp-mac-release-simarm64-try, vm-kernel-precomp-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/88841
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-01-22 12:42:48 +00:00
Dmitry Stefantsov bdeefc380a [kernel] Add ability to (de)serialize ConstructorInvocation
Change-Id: Ia25e1800c820c63a7e48818860ed3110de5473ea
Reviewed-on: https://dart-review.googlesource.com/c/90384
Reviewed-by: Daniel Hillerström <hillerstrom@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2019-01-22 12:14:57 +00:00
Dmitry Stefantsov 027d3d3c66 [kernel] Create empty (De)SerializationState in the verifier
Change-Id: Ie0af87d783a21b36949a288939b99ab45398543f
Reviewed-on: https://dart-review.googlesource.com/c/90383
Reviewed-by: Daniel Hillerström <hillerstrom@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2019-01-22 12:10:06 +00:00
Samir Jindel 85515884c2 [vm] Fix inference of shifts' RHS in range analysis for nullable SMIs.
Change-Id: I9b84c751b7a148ec9c0196b99dd78ab8f70ee66c
Reviewed-on: https://dart-review.googlesource.com/c/90225
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Auto-Submit: Samir Jindel <sjindel@google.com>
2019-01-22 11:44:24 +00:00
Jonas Termansen 404bd4ea9e [infra] Support markdown tables in approve_results.
Change-Id: I679103029dec97acd16abc6f6a1d1e93c9a4c455
Reviewed-on: https://dart-review.googlesource.com/c/90461
Reviewed-by: Alexander Thomas <athom@google.com>
2019-01-22 11:09:32 +00:00
Danny Tuppeny 9e0e175967 Remove some trigger characters from LSP code completion
These trigger too often are an annoyance. Until we can handle them with context, they should be removed.

Change-Id: I77618eb6228177c509b5bc0de51f758efdbdb12b
Reviewed-on: https://dart-review.googlesource.com/c/90401
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-22 10:37:57 +00:00
Danny Tuppeny ba07724b19 Add support for LSP Integration tests w/ basic shutdown test
Change-Id: Ifbd957d1d6b287b083128cda4d7b99b8d50dd56c
Reviewed-on: https://dart-review.googlesource.com/c/90065
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-21 16:06:28 +00:00
Danny Tuppeny 0adc9a4853 Split helpers out of LSP base test into a mixin
This splits the helper functions out of the abstract base test, which will allow them to be reused in integration tests that have their own transport (real stdio to a process).

Change-Id: I7777dc873582b4bacd91d998fed740ada47bd2b0
Reviewed-on: https://dart-review.googlesource.com/c/90062
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-21 16:06:28 +00:00
Danny Tuppeny 3b5a149df7 Use nonBlocking stdio for LSP
Change-Id: I20f7ed183d08b7fc778b4cb643eff6f82c9f3f48
Reviewed-on: https://dart-review.googlesource.com/c/90001
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-01-21 15:51:39 +00:00
Peter von der Ahé 70b02ea06d Remove double synthetic wrap to fix crash in for-in
Fixes https://github.com/dart-lang/sdk/issues/35651

Change-Id: I80c07453cae3e4901785db65546a396bc99c3183
Reviewed-on: https://dart-review.googlesource.com/c/89515
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Auto-Submit: Peter von der Ahé <ahe@google.com>
2019-01-21 14:39:02 +00:00
Erik Ernst 649c4e6c85 Revised all spec occurrences of "dynamic error"/"dynamic type error"
.. and checked that they can occur also in Dart 2; added a comment
about why this is so, on each of them. Also, got rid of the term
"run-time error": the majority of references to errors at run time
were "dynamic error", and now that is the term used everywhere.

Cf. https://github.com/dart-lang/sdk/issues/34521.

Change-Id: I7579c84a8d52199524770fb91c64804173ed533d
Reviewed-on: https://dart-review.googlesource.com/c/90243
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2019-01-21 12:56:31 +00:00
Jens Johansen d2270fcda7 Avoid ConcurrentModificationException with problemsAsJson and patch files
Change-Id: I8663b99376b90c42bfdcad7eff7da47002b98eb0
Reviewed-on: https://dart-review.googlesource.com/c/90386
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-01-21 12:18:24 +00:00
Jens Johansen 865743a273 Include all non-dart and non-package libaries in fasta testing
Change-Id: Ied4ded0f601a5a2bf683cbc63cec724623b12796
Reviewed-on: https://dart-review.googlesource.com/c/90227
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2019-01-21 12:10:56 +00:00
Jens Johansen 1bad9304a0 Print user-imports and parts when printing ast to text
Also remove some duplicated code so libraries are mostly only printed
in one place.

Change-Id: I7cb86bff1938f05631d7eb3432deda2c9939f402
Reviewed-on: https://dart-review.googlesource.com/c/90226
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-01-21 12:10:16 +00:00