Commit Graph

338 Commits

Author SHA1 Message Date
Konstantin Shcheglov 60b428e2b1 Deprecate superclass2, mixinTypes2, etc.
Change-Id: Ieaaeab57930cb93f5b6b1323efe63c3395b79993
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/232742
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-02-17 02:20:42 +00:00
Danny Tuppeny 55fd24e6a6 [analysis_server] Refactor LSP snippet building in preparation for Snippet completions
Change-Id: Ie39e2e803d17435b31246da07ed69eba7d7aba21
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/233360
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-02-16 20:01:00 +00:00
Danny Tuppeny 4f9a044418 [analyzer_plugin] Ensure FileEditBuilder updates linked positions correctly
Without this change, any linked edit groups that fall between the offset and offset+length of the new edit are not updated, which means new edits can be inserted that overlap with the linked edit groups instead of pushing them along by the delta.

Change-Id: If3e60bfa1efa4736f91bb85eb29cd785e933e78c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/232099
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-02-16 19:39:40 +00:00
Konstantin Shcheglov ea4f04f56d Support completion in enum constant argument list.
Change-Id: Id483d6ea3715e567f1d2cc9a2051f615b750a8a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/232684
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-02-11 23:07:25 +00:00
Konstantin Shcheglov 582bf2f230 Completion for constructors in enum constants.
Change-Id: I3a68db8045d249f7459ec0dbf0fbd9c203fccade
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/232683
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-02-11 21:41:37 +00:00
Konstantin Shcheglov 8b67b90016 A few tests for completion in class body and similar.
Change-Id: Id8749e4c45d26a5e56de31ce0d8b117db60150a1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/232486
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-02-11 18:04:57 +00:00
Konstantin Shcheglov 4a122c0b5a Add completion tests inside enum declaration.
As we discussed some time ago, it is not clear to me where some
tests should go. Here, I put it into "location" tests, and checked
locations that seem strongly associated with the enum - its header,
its body; including the `WithClause` on the enum.

It is less clear where tests for completion inside the header or
the body of a method inside of an enum should go. I initially
planned to put them into `declaration/enum_test.dart`, but now
starting to doubt. The tests there are currently for using an
enum from outside.

Change-Id: Ife091f82bbb0ad1f26df984be42aa93a78595816
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/232421
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-02-10 20:26:01 +00:00
Konstantin Shcheglov 6dd2790b57 Use cached enclosingClassElement for extension completion.
This improves time to compute completion metrics from 61 to 48 seconds.

We used to spend 21% of all time in `[Stub] InstanceOf`.
Now 2%, unfortunately it does not show back pointers.

Change-Id: I3c6c62cabfa86bac138d95d4830b605693e086d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/230580
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-01-27 23:34:42 +00:00
Konstantin Shcheglov 47eff41cdb Issue 48184. Fix suggesting local function returning void in named argument.
Bug: https://github.com/dart-lang/sdk/issues/48184
Change-Id: I5f6c8f2443782dec3c75c44cb7baeea8ed8b5e0c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/229282
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-01-20 23:45:57 +00:00
Danny Tuppeny 32b3e18e92 [analysis_server] Insert "required" keyword in created methods/added named parameters
Fixes https://github.com/Dart-Code/Dart-Code/issues/3770.

Change-Id: I954b9bbcac72ffc7a7b6e168214971bf1786872a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/228564
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-01-20 17:00:37 +00:00
Danny Tuppeny 5455047ed0 [analysis_server] Suppress code completion in comments before dartdocs
Fixes https://github.com/Dart-Code/Dart-Code/issues/3783.

Change-Id: I8539d8b525534ad85b42618a6a3e9888fb43c851
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/228540
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-01-19 17:25:36 +00:00
Brian Wilkerson eaef692c3f Add quick fixes for invalid return types for generator functions
Change-Id: I23a3befd37946c02aadc8c0ebdf75e60cf6767c2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/225426
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-12-23 17:36:42 +00:00
Konstantin Shcheglov 3c75efe2bf Stop using astFactory outside analyzer.
Change-Id: I482e1448205f5e4c111857c4caea3c92762bf91d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/224880
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-12-20 19:33:43 +00:00
Konstantin Shcheglov e78f715541 Extract ClosureContributor from ArgListContributor.
Changes to ArgListContributorTest include adding one test and reordering.

Change-Id: I75eb1c6948044c9846b30f80874a4557d4d78925
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/222600
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-12-10 07:00:39 +00:00
Konstantin Shcheglov 15c5e38337 Support RedirectingConstructorInvocation in ArgListContributor.
Change-Id: I969c536b5a4089bfb13fdb5f6cd4dae2e486cc4c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/222580
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-12-10 01:53:52 +00:00
Danny Tuppeny 5064c19938 [analysis_server] Throw if ChangeBuilder.addDartFileEdit is used in a way that would lose edits
Change-Id: Ifee71a7b471512ba74bfbc4be5ce26d86a67da1a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/222720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-12-09 18:55:34 +00:00
Sam Rawlins fe3ae428a3 analyzer_plugin: Add missing return in nullably-typed function
Bug: https://github.com/dart-lang/sdk/issues/46656
Change-Id: I8a37d4b08ea678b7d021f173448d6770b04f1d34
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/222384
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-12-08 04:21:20 +00:00
Danny Tuppeny 3dbd06bdfc [analysis_server] Use relative imports for completion imports when prefer_relative_imports lint is enabled
Change-Id: Ib72066102db1883a21cf7a42e18a81efcfb47c54
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220200
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-11-16 20:05:51 +00:00
Brian Wilkerson 7bc9ca5ee9 Allow import fixes to run after other fixes
Change-Id: I820332ac17b7e2d9d981271ce2c6f544dc2b2080
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220041
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-11-15 19:20:01 +00:00
Siva Annamalai 8b14aba413 Revert "Reland Support overlapping deletions in quick fixes"
This reverts commit c1d4af3049.

Reason for revert: Broke Flutter, see https://github.com/flutter/flutter/issues/93206 for more details.

Original change's description:
> Reland Support overlapping deletions in quick fixes
>
> This relands both
> - https://dart-review.googlesource.com/c/sdk/+/217280, and
> - https://dart-review.googlesource.com/c/sdk/+/217287
>
> Change-Id: Icd32df8e5bdc64514e4383f2e5625c0b093f862c
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219285
> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
> Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>

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

Change-Id: I282a7ea79777ca257333bb3c4b97d780695df902
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219820
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2021-11-09 18:05:03 +00:00
Konstantin Shcheglov f7d5061350 Create CompletionTarget with AstNode entry point.
When we resolve a file partially, there is no fully resolved
CompilationUnit. So, anything we create for completion should be
based on element models and a resolved, or unresolved AstNode.

In a following CL I will make it possible to create instances of
DartCompletionRequest based on such element models and node.

Change-Id: Ief7e376588bb63f4d898e33299a9fd2014c88843
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219748
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-11-09 02:49:23 +00:00
Konstantin Shcheglov c0aeb94e6b Remove CompletionTarget.unit, parts of OpType.
Change-Id: Ibf39abd01c7fa743944064e288588e66daf6f881
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219740
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-11-08 20:02:42 +00:00
Brian Wilkerson c1d4af3049 Reland Support overlapping deletions in quick fixes
This relands both
- https://dart-review.googlesource.com/c/sdk/+/217280, and
- https://dart-review.googlesource.com/c/sdk/+/217287

Change-Id: Icd32df8e5bdc64514e4383f2e5625c0b093f862c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219285
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-11-05 14:20:09 +00:00
Konstantin Shcheglov f706631f63 Move dotTarget to CompletionTarget.
Change-Id: Idaf40cdedcb90fd68f00fd3ab994ac53c7fe1ae2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/218665
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-10-29 18:34:15 +00:00
Konstantin Shcheglov 9e5d26a31a Fix cast to Expression when completion in a comment token.
By some reason we started getting many of these recently,
showing in crash log.

Change-Id: I6373e8d4b56a32c7d66cc835f1ff6aefb4cd186c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/218662
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-10-29 17:33:19 +00:00
Devon Carew e20ffbb3ce Revert "Support overlapping deletions in quick fixes"
This reverts commit ff34b81174.

Reason for revert: This causes a failing test when trying to roll the engine into flutter/flutter. See https://github.com/flutter/flutter/issues/92181 for more context.

Original change's description:
> Support overlapping deletions in quick fixes
>
> I believe that the tests cover the added behavior (and some existing
> behavior), but they aren't complete. I'll add more tests over time, but
> for now the test coverage is strictly better than it used to be.
>
> Change-Id: I8dd228cb2b3c477c28e6d20c6da4a549a30d1afb
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/217280
> Reviewed-by: Phil Quitslund <pquitslund@google.com>
> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
> Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>

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

Change-Id: Ib50418544a2fd30c255ffc118b42c45aded3ae1c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/217760
Reviewed-by: Devon Carew <devoncarew@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2021-10-22 00:12:46 +00:00
Brian Wilkerson ff34b81174 Support overlapping deletions in quick fixes
I believe that the tests cover the added behavior (and some existing
behavior), but they aren't complete. I'll add more tests over time, but
for now the test coverage is strictly better than it used to be.

Change-Id: I8dd228cb2b3c477c28e6d20c6da4a549a30d1afb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/217280
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-10-19 18:36:23 +00:00
Ahmed Ashour dae0de9755 ChangeBuilder to always write parameters' types for Function
Fixes https://github.com/dart-lang/sdk/issues/29050

Change-Id: I89c0f2dab6d8bcd5af865c6e75022100df1596c6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212822
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-09-29 17:02:21 +00:00
Konstantin Shcheglov b553298024 Deprecated TypeName, use NamedType instead.
Change-Id: Ic7c2bef44277db3d4b3de495fbf9fbadf15f3db8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/214223
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-09-23 06:08:34 +00:00
Konstantin Shcheglov e1b5db7478 Deprecate getters that return TypeName, replace with returning NamedType.
Change-Id: I13764db3da27d5eabe972aab32cdf587a7de53e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/214220
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-09-22 21:01:58 +00:00
Konstantin Shcheglov 1c125b4868 Deprecate AstVisitor.visitTypeName(), add visitNamedType().
Change-Id: I736a568068c2acfdc7074bb16b11fd38b656a13a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/214135
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-09-22 19:15:54 +00:00
Kevin Moore cb7c932f7b analyzer: use Object.hash functions, deprecate JenkinsSmiHash
Also bump min SDK for pkg:analyzer

Towards https://github.com/dart-lang/sdk/issues/27698

Change-Id: Ic32c839c02f18afd99fdb98eb382540aae7da88a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/214126
Auto-Submit: Kevin Moore <kevmoo@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-09-22 19:11:24 +00:00
Konstantin Shcheglov dfd7d7b37a Deprecate NodeList<TypeName> getters and replace with NodeList<NamedType>.
Change-Id: I6a772a7bca75e9c2ab4b3612d51c04ea6114ed6d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/214130
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-09-22 16:25:56 +00:00
Konstantin Shcheglov b8877d1f5a Replace TypeName with NamedType in analyzer_plugin/, where possible.
Change-Id: I979e904fc54fef6dfc42cb999ac72fefb669f462
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/214123
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-09-22 01:26:21 +00:00
Ahmed Ashour a24d875ff6 ChangeBuilder.writeType to handle nullability of Function
Bug: 29050
Change-Id: I2ec8e0a49c626f75ebd1d21adad5d0d63123c54f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212760
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-09-17 22:26:09 +00:00
Brian Wilkerson df964d1c1a Fix a bug in OpType that caused it to compute the wrong completion location
Looking atanges to the tests I wasn't sure whether this was a good change
to make, but the metrics improve for both locations as a result:

CompilationUnit_declaration                   64.159  |     58.277     -5.882
CompilationUnit_directive                   Infinity  |     88.826  -Infinity

The tests mostly cover the case where insertion is between the two, and in
those cases we might want a blend of the two because it's impossible to know
whether the user is adding a directive after the last directive or adding
a declarartion before the first declaration. But that's a topic for a
different CL.

Change-Id: I2b82209ab77796d0bc8b9fc4a7c0ab91293c3746
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211083
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-08-25 00:45:35 +00:00
Ahmed Ashour 86898c2ee6 DartEditBuilder to have canWriteType()
Bug: 46911
Change-Id: Icf8cdb3af6f2c34fe2eff75f1aeb1dac4aa8aac3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210463
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-08-21 18:51:36 +00:00
Brian Wilkerson 7bc076c9e0 Fix a bug in data-driven fixes that caused imports to be added multiple times
Change-Id: Idd0dadcaed4b59173573475d5b115e0fc6228184
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208920
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-08-04 16:20:07 +00:00
Konstantin Shcheglov 62f73a5bd9 Add DartType.alias, deprecate aliasElement/aliasArguments.
Change-Id: I80e0c47c8f431eb504044f4110b55add64c943d1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/207280
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-07-19 21:56:34 +00:00
Konstantin Shcheglov 79327c9f05 Make ResolvedUnitResult.content/unit non-nullable.
Change-Id: Ia79567d248f2c91290bfdf8204ea7e9f3dc85fa4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206668
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-07-14 02:33:10 +00:00
Konstantin Shcheglov cac96f7f8d Rename AnalysisSession.getXyz2() into getXyz().
Change-Id: Ia76aafc6a1190dcdca026097c364270389f2860a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206565
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-07-12 22:42:58 +00:00
Konstantin Shcheglov 672d66cea0 Make AnalysisResult.path non-nullable.
Change-Id: I861643f6c5493b6990c0bacddd81643aaba8e368
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206560
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-07-12 18:21:11 +00:00
Brian Wilkerson a9147cc8b1 Add a resourceProvider getter to ChangeWorkspace
This also cleans up the code that prompted the change to use the new
getter (and removes an unnecessary method).

Change-Id: Ie5763822ac82b8cf935b689b6d19aea3298b54ec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206300
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-07-08 18:34:03 +00:00
Brian Wilkerson 3207a318a4 Create YamlChangeBuilder as a place to support structured edits of a yaml file
Change-Id: I2206b7924d3dad88eab70c60cf279fa1b706420b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206101
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-07-07 14:54:00 +00:00
Brian Wilkerson e95c0b403a Code complete the type in a DeclaredIdentifier even if the name is already present
Change-Id: Ic48f2213b2e5cf3f13c2b0d881781a5eab0cd965
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/204560
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-06-22 21:47:13 +00:00
Konstantin Shcheglov f398c9f3c1 Fix pre-existing HintCode.UNNECESSARY_TYPE_CHECK_TRUE in analyzer/ and friends.
Change-Id: I1019d9c083b825a9f3418bc56ed410e0ba5501fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/204085
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-06-18 16:07:26 +00:00
Brian Wilkerson b11e0de9f7 Suggest extension members inside extensions
Also suggest 'dynamic' after 'as' in a type cast.

Change-Id: I1e9f9f3a894e2c094aa4a6785fcdcfc60fb34260
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/203289
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-06-11 13:45:36 +00:00
Brian Wilkerson d84e261527 Suggest methods and functions returning void in more places
Change-Id: Iab95508b8b6e486bc65d8914e3e4b9fe898a0c48
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/203282
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-06-10 19:43:23 +00:00
Brian Wilkerson cf5a9c4250 Suggest functions with a void return type in an expression function body when the parent closure returns void
Change-Id: I1cedcba4a486c886a5670283c988f66887199213
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/202141
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-06-02 22:44:44 +00:00
Brian Wilkerson 9556697681 Suggest functions returning void as tearoffs where a void returning function is expected
Closes: https://github.com/dart-lang/sdk/issues/23984
Change-Id: I8291687d962a5d2885e5fa811167ca7e12aedc1c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/201286
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-05-26 04:23:11 +00:00