Commit Graph

3080 Commits

Author SHA1 Message Date
danrubel d84ec89f39 add NullabilityMigrationListener for communicating changes to the client
Change-Id: If6c9cefd0f43edab3a6731f606b4be9a0934e540
Reviewed-on: https://dart-review.googlesource.com/c/92242
Reviewed-by: Paul Berry <paulberry@google.com>
2019-02-07 20:47:37 +00:00
danrubel 9f0301630f Update dartfix NNBD to use 2-pass analysis
Change-Id: Icc7c1b29c6abeed968372c3a7442fdcecda0e572
Reviewed-on: https://dart-review.googlesource.com/c/92152
Reviewed-by: Paul Berry <paulberry@google.com>
2019-02-07 20:47:37 +00:00
Konstantin Shcheglov 67a1ce6b34 Notify DeclarationsTracker about file changes.
R=brianwilkerson@google.com

Change-Id: Iedbd695a184cefb384195ac56cffcf34c17806e7
Reviewed-on: https://dart-review.googlesource.com/c/92154
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-07 02:03:17 +00:00
Paul Berry d68d8526f4 Allow nullabilty migration prepareInput/processInput to operate on different ASTs.
This required modifying the implementation of nullability migration so
that it no longer holds onto AST nodes, but instead records sources
and offsets.  This will allow the tool to scale to large projects
since the AST for one file can be garbage collected while the AST for
another file is analyzed.

Additional changes:

- provisional_api_test.dart is updated so that it tests the API in two
  ways: once feeding identical ASTs to prepareInput/processInput, and
  once feeding conceptually equal (but not identical) ASTs.

- The internal analyzer API is changed so that the finish() method
  simply returns a list of modifications, rather than a map from path
  to modification list.

- Files are tracked by Source rather than by path.

- Modification objects remember their Source (this should pave the way
  for allowing multiple files to be migrated in a single run of the
  tool).

- The Variables class is split in two, with the methods needed for
  testing in a private class inside migration_test.dart.  These test
  methods can retain pointers to AST nodes without creating
  scalability problems for the production code.

Change-Id: Idd3f3b6893a25bb4294b4b4c820e20e4bc47ffd8
Reviewed-on: https://dart-review.googlesource.com/c/92220
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-02-06 23:58:40 +00:00
Paul Berry ba9fbda83e Rework provisional migration API.
Instead of returning a list of SourceFileEdit objects, we now return a
list of SingleNullabilityFix objects.  Each SingleNullabilityFix can
be queried to determine (a) which source file it applies to, (b) the
exact set of source edits to apply, and (c) the kind of change.
Future CLs will add the ability to query (d) the location of the
change, and (e) the reason for the change.

Change-Id: I5a42958ac70d1e39802efd5915d0856109b4a7db
Reviewed-on: https://dart-review.googlesource.com/c/92151
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-06 23:20:41 +00:00
Brian Wilkerson df779789f2 Support two more cases in the convert-to-spread assist (issue 35867)
Change-Id: I3762df7627045af3e023037aef1109afefb176ff
Reviewed-on: https://dart-review.googlesource.com/c/92165
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-02-06 21:36:01 +00:00
danrubel caa8747a37 Rework dartfix NNBD fix to use new NullabilityMigration engine
... add address comment in https://dart-review.googlesource.com/c/sdk/+/92082

Change-Id: Id9b400522e8c9af3d04ca5524174a61a8045d9d7
Reviewed-on: https://dart-review.googlesource.com/c/92141
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-02-06 19:49:35 +00:00
Konstantin Shcheglov ae5bd68570 Lower relevance of deprecated suggestion sets.
R=brianwilkerson@google.com

Change-Id: I3b10c74d815c69f120238a6fd5028ae534fc7446
Reviewed-on: https://dart-review.googlesource.com/c/92142
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-06 19:38:30 +00:00
Konstantin Shcheglov adfa4791fc Improve storage for available declarations.
1. Getters and setters.

2. Parameters.

3. Restore null where should when reading from flatbuffers.

R=brianwilkerson@google.com

Change-Id: I934e828ced6ae21c1c633c2a94e3336078eb2747
Reviewed-on: https://dart-review.googlesource.com/c/92084
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-06 17:35:45 +00:00
Konstantin Shcheglov 033cb7ffcc Issue 1438. Use expression function body for createState().
R=brianwilkerson@google.com

Bug: https://github.com/Dart-Code/Dart-Code/issues/1438
Change-Id: Id68e047233722d35b0ff4c08a8244d53c8e26e81
Reviewed-on: https://dart-review.googlesource.com/c/92101
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-06 17:02:41 +00:00
Konstantin Shcheglov c3542cbc3b Set relevance for IncludedSuggestionSet.
We prefer libraries already imported in the target library.

R=brianwilkerson@google.com

Change-Id: I6a52071753e9986bf37b21899cfa59026d7cdc68
Reviewed-on: https://dart-review.googlesource.com/c/92083
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-06 17:00:55 +00:00
danrubel 512e2ef292 Extract FixCodeTask/Processor from main dartfix class
Change-Id: Ieb8c52c1908521f77c6a5a13809fbe5636ee5b5a
Reviewed-on: https://dart-review.googlesource.com/c/92082
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-02-06 16:45:05 +00:00
danrubel e4755b34ba Extract FixLintTask/Processor from main dartfix class
Change-Id: I60dfc00898ca5ee07fc4dc2e010214790bf3343b
Reviewed-on: https://dart-review.googlesource.com/c/92081
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-06 16:45:05 +00:00
danrubel 1e8f9bf63a Extract FixErrorTask/Processor from main dartfix class
Change-Id: I6f5715d19a739295648963bae5a0705addfe5265
Reviewed-on: https://dart-review.googlesource.com/c/92100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-06 16:45:05 +00:00
danrubel 5ae156e055 Extract DartFixListener to record source changes and recommendations
... and add DartFixRegistrar in preparation for extracting tasks
from the main dartfix class.

Change-Id: I6423a474fc5d94d766d9b219fb31a4263db28d1b
Reviewed-on: https://dart-review.googlesource.com/c/92064
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-02-06 16:44:45 +00:00
Paul Berry 4fb220707e Hardcode SourceFileEdit.fileStamp to -1 in migration prototype.
SourceFileEdit.fileStamp isn't used anymore, so there's no reason to
have extra plumbing to set it.

Change-Id: I1d1c8e9e74f74d19fd306d44e477573de5a66cd7
Reviewed-on: https://dart-review.googlesource.com/c/92061
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-02-06 13:10:48 +00:00
Konstantin Shcheglov 0a2de9238b Extract importLibraryElement() implementation, make it less pessimistic.
R=brianwilkerson@google.com

Change-Id: I916d4b761c8a9886dc701206c03cfd88c9f047ef
Reviewed-on: https://dart-review.googlesource.com/c/92021
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-05 21:05:45 +00:00
danrubel ae72248770 Encapsulate dartfix name/description of each fix
Change-Id: I851607e45c3f97dd47d6611ba20fd493d047aed8
Reviewed-on: https://dart-review.googlesource.com/c/92023
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-02-05 20:43:45 +00:00
Brian Wilkerson ceb7b89df1 Remove a fix that has now been replaced by an assist
Change-Id: Ifa6ca5b97474ae770c81241e569f6763cdc32a29
Reviewed-on: https://dart-review.googlesource.com/c/92060
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-02-05 20:37:05 +00:00
danrubel db9e3f21c9 remove InconsistentAnalysisException guard code from dartfix
This updates the dartfix tests to align with how the dartfix API
is implemented and is being used, and removes the now unnecessary
InconsistentAnalysisException guard code.

Change-Id: Id7230ecec4940097fd0f2d3c034f47262ddc94b5
Reviewed-on: https://dart-review.googlesource.com/c/91962
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-02-05 19:01:55 +00:00
Konstantin Shcheglov d236dca9d9 Add 'offset' to 'getSuggestionDetails'.
We need it to know if names in the syntactic scope will shadow
the requested name if unprefixed import is used.

R=brianwilkerson@google.com

Change-Id: I1fd28add9241b27795160c4705a80e0f8aa6c647
Reviewed-on: https://dart-review.googlesource.com/c/92022
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-05 16:49:55 +00:00
Paul Berry 3395550962 Provisional nullability migration API in analysis_server.
Limitations at this point:

- Only one file can be migrated at a time.  If you try to migrate more
  than one file, you will get an assertion failure.

- The ResolvedUnitResult passed to prepareInput must contain precisely
  the same unit (in terms of `identical`) as the ResoledUnitResult
  passed to processInput.  Otherwise you will get an assertion
  failure.

- There is not yet any way to query diagnostic information about the
  migration (e.g. heuristic decisions that were made).

- Only a very small number of constructs can be successfully migrated
  at this point.

- The implementation is not sensibly organized at this point.  Most of
  it is in the analyzer, and then wrapped in the analysis_server.
  Really it all should go in the analysis_server.

I'll be working to rectify these limitations over the next few days,
which will probably involve a lot of rework under the hood.  But
hopefully the API in provisional_api.dart should remain stable, so
that DartFix code can start being written against it.

Change-Id: Idc3ebab380448a812d5e83338789570e33c55af7
Reviewed-on: https://dart-review.googlesource.com/c/92020
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
2019-02-05 16:30:35 +00:00
Brian Wilkerson 102f3074d5 Enhance assist to convert invocation of LinkedHashMap to a map literal
Change-Id: I31c0533ab545734386a5ec8759d7a20abb3b53a0
Reviewed-on: https://dart-review.googlesource.com/c/91980
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-02-05 15:19:35 +00:00
pq 798123ddb7 add lint associations
Change-Id: I1ceb6b45f07feff8b5f9d34c071e4a3c7d7c7f4a
Reviewed-on: https://dart-review.googlesource.com/c/91941
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-05 00:41:12 +00:00
Konstantin Shcheglov 3e5ed47777 Implement 'completion.getSuggestionDetails'.
R=brianwilkerson@google.com

Change-Id: I7b1fafe7ee2c6442fab0f7a83b3fa4315488e95a
Reviewed-on: https://dart-review.googlesource.com/c/91900
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-04 18:03:00 +00:00
pq 087c6e3eb7 Add associatedErrorCodes API to AssistKind
Background: https://github.com/dart-lang/linter/issues/1375.

Provisional API.  Open for discussion!



Change-Id: I2a1608d748dc0f807b953bd2bc94b24e276c8286
Reviewed-on: https://dart-review.googlesource.com/c/91857
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-02-04 13:54:50 +00:00
Konstantin Shcheglov 8c891ec25e Include type parameters into suggested code completions.
R=brianwilkerson@google.com

Bug: https://buganizer.corp.google.com/issues/120659839
Change-Id: I51ec6142b97b079c4db55ef1f2081354ee16dda5
Reviewed-on: https://dart-review.googlesource.com/c/91858
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-04 05:37:37 +00:00
Konstantin Shcheglov 2efd22271e Use included suggestions only when free standing identifiers are allowed.
R=brianwilkerson@google.com

Change-Id: I0f401a79e7bcae92646aae13f639c9e57c7852e5
Reviewed-on: https://dart-review.googlesource.com/c/91856
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-04 00:52:47 +00:00
Konstantin Shcheglov 133d83eede Protect against override completion outside workspace.
R=brianwilkerson@google.com

Bug: https://buganizer.corp.google.com/issues/123774694
Change-Id: I9f5aa93a86c0d1a0c496cd77853314a23a1aedbe
Reviewed-on: https://dart-review.googlesource.com/c/91853
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-03 17:27:16 +00:00
Konstantin Shcheglov 849285276d Extract and migrate ElementLocator tests.
R=brianwilkerson@google.com

Change-Id: I10914580c96daee9bae8794db477c6413a089c09
Reviewed-on: https://dart-review.googlesource.com/c/91850
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-03 17:26:46 +00:00
Brian Wilkerson 53ba159aa4 Add assists to convert to list, map and set literals
Change-Id: If8909859ea9c8752ecf0ea05b89f4a27d373fb39
Reviewed-on: https://dart-review.googlesource.com/c/91846
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-02-02 22:00:55 +00:00
Brian Wilkerson af303a277c Add some assists for the code-as-ui features
Change-Id: Ie01b1875fb35eab1427b2869f9c009a06c048412
Reviewed-on: https://dart-review.googlesource.com/c/91841
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-02-02 17:37:55 +00:00
Konstantin Shcheglov 460d69d08f Update 'Convert to StatefulWidget' to create private State classes.
R=brianwilkerson@google.com

Bug: https://github.com/Dart-Code/Dart-Code/issues/1438
Change-Id: I9415423f6d80e5d91165a796ec2bc9d86522d56f
Reviewed-on: https://dart-review.googlesource.com/c/91842
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-01 22:58:45 +00:00
Konstantin Shcheglov 931051814c Partial implementation of the 'available suggestion sets' protocol.
R=brianwilkerson@google.com

Change-Id: I856b6a39c2464caf6750e0b0abb0cfa29311e97c
Reviewed-on: https://dart-review.googlesource.com/c/91769
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-01 17:55:27 +00:00
danrubel 1c173c2ce7 Enhance dartfix to allow including and excluding specific fixes
This add several options to the dartfix command line
so that only specific fixes can be applied rather than all fixes.

Fix https://github.com/dart-lang/sdk/issues/35539

Change-Id: I8bb89696b0b47a291ed22aa00d4787f3ea5aa4be
Reviewed-on: https://dart-review.googlesource.com/c/91780
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-02-01 16:55:17 +00:00
lambdabaa d4b8e0696d Add the capability in analysis server protocol for clients to express
interest in receiving not yet imported code completions from specific
packages and libraries.

The design of this interaction aims to avoid forcing analysis server
to send every public symbol from dependent packages at every completion.
Instead, clients express interest in certain packages and/or libraries
and analysis server will notify with the entire set of symbols for
each of them only once. Then it is the client's responsibility to save
these pre-computed completions in memory, and analysis server can
instruct the client on how to union them with the base set of completion
suggestions at code completion time.

Bug: https://github.com/dart-lang/sdk/issues/35680
Change-Id: I42c6fddc5d8daa2b546daa81456c0992e3ef547d
Reviewed-on: https://dart-review.googlesource.com/c/90125
Commit-Queue: Ari Aye <ariaye@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-31 19:56:18 +00:00
Konstantin Shcheglov e5164be27e Issue 35127. Fixes for mixin implements / overrides.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/35127
Change-Id: I5869175cee13b6e22ce25c2d361b0b1aa52efe48
Reviewed-on: https://dart-review.googlesource.com/c/91690
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-31 16:01:55 +00:00
Konstantin Shcheglov 485a41bb12 Include superclass constraints into mixin type suggestions.
R=brianwilkerson@google.com

Bug: https://buganizer.corp.google.com/issues/123231336
Change-Id: I0e1ce9a332f47211ef2614ae73009433d1839ba0
Reviewed-on: https://dart-review.googlesource.com/c/91691
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-01-31 15:12:15 +00:00
danrubel db44a727e5 Extend the edit.dartfix protocol
This CL extends the dartfix protocol to allow specifying which
fixes should be applied. In summary:

* includedFixes - list of fix names to be applied
* includeRequiredFixes - bool indicating required fixes should be applied
* excludedFixes - list of fix names that should not be applied

Given that the client can specify the fixes to be included/excluded,
then the dartfix cmdline help text should include the list of known fixes.
Rather than hard code this in the dartfix client, a new edit.getDartfix
request has been added to return the list of known fixes.

Change-Id: I319f6f405a5d29757bf28b70b778a449f901bbef
Reviewed-on: https://dart-review.googlesource.com/c/91700
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-31 01:53:32 +00:00
Konstantin Shcheglov e8a0a209e3 Include into Declaration data that we will need for pre-cached suggestions.
R=brianwilkerson@google.com

Change-Id: Ie4419e785c06fa7b3913359e5831e97c611f46a7
Reviewed-on: https://dart-review.googlesource.com/c/91587
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-30 16:31:34 +00:00
Konstantin Shcheglov f92b816268 Add 'Convert to multiline string' quick assist.
R=brianwilkerson@google.com

Change-Id: Ieaa893e6ceb64ba41d84189267e0087d042fe4e6
Reviewed-on: https://dart-review.googlesource.com/c/91262
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-27 21:38:30 +00:00
Konstantin Shcheglov 6de1c478c3 Revert "Revert "Issue 34152. Verify file paths and report INVALID_FILE_PATH_FORMAT.""
This reverts commit 3f8ea3f508.

Change-Id: Ib034895f4cf29492e66dd07b7da1a99ba5e94bf6
Reviewed-on: https://dart-review.googlesource.com/c/90885
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-01-24 17:30:41 +00:00
Konstantin Shcheglov 3f8ea3f508 Revert "Issue 34152. Verify file paths and report INVALID_FILE_PATH_FORMAT."
This reverts commit 5dab28f27f.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Issue 34152. Verify file paths and report INVALID_FILE_PATH_FORMAT.
> 
> R=​brianwilkerson@google.com, paulberry@google.com
> 
> Bug: https://github.com/dart-lang/sdk/issues/34152
> Change-Id: I4a5f3634c342fbcfb3bf39c060cc658d87306312
> Reviewed-on: https://dart-review.googlesource.com/c/90840
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>

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

Change-Id: Ib34cb3497bc2935a27622b5f5b187e1e315c8e46
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/34152
Reviewed-on: https://dart-review.googlesource.com/c/90900
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-01-24 01:01:45 +00:00
Konstantin Shcheglov 5dab28f27f Issue 34152. Verify file paths and report INVALID_FILE_PATH_FORMAT.
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/34152
Change-Id: I4a5f3634c342fbcfb3bf39c060cc658d87306312
Reviewed-on: https://dart-review.googlesource.com/c/90840
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-23 22:11:17 +00:00
Konstantin Shcheglov fbc267f18f Support for override completions in mixins.
Also moves tests for override implementations into a separate class.
New tests:
  test_mixin_method_of_interface
  test_mixin_method_of_superclassConstraint

Changes for deciding whether to generate `super` invocation.

R=brianwilkerson@google.com

Change-Id: I7f875695ce81f0212863fbd2f9fe1f1b9d7aaa3f
Reviewed-on: https://dart-review.googlesource.com/c/90784
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-23 21:55:03 +00:00
Brian Wilkerson b3295a1327 Add highlighting support for code-as-ui
Change-Id: I5f3b9274ab8ce0ce4259e273c5ea69585467df21
Reviewed-on: https://dart-review.googlesource.com/c/90783
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-01-23 21:54:25 +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
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 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