Commit Graph

4090 Commits

Author SHA1 Message Date
Danny Tuppeny 34614ef995 Exit LSP server with exitCode=1 if there was no shutdown notification
This adds a new server state "shutting down" which rejects requests. The LSP spec says clients should send the shutdown notification, then the exit notification. If an exit notification is received without a shutdown, then the exit code is set to 1.

Change-Id: I50aa186d699a646ee1422f5b3ddaae4bc089b632
Reviewed-on: https://dart-review.googlesource.com/c/93952
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-02-25 11:58:24 +00:00
Brian Wilkerson 010052cb2b Add an assist to convert conditional expressions to a null aware operator (issue 35691)
Change-Id: Ic9aa8d3fa0408653088c9eb91c14083622ede60f
Reviewed-on: https://dart-review.googlesource.com/c/94124
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-02-24 22:46:14 +00:00
Paul Berry 5aba7b7b85 Normalize expression precedence between analyzer and front_end.
Several places in the analyzer and the analysis server were using
hardcoded integers to represent precedence, rather than referring to
constants defined in the front_end.  This led to some subtle
off-by-one errors, because the old analyzer convention (prior to
integration with the front_end parser) used 0 to represent the lowest
precedence of an expression (and -1000 to represent the precedence of
non-expressions), whereas the front_end convention is for 1 to
represent the lowest precedence of an expression.  As far as I can
tell there was no user visible impact, but it made it very difficult
to reason about operator precedence.

This CL updates the analyzer and the analysis server so that they
don't hardcode any precedence values; instead they refer to named
constants in the front end.

In a follow-up CL I'll reduce some hardcoded precedence numbers in the
front end itself.

Change-Id: Id3869afeb83042cc7d6630a0a4a0533a07058736
Reviewed-on: https://dart-review.googlesource.com/c/93964
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-02-22 13:39:46 +00:00
Brian Wilkerson f97f759ef3 Update the implementation of for loops
Change-Id: I492e8ce5303713cca0c742deeb53f670ebd21f84
Reviewed-on: https://dart-review.googlesource.com/c/93849
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-02-21 21:23:19 +00:00
Konstantin Shcheglov bdb52a8f33 Fix 'Organize Directives' handling end-of-line comments.
R=brianwilkerson@google.com

Change-Id: Iaec35a52c74229f00560ccfc7613c2f2e9cf4d41
Reviewed-on: https://dart-review.googlesource.com/c/93841
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-21 01:04:18 +00:00
Konstantin Shcheglov 266ce73e28 Remove CompletionSuggestion.elementUri, replaced with AvailableSuggestionSet.
R=brianwilkerson@google.com

Context: https://github.com/JetBrains/intellij-plugins/pull/633#issuecomment-465725310
Change-Id: I03a1b7e7ec7cc0a5b0797dc960b72ca314a32132
Reviewed-on: https://dart-review.googlesource.com/c/93745
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-20 21:34:18 +00:00
Paul Berry 7ebb0411f3 Rework DartFix listener interface to separate edits from suggestions.
Change-Id: Ieb10433f13d961ee0cfeac580104aed209ed52ea
Reviewed-on: https://dart-review.googlesource.com/c/93744
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-02-20 21:32:39 +00:00
Paul Berry 1c576b66bc Generalize FixCodeTask to handle arbitrary numbers of phases.
This is necessary because I will need to extend NonNullableFix to three phases.

Change-Id: Iccb9e0c52d01ff07413f7263ca415c27fe2a0857
Reviewed-on: https://dart-review.googlesource.com/c/93743
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-02-20 21:15:34 +00:00
Paul Berry fd377a4d6f Sort file non_nullable_fix.dart
Change-Id: Iee5cc6ae1c3c095be83dc9ed602f5eb1175659d8
Reviewed-on: https://dart-review.googlesource.com/c/93780
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-02-20 21:08:08 +00:00
Paul Berry 98af688787 Sort dartfix_listener.dart
Change-Id: Ib24ef59cad791dd47d4fe8374f42e2cb47570f8c
Reviewed-on: https://dart-review.googlesource.com/c/93742
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-02-20 21:07:28 +00:00
Konstantin Shcheglov 5e2529c82e Remove 'importUri' from CompletionSuggestion.
R=brianwilkerson@google.com

Change-Id: I1c06f7e6d84d5c2dd0eee7fa80f2e4bca3959513
Reviewed-on: https://dart-review.googlesource.com/c/93379
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-20 18:14:45 +00:00
Konstantin Shcheglov 273856c6e3 Issue 3204. Support for local mixins as types.
However this is not what the issue is about.
But still a bug.

R=brianwilkerson@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/3204
Change-Id: I743e1684f84844422bdfc8fcb30c2b3a051f4580
Reviewed-on: https://dart-review.googlesource.com/c/93376
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-20 03:28:01 +00:00
Konstantin Shcheglov 45cb49108f Issue 3204. Include mixin(s) into top-level declaration for import Quick Fix.
R=brianwilkerson@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/3204
Change-Id: Ia80fca430c9cbe710ccaf74b97a1b025634b85b1
Reviewed-on: https://dart-review.googlesource.com/c/93641
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-20 03:05:21 +00:00
Konstantin Shcheglov 5722ca3126 Include defaultArgumentListString / defaultArgumentListTextRanges into AvailableSuggestion(s).
R=brianwilkerson@google.com

Change-Id: I114c3c53de5782fa72d033a39e0d96fa5134ea1c
Reviewed-on: https://dart-review.googlesource.com/c/93600
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-20 00:15:21 +00:00
Konstantin Shcheglov 56356d426a Set 'displayUri' to IncludedSuggestionSet with file:// URIs.
R=brianwilkerson@google.com

Change-Id: I6d07e051839ba22c24d304dfa1e9bbee6517f234
Reviewed-on: https://dart-review.googlesource.com/c/93581
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-19 23:05:41 +00:00
Konstantin Shcheglov 3a0ded6d54 Use _ExecutableParameters to access named parameter names.
R=brianwilkerson@google.com

Change-Id: I801df17aca0ec466b3f60c6feffbf281744bc077
Reviewed-on: https://dart-review.googlesource.com/c/93486
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-19 19:58:51 +00:00
Konstantin Shcheglov 4c1025493a Enhance available suggestions protocol.
1. Rename includedSuggestionKinds -> includedElementKinds.

2. Add defaultArgumentListString and defaultArgumentListTextRanges.

R=brianwilkerson@google.com

Change-Id: I65c67252f6bad66c0c60a20315fd87affbeb653a
Reviewed-on: https://dart-review.googlesource.com/c/93560
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-19 19:51:11 +00:00
Brian Wilkerson 28eb8604e3 Correctly handle invocations of top-level functions with an import prefix
Change-Id: I7e75dc79bf8104af974881bf9f8e3cd8de86b961
Reviewed-on: https://dart-review.googlesource.com/c/93370
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-02-19 17:50:31 +00:00
Konstantin Shcheglov 0ef30fb86e Protocol for IncludedSuggestionSet.displayUri.
R=brianwilkerson@google.com

Context: https://github.com/JetBrains/intellij-plugins/pull/633#issuecomment-464746341
Change-Id: I27339f4c9327adb761f2bb0ba326c318ce010383
Reviewed-on: https://dart-review.googlesource.com/c/93487
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-19 16:42:30 +00:00
Brian Wilkerson f9bb790f43 Add a fix to change invalid named argument names to an existing parameter name
Change-Id: Id03862e328d9399b0bd8d364d9448058aa1b6d43
Reviewed-on: https://dart-review.googlesource.com/c/93481
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-02-19 00:07:13 +00:00
Brian Wilkerson 1d1654592a Do not compute any imports for use on paste if import directives are being copied
Change-Id: I1e4aa232c2dac4acb6d9bc5c556fbaf619160cac
Reviewed-on: https://dart-review.googlesource.com/c/93483
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-02-18 20:21:33 +00:00
Paul Berry e1d3186ed9 Make declarations in provisional_api_test.dart private.
I'm going to do some refactoring in future CLs that may make some of
these classes and/or methods unnecessary.  Making them private will
help highlight when things become unnecessary (because it will allow
dead code hints to be triggered).

Change-Id: I201bf5be0131e69af00789308e17926d98db6f5b
Reviewed-on: https://dart-review.googlesource.com/c/93369
Auto-Submit: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-18 18:20:53 +00:00
Paul Berry bb76970857 Sort provisional_api_test.dart
Change-Id: Iab154cc9288758251c29d8f89bab835769c5ce24
Reviewed-on: https://dart-review.googlesource.com/c/93482
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-18 18:17:13 +00:00
Paul Berry 26970f370c Move source out of PotentialModification.
Rather than have each PotentialModification keep track of its own
source, it's less wasteful to keep track of a map from each source to
a list of the potential modifications for that source.

Change-Id: Ib579f5159100195496a850fbf795b073fc927110
Reviewed-on: https://dart-review.googlesource.com/c/93466
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-02-18 00:34:40 +00:00
Brian Wilkerson f20ee58aa7 Remove references to the set-literals experiment
Change-Id: I3e151da8ea5c160a0945199f34ca3c0c9d949a3b
Reviewed-on: https://dart-review.googlesource.com/c/93464
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-02-16 15:42:48 +00:00
Paul Berry 7d7d85ffa2 Change the default assumption for named parameters to "assume nullable".
If a named parameter has no default value, the default behavior is now
to assume that the parameter is meant to be nullable, even if no code
path can be found that passes null.

This was inspired by discussion with Matan and Ferhat--they were
concerned that users would see the migration tool changing parameters
to required that shouldn't actually be required, and react by adding
special sentinel default values.  This is not what we want to
encourage users to do; if the parameter is truly meant to be optional,
it is sensible for it to be nullable.

I will soon add logic that allows non-null intent to override this
behavior; this means that if the user asserts that the parameter is
non-null, or uses the parameter in such a way that a null value would
guaranteed to cause an exception, we'll take that as an indication
that they really mean for it to be required.

Change-Id: Iff388d0316b922d2bacae330d94bec65478d8ee0
Reviewed-on: https://dart-review.googlesource.com/c/93366
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-02-16 13:35:48 +00:00
Paul Berry fa8c552fd9 Propagate non-null intent from callee to caller.
Change-Id: If0095584d6d0b88e7c39b9871795c499380b636c
Reviewed-on: https://dart-review.googlesource.com/c/93364
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-02-16 13:35:48 +00:00
Paul Berry ab38cf7897 Allow non-nullable usage to imply non-null intent.
If a method parameter is used in unconditional control flow in a way
that a `null` value would directly lead to an exception (i.e. by
dereferencing it, or by passing it to a method that requires a
non-nullable value), this is treated as implying that the method
parameter is intended to be non-nullable.

Change-Id: I4f55e4c95b3cfaee0a2ba9367b47d51083e0b7b1
Reviewed-on: https://dart-review.googlesource.com/c/93363
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-02-16 13:35:48 +00:00
Paul Berry 936b1c0404 Rename _mockOr to _either.
This makes the migration unit tests a little easier to read.

Change-Id: I2ae53c1d1a6c893888b02fcd0e68053c4d4c6cc3
Reviewed-on: https://dart-review.googlesource.com/c/93362
Auto-Submit: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-15 22:21:17 +00:00
Konstantin Shcheglov 39afa4e555 Revert "Add ExecutableElement(s) based InheritanceManager3, and switch analyzer to it."
This reverts commit 5d6bab4ed2.

Reason for revert: this change is API incompatible when rolling into mono-repo.

Original change's description:
> Add ExecutableElement(s) based InheritanceManager3, and switch analyzer to it.
> 
> Change-Id: I9d87619e05ae769f4df6a6ba26cd7901c7c98510
> Reviewed-on: https://dart-review.googlesource.com/c/93141
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>

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

Change-Id: I98d478f56e8aea037cbcc8b6cb940c36edb732fd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/93440
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-15 16:38:08 +00:00
Konstantin Shcheglov 078f8e67f8 Tests for invalid library id, and requested name.
R=brianwilkerson@google.com

Change-Id: I75c7445bd2e9e25805c8789af9e648a3000b0668
Reviewed-on: https://dart-review.googlesource.com/c/93381
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-15 16:35:56 +00:00
Brian Wilkerson 122aa43ef6 Convert ListLiteral and remove uses of ListLiteral2
Change-Id: I6c6f60ae969deb798cdbc8572341f2a51256b194
Reviewed-on: https://dart-review.googlesource.com/c/93341
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-02-15 16:17:28 +00:00
Konstantin Shcheglov c8abe45b00 Retry 'getSuggestionDetails' on InconsistentAnalysisException.
I was not able to create a test that triggers it, but I saw this
exception sometimes while using it myself.

R=brianwilkerson@google.com

Change-Id: Ia8773a9914b03e73622d5e59f570006723426d42
Reviewed-on: https://dart-review.googlesource.com/c/93281
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-14 23:02:11 +00:00
Jaime Wren 48f7364d7b Remove the UX experiment 2 flag from the Dart Analysis Server.
The detachable file system manager feature is now a feature of the Dart Analysis Server, when starter.detachableFileSystemManager has been set.

Support originally added in https://dart-review.googlesource.com/c/sdk/+/73689/ under the --ux-experiment-2 flag.

Change-Id: I26e82e44891d31bf1a1b7399ef5d79e98bc62e7c
Reviewed-on: https://dart-review.googlesource.com/c/93283
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2019-02-14 20:33:59 +00:00
Konstantin Shcheglov 5d6bab4ed2 Add ExecutableElement(s) based InheritanceManager3, and switch analyzer to it.
Change-Id: I9d87619e05ae769f4df6a6ba26cd7901c7c98510
Reviewed-on: https://dart-review.googlesource.com/c/93141
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-14 18:11:18 +00:00
Paul Berry 837145a7c7 Properly restore state of _inConditionalControlFlow upon entering new function/method.
Each function and method starts in unconditional control flow.  This
should allow more assertions to be recognized as demonstrating
non-null intent.

Change-Id: I5f6437a3009ebf6c91972e267c8a136a2b2fa77f
Reviewed-on: https://dart-review.googlesource.com/c/93129
Auto-Submit: Paul Berry <paulberry@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-02-14 12:58:09 +00:00
Paul Berry dfda06061a Restore state safely in migration visitors.
When the migration tool is run in permissive mode, its visitors try to
catch exceptions and continue running.  This means that when the
visitors make temporary state changes before recursive calls, they
have to restore the state inside `finally` blocks.

This should hopefully result in slightly saner behavior when running
the migration tool in permissive mode.

Change-Id: I46e07684526314befad860c4e065ec2c7f6d8b11
Reviewed-on: https://dart-review.googlesource.com/c/93127
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-02-14 12:58:09 +00:00
Paul Berry 92460b8923 Migration: use non-null assertions as a hint for parameters that should not be nullable.
Change-Id: I30d98fa28840dacb8df4fb038b49c491b347854f
Reviewed-on: https://dart-review.googlesource.com/c/93063
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-02-14 01:08:37 +00:00
Brian Wilkerson 9b45c14c65 First stage cleanup of MapLiteral2 and SetLiteral2
Change-Id: I73ec2e6fa4509539f86dd906bcb411e6267c77aa
Reviewed-on: https://dart-review.googlesource.com/c/93143
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-02-13 22:51:57 +00:00
Jaime Wren 486238df49 Remove the UX experiment 1 flag from the Dart Analysis Server.
This work lead to https://github.com/JetBrains/intellij-plugins/pull/597 which will land in the Dart Plugin, 2019.1.x versions.

PR that introduced this experiment: https://dart-review.googlesource.com/c/sdk/+/75402/

Change-Id: Ia3c3a1e28da190346407504c35c57b98534d9a2c
Reviewed-on: https://dart-review.googlesource.com/c/93122
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2019-02-13 22:49:09 +00:00
Brian Wilkerson 30f9f5b1c7 Add SetOrMapLiteral to support the code-as-ui features
Change-Id: I6d3023855fea6da859af0815bfae6857f1546cb9
Reviewed-on: https://dart-review.googlesource.com/c/93062
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-02-13 20:14:24 +00:00
Paul Berry d1bf6ae7d2 Track nonNullIntent in unconditional control flow.
In a future CL this will be used to prevent nullability from being
propagated into function parameters where it's clearly not intended.

Change-Id: I34430162db33f99e850ca2c11e5bca8736feb94f
Reviewed-on: https://dart-review.googlesource.com/c/93041
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-02-13 15:46:46 +00:00
Paul Berry 13c4b160ba Add migration tool support for bare "return;" statements
Change-Id: I10e2adeaf3c682ccac011b307c43052178b0974a
Reviewed-on: https://dart-review.googlesource.com/c/93040
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-02-13 15:46:46 +00:00
Paul Berry 80e43c6a75 Remove the Modification class; use SourceEdit instead.
Change-Id: I7afca644ec761a201c490a711293ea6f2710b035
Reviewed-on: https://dart-review.googlesource.com/c/92847
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-12 23:00:03 +00:00
Konstantin Shcheglov 80c8848624 Support for enums in available suggestions, getDetails, boost relevance.
R=brianwilkerson@google.com

Change-Id: I24edb0266280f8f2b8312c7af66039d8b26fdc7c
Reviewed-on: https://dart-review.googlesource.com/c/92841
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-12 22:15:41 +00:00
Paul Berry ca32bef641 Add migration support for the @required annotation.
If a named parameter is annotated as `@required`, then this overrides
the NamedNoDefaultParameterHeuristic; the parameter is considered
required regardless of what happens at call sites.  A duplicate
`@required` annotation is not inserted.

Change-Id: Ib1385d0a65dd9001bb7abede9de2a319f65a1f86
Reviewed-on: https://dart-review.googlesource.com/c/92844
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-02-12 21:47:28 +00:00
Paul Berry 6d2daa692c Set non_nullable experiments flag during migration tests.
Fixes #35909

Change-Id: I2c92af7a3e2d31cb7fe04b3ccd2b117badeedf35
Reviewed-on: https://dart-review.googlesource.com/c/92760
Commit-Queue: Paul Berry <paulberry@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-02-12 19:04:53 +00:00
Konstantin Shcheglov c812d5a373 Fix available suggestions tests on Windows.
R=brianwilkerson@google.com

Change-Id: Ie96cfe6ee5ed2eaea596a8c2faaf842a0b67a570
Reviewed-on: https://dart-review.googlesource.com/c/92764
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-12 18:32:33 +00:00
Brian Wilkerson 5fe0202b0b Unify MapElement and CollectionElement
Change-Id: Ia1be138d656d07bdf4c11640b79044abbc798986
Reviewed-on: https://dart-review.googlesource.com/c/92762
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-02-12 17:10:58 +00:00
Danny Tuppeny f54650ccaf Add LineInfo to Declaration search results
This allows LSP to translate locations to line/col ranges without re-requesting the LineInfos.

Change-Id: I59fab4d9f9de123deefd02a901ab4cc34ef8c0fb
Reviewed-on: https://dart-review.googlesource.com/c/92680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-02-12 15:16:45 +00:00