Commit Graph

2966 Commits

Author SHA1 Message Date
Danny Tuppeny 54fffe4cca Add support for LSP workspace/didChangeWorkspaceFolders
Change-Id: I55401d0abf65979fcd446b2ba1e8d9b6c09a42fc
Reviewed-on: https://dart-review.googlesource.com/c/88831
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-01-09 16:04:12 +00:00
Danny Tuppeny e7b783ba5d Fix bug with deprecated rootPath + add tests
Change-Id: I53d0a9b9a367839cc4ecf463017463f343947dfc
Reviewed-on: https://dart-review.googlesource.com/c/88826
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-09 16:04:12 +00:00
Danny Tuppeny ad300b904d Improve handling of server-specific analysis diagnostics pages
Change-Id: I0c133860d438ee848203a537eceb520595532a2c
Reviewed-on: https://dart-review.googlesource.com/c/88804
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-09 16:04:12 +00:00
Danny Tuppeny 1d096d8499 Enable the analyzer Diagnostics server for LSP
Change-Id: I3a555c301e8c09b1d8af8f952f9f65102961d3b7
Reviewed-on: https://dart-review.googlesource.com/c/88801
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-09 16:04:12 +00:00
Danny Tuppeny f54ac41ce1 Ensure LSP server advertises it has QuickFixes
Also ensure we only return a bool for code action capabilities if the client doesn't support code action literals.

Change-Id: I277fc406ecdee6b0ee1c284f283cd3cb64fb5bdb
Reviewed-on: https://dart-review.googlesource.com/c/88721
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-08 17:22:21 +00:00
Danny Tuppeny 1ec1a8b46e Update LSP status doc
Change-Id: I8143fb3adae5917cda8ed03088c1187f487c15a7
Reviewed-on: https://dart-review.googlesource.com/c/88720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-01-08 15:26:05 +00:00
lambdabaa 5f25d1546c Guard analysis server against missing .instrumentation directory location on disk
Currently if analysis server fails to resolve this directory, it will
crash the entire process with

NoSuchMethodError: The method 'getChild' was called on null.

_readUuid() was already failing over to generating a new random
identifier if it was either unable to find a uuid.txt file or
create one, so this change just triggers that behavior additionally
in the case that the parent directory is missing.

R=brianwilkerson@google.com

Change-Id: Ieafde2df5afd7e30a3830f241af02bf305c911ec
Reviewed-on: https://dart-review.googlesource.com/c/88428
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Ari Aye <ariaye@google.com>
2019-01-07 17:31:06 +00:00
Konstantin Shcheglov f259cc674f Don't split const/final variable declarations. Add explicit type.
R=brianwilkerson@google.com, keertip@google.com

Change-Id: I418a5e541194f2c94927f23b3468a6a876e05a1b
Reviewed-on: https://dart-review.googlesource.com/c/88438
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-01-06 18:53:29 +00:00
Danny Tuppeny c32737cc4c Add open files to LSP server/drivers priorityFiles
Change-Id: Ida44f8edb23b5c4080cfd6ba44ee6b4764d9b131
Reviewed-on: https://dart-review.googlesource.com/c/88325
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-03 16:00:28 +00:00
Brian Wilkerson 7eae70112c Handle InconsistentAnalysisException when attempting to generate completion suggestions (issue 35169)
Change-Id: Ifaab2478c53f207f0d22d5f2acaa8ab783d0b05c
Reviewed-on: https://dart-review.googlesource.com/c/88222
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-01-02 20:35:48 +00:00
Brian Wilkerson b84bfcce80 Remove some dead code from the analysis_server lsp support
Change-Id: I14478048d665204ce48ff8268fc3e47929867eb4
Reviewed-on: https://dart-review.googlesource.com/c/88166
Reviewed-by: Danny Tuppeny <dantup@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-01-02 14:30:44 +00:00
Danny Tuppeny 64a4354a55 Improve handling of fatal errors in LSP
This adds a new type of error for when a client request to edit a document
is not valid because the document offsets don't match up. In this instance,
the client/server are out of sync and we shouldn't try to continue as we
may produce edits that ruin the users work. The server checks errors being
sent to the client and if it sees this type of error will switch to a state
that requests all messages, send a logMessage and then shut down after a few
seconds.

The LSP spec has been updated to suggest that clients automatically restart
servers if they quit unexpectedly (though advising not to do it forever in
the case of a crash at startup).

Change-Id: I7beafc87a082b971600135a4cc76eae53f5d9443
Reviewed-on: https://dart-review.googlesource.com/c/87841
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-02 09:07:21 +00:00
Brian Wilkerson 737209b85c Remove some unused hint codes
Change-Id: I1388355e7832dec17ed06da14262573ea4e60eef
Reviewed-on: https://dart-review.googlesource.com/c/88161
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-12-31 16:23:28 +00:00
Danny Tuppeny 44a492f351 Send errors to LSP clients that request unsupported encodings
Change-Id: I25e70e92d12cdf1f5d34033264e0f027217d7c10
Reviewed-on: https://dart-review.googlesource.com/c/87780
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-20 18:08:14 +00:00
Danny Tuppeny 2b766eef7e Don't try to access refactor result if it may be null due to being cancelled
checkForReset throws if the refactoring has been cancelled while we were `await`ing, however this line of code in between will crash if that's the case. Moving this check up appears to resolve the issue.

Fixes https://github.com/dart-lang/sdk/issues/33578.

Change-Id: Ia98daf87062a7084de8810b5fc3783bdf81d7064
Bug: https://github.com/dart-lang/sdk/issues/33578
Reviewed-on: https://dart-review.googlesource.com/c/87842
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-12-20 17:37:38 +00:00
Danny Tuppeny 7280ca87a0 LSP requests must always be responded to, even if optional
Change-Id: Ieb3314028436a566c5fe4c2786c6b9196a03e26a
Reviewed-on: https://dart-review.googlesource.com/c/87800
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-12-20 17:36:58 +00:00
Konstantin Shcheglov 37bf87b9bf Use ChangeBuilder, not DartChangeBuilder to update pubspec file.
DartChangeBuilder resolves the file being updated.
We don't want to do this for pubspec.yaml

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

Change-Id: I3ebca00f2dba9da30109ab5307dafa516d0be856
Reviewed-on: https://dart-review.googlesource.com/c/87606
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-12-18 21:24:35 +00:00
Konstantin Shcheglov 570205c2b8 Unwrap OverlayResourceProvider in createByteStore().
Otherwise we did not use persistent EvictingFileByteStore, and used
MemoryCachingByteStore, so no much smaller cache, and no sharing
between restarts. Ouch...

R=brianwilkerson@google.com

Change-Id: I88774cfe97e4a55be591105dbc5e337b7d992c3f
Reviewed-on: https://dart-review.googlesource.com/c/87522
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-12-18 15:06:42 +00:00
Danny Tuppeny ecccc0d94e Fix some LSP TODOs, remove some redundant code, add comments
Change-Id: Ibd51b17919245f4215fa49a64fd008ba268ca174
Reviewed-on: https://dart-review.googlesource.com/c/87442
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-12-18 07:33:35 +00:00
Danny Tuppeny c7e8a37cf3 Add a divider between the element description and docs in hovers
Change-Id: I08dc275fd343dc7eaa0f0c6033b8889882889cd2
Reviewed-on: https://dart-review.googlesource.com/c/87406
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Danny Tuppeny <dantup@google.com>
2018-12-17 14:58:20 +00:00
Konstantin Shcheglov c91a245e30 Use ChangeWorkspace to limit where DartChangeBuilder(s) can edit.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/35402
Change-Id: If5f78b44b69f01d9ddc235401f70cc4aefd3ca37
Reviewed-on: https://dart-review.googlesource.com/c/87382
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-14 22:32:35 +00:00
Konstantin Shcheglov 042d0c0313 Extract DartChangeBuilder creation in assists and fixes.
R=brianwilkerson@google.com

Change-Id: I912978b40ed94c52e0b51d7f77d36d6223f346aa
Reviewed-on: https://dart-review.googlesource.com/c/87260
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-12-13 20:51:09 +00:00
Danny Tuppeny 6a622d082e Make exception handling in code actions consistent
We'll succeed with an empty list for InconsistentAnalysisException but allow other exceptions to go up and be handled by the server.

Change-Id: I2325d1f53c58a606d5d7c0b84885e68670f48c73
Reviewed-on: https://dart-review.googlesource.com/c/87180
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-12-13 15:44:28 +00:00
Danny Tuppeny b44f21e691 Add assists to LSP Code Actions
Change-Id: Ic3762513fa55deee394b74da78ee79a23c8c0493
Reviewed-on: https://dart-review.googlesource.com/c/87070
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-12-12 17:59:03 +00:00
Danny Tuppeny e3991780a5 Add code fixes to LSP code actions
Change-Id: I5ec0932945cc6215cb671f89e8bed21609894ba2
Reviewed-on: https://dart-review.googlesource.com/c/87066
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-12-12 15:52:45 +00:00
Danny Tuppeny 1c1a5a99ed Change LSP edit mapping to support multi-file edits
Change-Id: I1f29b8b49d27b4e3b7f44ea86aa1a33c7b6ee48b
Reviewed-on: https://dart-review.googlesource.com/c/86926
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-12 07:27:20 +00:00
Danny Tuppeny b924d754c5 Fix LSP Organize Imports so removing unused imports works
Using only a parsed file meant we didn't get any "unused import" hints, which meant the unused imports were not removed.

Change-Id: Id5c24ac59f38885d08756747ef9165102ad54388
Reviewed-on: https://dart-review.googlesource.com/c/86884
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-12-11 15:21:42 +00:00
Danny Tuppeny 7d0823a97c Advertise the commands/code actions we support to the client
Change-Id: I08064742f6591a702955408f023b2534bd7a2887
Reviewed-on: https://dart-review.googlesource.com/c/86883
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-12-11 15:13:57 +00:00
Danny Tuppeny 3f130fb9ff Don't call workspace/applyEdits for empty edits
Change-Id: I51a66e6522477ffb0b968f771b971fdf0d648a6c
Reviewed-on: https://dart-review.googlesource.com/c/86882
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-12-11 15:13:37 +00:00
Konstantin Shcheglov 79eb965d8f Replace FileContentOverlay with OverlayResourceProvider in AnalysisServer.
R=brianwilkerson@google.com

Change-Id: Ic2fc13f4eacd94471fc8dccc1102e6fdbe59342d
Reviewed-on: https://dart-review.googlesource.com/c/86785
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-12-10 21:00:57 +00:00
Danny Tuppeny 89f299bee8 Add support for supplying simple edits for LSP workspace/applyEdits
Change-Id: Ia5b06ea4e002240eecc75f48e3cac245b9ce13ed
Reviewed-on: https://dart-review.googlesource.com/c/86768
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-10 17:54:53 +00:00
Danny Tuppeny 644d924978 Add path validation for opening files
Change-Id: Id78ce3475dad3c32c8a221e4ba4a3a6ccad97670
Reviewed-on: https://dart-review.googlesource.com/c/86760
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-12-10 14:56:15 +00:00
Danny Tuppeny 59780df33f Implement "Organize Imports" command
Change-Id: Iebf7022c1c8dd29a56d84da916713969d5b1269d
Reviewed-on: https://dart-review.googlesource.com/c/86762
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-12-10 14:56:14 +00:00
Danny Tuppeny e4df0c2fd8 Add implementation+tests for LSP "Sort Members" code action
Change-Id: I671e5bba62e396d797926134123b141ad34d80a5
Reviewed-on: https://dart-review.googlesource.com/c/86422
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-12-10 08:45:00 +00:00
Paul Berry a84863253c Re-apply "Add AnalysisDriver.resetUriResolution() and use it for analysis.reanalyze request."
Original change's description:
> Add AnalysisDriver.resetUriResolution() and use it for analysis.reanalyze request.
>
> This CL changes "analysis.reanalyze" API. We decided to repurpose it. It was not
> used for some time now in IntelliJ, and AFAIK has never been used in VS Code.
>
> R=​brianwilkerson@google.com, paulberry@google.com
>
> Change-Id: I7510b0189197c9f3f848b0fc59a7b2bd22889ac7
> Reviewed-on: https://dart-review.googlesource.com/c/85523
> Reviewed-by: Paul Berry <paulberry@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>

Change-Id: I828c9a77f1e28d44c00bfcf39527514e39cccc42
Reviewed-on: https://dart-review.googlesource.com/c/86221
Commit-Queue: Paul Berry <paulberry@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-12-06 23:14:28 +00:00
Konstantin Shcheglov 1d77824482 Issue 25538. Fix for overriding invisible private members.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/25538
Change-Id: I61904881c602f373df839bc546b1e65665997bb9
Reviewed-on: https://dart-review.googlesource.com/c/86480
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-12-06 20:41:43 +00:00
Danny Tuppeny cd94fce0fe Add ability for LSP server to send requests to (+ receive responses from) client
Change-Id: Iff1f8f63dc58ef2689ecc44f6e705d6811b12667
Reviewed-on: https://dart-review.googlesource.com/c/86420
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-06 19:11:46 +00:00
Danny Tuppeny 08c4e96fc5 Keep track of document version numbers from the client
Change-Id: Ib422b9fe4a5311be605d47f7a8001c535196e799
Reviewed-on: https://dart-review.googlesource.com/c/86384
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-12-06 18:17:24 +00:00
Danny Tuppeny 98fcc8e8dd Set up a new CommandHandler that can delegate to individual commands handlers
Change-Id: I7c288dc14b911306688e66eeca4768cb2ee3629e
Reviewed-on: https://dart-review.googlesource.com/c/86383
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-12-06 17:25:56 +00:00
Danny Tuppeny d8d8e222aa Support returning code actions for SortMembers/OrganizeUsings
Change-Id: I2f80ec0bd7174a8c0943352b942478a360f16b36
Reviewed-on: https://dart-review.googlesource.com/c/86359
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-06 16:22:41 +00:00
Dan Rubel bc0df05d07 Update dartfix test on windows
... and add unit source null check

Change-Id: Id366a45f73a78486d02b5c8527e1d732a6cf28d4
Reviewed-on: https://dart-review.googlesource.com/c/86360
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-12-06 14:17:48 +00:00
pq 5451ac62e2 remove fasta parser status from the server status page
Change-Id: I00454b907d6497519298abe1a1064acdb49b86a9
Reviewed-on: https://dart-review.googlesource.com/c/86304
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2018-12-06 03:29:12 +00:00
Brian Wilkerson 2118fcf7b0 Rename StrongTypeSystemImpl
Change-Id: I394bd9bfa2b6d9ceeb87312e94a3e315e32846a1
Reviewed-on: https://dart-review.googlesource.com/c/86282
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-12-05 22:22:36 +00:00
danrubel 36a7d18239 Update edit.dartfix to ignore sources specified in analysis_options excludes
Fix https://github.com/dart-lang/sdk/issues/34767

Change-Id: I1420aeb961dd9cdd79bf071c8e219a8a90668215
Reviewed-on: https://dart-review.googlesource.com/c/86264
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-12-05 21:22:43 +00:00
Brian Wilkerson 9b5fcc9166 Fix conversion of class with type parameters to mixin (issue 35322)
Change-Id: I771a5573809fa0f03e0901f3e3f30684b6a48ef8
Reviewed-on: https://dart-review.googlesource.com/c/86223
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-12-05 16:52:33 +00:00
Konstantin Shcheglov 352cff2fd3 Issue 35301. Update only files in context roots during rename.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/35301
Change-Id: I5a90fd8b19b6c64cd3f01acfd18753f41a713d68
Reviewed-on: https://dart-review.googlesource.com/c/86040
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-12-04 19:52:07 +00:00
Paul Berry 5b00611568 Revert "Add AnalysisDriver.resetUriResolution() and use it for analysis.reanalyze request."
This reverts commit 3428cc6dae.

Reason for revert: Unintentional breaking API change

Original change's description:
> Add AnalysisDriver.resetUriResolution() and use it for analysis.reanalyze request.
> 
> This CL changes "analysis.reanalyze" API. We decided to repurpose it. It was not
> used for some time now in IntelliJ, and AFAIK has never been used in VS Code.
> 
> R=​brianwilkerson@google.com, paulberry@google.com
> 
> Change-Id: I7510b0189197c9f3f848b0fc59a7b2bd22889ac7
> Reviewed-on: https://dart-review.googlesource.com/c/85523
> Reviewed-by: Paul Berry <paulberry@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>

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

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I6a3e874278f4cf976363a0c7f80f7a65a0a03acf
Reviewed-on: https://dart-review.googlesource.com/c/85723
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-11-30 21:03:30 +00:00
Konstantin Shcheglov 3428cc6dae Add AnalysisDriver.resetUriResolution() and use it for analysis.reanalyze request.
This CL changes "analysis.reanalyze" API. We decided to repurpose it. It was not
used for some time now in IntelliJ, and AFAIK has never been used in VS Code.

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

Change-Id: I7510b0189197c9f3f848b0fc59a7b2bd22889ac7
Reviewed-on: https://dart-review.googlesource.com/c/85523
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-11-29 19:08:30 +00:00
Danny Tuppeny a354fd99a8 Add LSP support for flat symbol lists for older clients
Change-Id: Id74b34ea295a6733b374a820c6d596a11070f666
Reviewed-on: https://dart-review.googlesource.com/c/85561
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-11-29 16:37:38 +00:00
Danny Tuppeny 34d5751835 Move handlers into handlers/ folder + sort members
Change-Id: I1ccd4354300f80ba6361cc6b0c95eb0c8c434a69
Reviewed-on: https://dart-review.googlesource.com/c/85501
Auto-Submit: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-11-28 21:19:50 +00:00