Commit Graph

4718 Commits

Author SHA1 Message Date
Dan Rubel 4eb4d75270 Remove unused event parameter
Change-Id: I097886cae93204d671a3aca4caaafea8d117989d
Reviewed-on: https://dart-review.googlesource.com/70180
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-16 01:04:46 +00:00
Brian Wilkerson 0bcf767d4d Clean up more preview-dart-2 related code
Change-Id: Id1f81a635727f0f2fafb5dea4178f303c6ca4659
Reviewed-on: https://dart-review.googlesource.com/70143
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-15 14:43:12 +00:00
Keerti Parthasarathy b99e41ac6f Revert "fix #28233, add hint for missing returns to function expressions"
This reverts commit 058510eeab.

This causes a lot of missing_return failures internally and requires time to fix.

Change-Id: I2c7a79c6e838bbd9f101f53919b1db2c0d4a2594
Reviewed-on: https://dart-review.googlesource.com/70024
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
2018-08-14 21:10:27 +00:00
Paul Berry 75af21c363 Add wrapped versions of element classes.
These new classes are in lib/src to discourage them from being widely
used.  The intention is to use them in angular_analyzer_plugin, so
that it can extend the wrapper classes rather than implement the
element classes directly.  This will ensure that
angular_analyzer_plugin doesn't break when new methods are added to
element classes.

Change-Id: I33d82e4534691f546fcabc7b9d6c1da0258a5fc0
Reviewed-on: https://dart-review.googlesource.com/70020
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-08-14 19:07:56 +00:00
Leaf Petersen 5a8afa76b1 Triage language tests for void in DDC and analyzer
Change-Id: Ib72fa4515ac29b66d90b237739f97219b98acda2
Reviewed-on: https://dart-review.googlesource.com/67282
Commit-Queue: Leaf Petersen <leafp@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
2018-08-14 17:42:43 +00:00
Devon Carew 6a4f1b76ac Remove the --preview-dart-2 option from dartanalyzer and the analysis server.
Change-Id: I268b9d5f79b30d0e4a0f8e6bb81a7738c98e5eea
Reviewed-on: https://dart-review.googlesource.com/69802
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-14 04:24:47 +00:00
Dan Rubel 9619e2cd77 Remove unused fasta parser methods and event parameter
Change-Id: I0bf050a475ad3548342307027d14aba4badf468e
Reviewed-on: https://dart-review.googlesource.com/69620
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-08-13 16:42:12 +00:00
Konstantin Shcheglov 5a2a13c8bf Store and resynthesize codeOffset/codeLength for functions and methods.
R=brianwilkerson@google.com

Change-Id: I2106fb407b7488eede8c06112f1ac582b92d6af5
Reviewed-on: https://dart-review.googlesource.com/69400
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-10 21:37:02 +00:00
Konstantin Shcheglov fe0640e3b1 Refactor way of providing file info, set codeRange for units.
This fixes a lot of search/refactoring tests, about 200.

R=brianwilkerson@google.com

Change-Id: I6ce5f61a08b8effa73ffde3861ff68eadd1f4e04
Reviewed-on: https://dart-review.googlesource.com/69383
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-10 20:43:54 +00:00
Sam Rawlins 761178e471 Fix DEAD_CODE issue when break label is found inside a for-each.
Fixes #31714.

Bug: https://github.com/dart-lang/sdk/issues/31714
Change-Id: I36580a16604765497ee117625cb0b035603a69f3
Reviewed-on: https://dart-review.googlesource.com/69281
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-10 19:39:13 +00:00
Devon Carew 4c659e9f83 Have --use-cfe contribute to the driver signature.
Change-Id: Ica21f166bde60e41e19c3e6ab49e05a29540b0b0
Reviewed-on: https://dart-review.googlesource.com/69320
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-08-10 18:11:41 +00:00
Konstantin Shcheglov 28583df3ee Store codeOffset / codeLength for classes.
Change-Id: Ief9d529df814d9b4f33f98c485de6b91c6bd2f69
Reviewed-on: https://dart-review.googlesource.com/69280
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-10 16:25:22 +00:00
Brian Wilkerson 1be785ae2d Clean up some dead code
Change-Id: I9f722a9311336968f7756f752f2a3d77e0d12c45
Reviewed-on: https://dart-review.googlesource.com/69183
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-09 18:51:24 +00:00
Sam Rawlins 7818db20a7 Add analysis hint for invalid use of @visibleForTemplate code.
Bug: https://github.com/dart-lang/sdk/issues/33353
Change-Id: Iaafccc3dca6b8d87bd54ed721871c72e9ac456c8
Reviewed-on: https://dart-review.googlesource.com/68432
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-09 16:51:45 +00:00
Konstantin Shcheglov a1ca88f554 Resolve invocation arguments to parameters.
R=brianwilkerson@google.com

Change-Id: I76a8ea8221e0a888253af8297fb50c423699e175
Reviewed-on: https://dart-review.googlesource.com/69000
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-08 21:38:59 +00:00
Konstantin Shcheglov eab492385c Updates for passing / failing analysis_server tests.
R=brianwilkerson@google.com

Change-Id: Ica615414f567cf62bb631824f95d9ef45b8a777a
Reviewed-on: https://dart-review.googlesource.com/69003
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-08 20:47:25 +00:00
Dan Rubel 1cd9175e3e Fix mixed dartdoc processing
This change should fix the failing ResynthesizeAstStrongTest.test_class_documented_mix test.

Change-Id: I0b89fa5ddbb4725ec0115836e8b5e801d18678c5
Reviewed-on: https://dart-review.googlesource.com/68900
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-08 14:59:13 +00:00
danrubel 1f4449658d Refactor dartdoc parsing
This alters the way that dartdoc is parsed,
preventing null comment references from being pushed onto the stack.
This removes the need to remove those nulls prior to creating
the documentation comment AST nodes and allows for fixed sized lists.

This also address comments in:
* https://dart-review.googlesource.com/c/sdk/+/68520
* https://dart-review.googlesource.com/c/sdk/+/68461

Change-Id: I679c425b5d1f3f7954281d226815a80e73dcc033
Reviewed-on: https://dart-review.googlesource.com/68780
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-07 22:28:55 +00:00
Konstantin Shcheglov cb4f5b3a3a Resynthesize nameOffset for properties/parameters.
R=brianwilkerson@google.com

Change-Id: Ib3213529836df20f580a5d8805006ba13b82bf20
Reviewed-on: https://dart-review.googlesource.com/68761
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-07 21:54:55 +00:00
Konstantin Shcheglov c30af508a4 Store import prefix offset into metadata and resynthesize.
Change-Id: I7ef72c562323f132865c7cb6b3b068623c831043
Reviewed-on: https://dart-review.googlesource.com/68741
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-07 18:17:46 +00:00
Konstantin Shcheglov 80e08e0913 Use 'useCFE' flag to turn on CFE in AnalysisDriver.
R=brianwilkerson@google.com

Change-Id: If0aa7d10bc46f1dd408d0be8128fc25538758359
Reviewed-on: https://dart-review.googlesource.com/68720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-07 16:12:47 +00:00
danrubel 98cf15cf5b Remove unnecessary commentToken parameter
Minor cleanup to the dartdoc parsing API

Change-Id: I7aa4c0116277beeef39553f1c133aa1ab8904d61
Reviewed-on: https://dart-review.googlesource.com/68700
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-08-07 16:07:09 +00:00
danrubel 89fd468b89 remove unused DocumentationCommentToken.references field
Change-Id: Ia35dfe2c69d4f35d3a54dd0fcb026de23d888d1c
Reviewed-on: https://dart-review.googlesource.com/68520
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-07 16:07:09 +00:00
danrubel 49b18446c2 Refactor dartdoc parsing
This extracts and refactors a sizable chunk of dartdoc parsing out of AstBuilder
and into the fasta parser. Parsing dartdoc does not happen unless the listener
calls the new fasta parser parseCommentReferences method.

The new parseCommentReferences method generates a handleCommentReferenceText
event for each comment reference encountered. The listener calls the scanner
to tokenize the comment reference and forwards the result to a new
fasta parser parseOneCommentReference method. This method generates either
a handleCommentReference or a handleNoCommentReference depending upon
whether or not a reference is parsed.

parser.parseCommentReferences
* generates handleCommentReferenceText events
* returns # of events generated

listener.handleCommentReferenceText
* calls parser.parseOneCommentReference

parser.parseOneCommentReference
* generates either handleCommentReference or handleNoCommentReference

There are further improvements to be made, but I believe this chunk
will allow progress to be made on the kernel side.

Change-Id: I393dc4d1d4791b3d7a529f6cb3c16db3a5befddf
Reviewed-on: https://dart-review.googlesource.com/68461
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-07 16:07:09 +00:00
Brian Wilkerson 17b54c76ce Improve error detection in search code
Change-Id: If935e9e8fda4f8b92e18a7fe579e838a1451e71f
Reviewed-on: https://dart-review.googlesource.com/68441
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-08-06 17:41:04 +00:00
Konstantin Shcheglov 85edb76c48 Fix field constants verifying with CFE.
TBR

R=brianwilkerson@google.com

Change-Id: I7960249e95c48cb51d8ca593df93381398e94d8a
Reviewed-on: https://dart-review.googlesource.com/68400
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-08-03 18:25:25 +00:00
Konstantin Shcheglov 8692936f48 Verify constants using Analyzer.
This fixes 44 failing language_2 tests.

Change-Id: I9248a940c56764d030e5cb1c8d558a3d41b88899
Reviewed-on: https://dart-review.googlesource.com/68340
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-03 17:39:54 +00:00
Dmitry Stefantsov 637e55d4be [kernel] Add VariableDeclarations to represent formals of Typedefs
Change-Id: Ic1575dadb4fcf644dfdeb436612e2bed72d41a03
Reviewed-on: https://dart-review.googlesource.com/68083
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2018-08-03 12:28:11 +00:00
Konstantin Shcheglov 380696fe3f Set element/type for some resynthesized expressions.
R=brianwilkerson@google.com

Change-Id: I4a3d809fedac9eeb17eb996f8206a946201d6da8
Reviewed-on: https://dart-review.googlesource.com/68260
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-02 23:56:47 +00:00
Konstantin Shcheglov 62a2752b96 Translate ConstructorElement(s) of parameterized InterfaceType(s) to ConstructorMember(s).
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I865a2e96f691d827165eabf382b5677d0831e831
Bug: https://github.com/dart-lang/sdk/issues/33506
Reviewed-on: https://dart-review.googlesource.com/68161
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-02 22:14:59 +00:00
Brian Wilkerson 87f753dbd3 Replace some declarations of element with declaredElement
Change-Id: Idd62472b16cccaa98749a510197ec8d0f5053cb1
Reviewed-on: https://dart-review.googlesource.com/67820
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-08-02 16:00:36 +00:00
Konstantin Shcheglov 4bb3fb6cae Don't rewrite error Severity for special cases of front-end testing.
IIUC this rewriting was done to internally check front-end better, but
it get in the way of running analyzer, and these errors are not mandated
by the spec. So, I decided that I don't want doing rewriting in
Analyzer / CFE integration.

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

Bug: https://github.com/dart-lang/sdk/issues/34042
Change-Id: I1bb41b271d8d84eace9bd13a269bcac157e9f89b
Reviewed-on: https://dart-review.googlesource.com/68006
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-02 15:41:12 +00:00
Konstantin Shcheglov d6189709b8 Issue 33506. Rewrite MethodInvocation into InstanceCreationExpression.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I712ab3c79cfe29b2c201b0affc10b33fc0f60d15
Bug: https://github.com/dart-lang/sdk/issues/33506
Reviewed-on: https://dart-review.googlesource.com/68004
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-02 15:33:11 +00:00
Jens Johansen 26e087e66b Don't save Tokens in Judgments
Before this CL, Judgments save Tokens in final fields.
This can take up quite a lot of space, and isn't actually (currently)
used for anything. Eventually it will be used in Analyzer.

This CL changes it so Judgments instead carry a `box` that is in
`non-analyzer-mode` just null, and in `analyzer mode` stores the Tokens
directly.

When running dart2js through the VM, this decreases the memory footprint
quite a lot, and seems to make the compile faster.

Details:

Removing the Tokens decrease the memory usage by almost 50MB
("Maximum resident set size" (as reported by /usr/bin/time -v)),
and more than 66MB from the old space in the kernel isolate after
ended compilation and changed the compile time of dart2js by
-7.71201% +/- 6.22211% (presumably because of less pressure on the GC).

For more details see the review page comments.

Change-Id: I7a31927f104e111c1b16be10b35f4164959a2130
Reviewed-on: https://dart-review.googlesource.com/67720
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-08-02 12:44:02 +00:00
Brian Wilkerson 841f62715a Clean up some hints from the analyzer code base
Change-Id: I5fedd885d2a6853e809803fc46cf7008f76ed9bd
Reviewed-on: https://dart-review.googlesource.com/68000
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-02 12:39:36 +00:00
Devon Carew e578b60899 Bump the analysis driver cache seed.
Change-Id: I3550357bd179fe527834c6b09122f17c1025688d
Reviewed-on: https://dart-review.googlesource.com/67881
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-08-01 20:39:58 +00:00
Brian Wilkerson 373ed6b47f Create a LineInfo when resynthesizing a CompilationUnitElement
Change-Id: I42c075eefacab22d519a646395ec0cdb7322a87b
Reviewed-on: https://dart-review.googlesource.com/67702
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-08-01 18:35:37 +00:00
Brian Wilkerson 55880dfeed Add support in the new API for CFE
Change-Id: I4e7a12b786a8774e92dd96a5f94d86e1d1a3564e
Reviewed-on: https://dart-review.googlesource.com/67701
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-01 04:24:28 +00:00
Konstantin Shcheglov 12326c10e1 Store constructor field initializera when the target is not a field.
Change-Id: Ie96f337272cc15d98515b9ce52210cf9414bad65
Reviewed-on: https://dart-review.googlesource.com/67680
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-07-31 22:15:03 +00:00
Konstantin Shcheglov 50da4b8d92 Skip ShadowInvalidFieldInitializer while resynthesizing constructor initializers.
Change-Id: I6939777e3f8fc5b65f631a5846a90fd51258aabb
Reviewed-on: https://dart-review.googlesource.com/67686
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-31 22:12:43 +00:00
Konstantin Shcheglov 8810b6ecc7 Translate kernel.Instantiation in constant expressions.
Change-Id: I86779f9ca1b56d25f26818991ba6603061ccfb6f
Reviewed-on: https://dart-review.googlesource.com/67685
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-31 22:00:33 +00:00
Konstantin Shcheglov 384b0a9a73 Issue 34038. Fix resynthesizing imports when mixed with exports.
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/34038
Change-Id: Id50d01b18f6a650b91a6667419bf24d62ef6eaa4
Reviewed-on: https://dart-review.googlesource.com/67682
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-31 21:05:39 +00:00
danrubel 4734c55882 Report error on unsupported operators
Change-Id: Iea1469e1252c89c630e8bf646caf37051d78c84c
Reviewed-on: https://dart-review.googlesource.com/67401
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-31 18:23:10 +00:00
Kevin Millikin 8c5aca7d4d Remove the Factory interface
It's currently just passed around and never used, so remove it for
now.  We will (obviously) restore it when and if we need it.

Change-Id: Ie47243f73d74190c2acf4c6f83eb2fa6f60702fd
Reviewed-on: https://dart-review.googlesource.com/67560
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2018-07-31 14:43:00 +00:00
Konstantin Shcheglov 6c39bc38f3 Clear ShadowX references that are not required after compilation.
This is the second CL that helps to prevent memory leak in Analyzer / CFE
incremental compilation.

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

Bug: https://github.com/dart-lang/sdk/issues/33851
Change-Id: I140e7efa7509ecea23ff4541b0566ac3fc465f76
Reviewed-on: https://dart-review.googlesource.com/67384
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-30 21:40:34 +00:00
Konstantin Shcheglov 9fb6c09015 Store reference/type for invalid types.
This fixes 18 language_2 tests.

Small degradation in Analyzer unit tests is cause by the way we apply
Kernel type to Analyzer type annotations in DeclarationResolver. We
should shift this logic to using store type resolution instead.

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

Change-Id: I2d60201ec4f4a741bba3f86f65d8dc3b6547514c
Reviewed-on: https://dart-review.googlesource.com/67260
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-30 17:49:55 +00:00
Brian Wilkerson 2e7b0a13f1 Add support for accessing all of the created contexts
Change-Id: I84284726dea1b12f8403456cbdb0a9a967624e0d
Reviewed-on: https://dart-review.googlesource.com/67380
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-30 17:47:12 +00:00
Konstantin Shcheglov 17cb6d95d1 Don't remember TypeEnvironment in resolution results.
We don't actially need them, while formally interface of
ConstructorInvocation.getStaticType() requires it, but this node
does not use it.

This solves one of the reasons why we have memory leak during
incremental analysis with CFE.

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

Change-Id: I74aa6302a463f5f15d1934f5aea49570d6140b3e
Reviewed-on: https://dart-review.googlesource.com/67382
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-07-30 17:40:44 +00:00
Jenny Messerly 058510eeab fix #28233, add hint for missing returns to function expressions
If a function expression is used in a context that expects a return type
other than dynamic/void/Null, issue a hint if that function has a block
body and is missing a `return` statement.

Change-Id: Ia55212abd84f5718343cf7401b87aba2891d6446
Reviewed-on: https://dart-review.googlesource.com/66340
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-07-28 01:50:31 +00:00
Devon Carew 6e322f794c No longer run pub list-package-dirs from the analysis server.
Change-Id: Id02bdfc25cb8827873ff607f7c4d4a3401c9a199
Reviewed-on: https://dart-review.googlesource.com/67205
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-27 23:05:41 +00:00