Commit Graph

2362 Commits

Author SHA1 Message Date
Brian Wilkerson fe5a99dd75 Add hover support for mixin declarations
Change-Id: Ia42f39aec7b001264ae69043fe76ceb2c79b76cb
Reviewed-on: https://dart-review.googlesource.com/73960
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-09-07 17:52:45 +00:00
Lasse Reichstein Holst Nielsen f0172a4c41 Export Future and Stream from dart:core.
This allows `async` and `async*` functions to be typed without importing `dart:async`.
All other async types still need to be imported, including `FutureOr` and `Zone`,
but pure `async`/`await` based code can be written with no imports.

Fixes #26162.

Bug: http://dartbug.com/26162
Change-Id: Iaf36631ef5b3251a688e495a9d238b2f8787f14c
Reviewed-on: https://dart-review.googlesource.com/71480
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2018-09-07 06:14:32 +00:00
Brian Wilkerson fdcbe5dc93 Rename test files to be recognized by test.py
Change-Id: Id302623c9ff257647981f713c7229120bd70ada8
Reviewed-on: https://dart-review.googlesource.com/73800
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-09-06 23:31:32 +00:00
Brian Wilkerson e20064b8bf Add syntax highlighting support for the new mixin syntax
Change-Id: I4d6cfdfe0cd8d9c5be82c6efabeb642c4ca87e72
Reviewed-on: https://dart-review.googlesource.com/70902
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-09-06 19:49:20 +00:00
Konstantin Shcheglov 7a7ab6410d Resolve using mixin(s) in 'with' clauses.
This also allows searching for mixin(s), which we test now.

R=brianwilkerson@google.com

Change-Id: I6c1944db0e6ecbc0f7352188968e53ef38603426
Reviewed-on: https://dart-review.googlesource.com/72554
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-09-04 01:02:13 +00:00
Brian Wilkerson e9504d2857 Add outline support for the new mixin syntax
Change-Id: I75d020f613daf37812ccf805d75e35091a28c198
Reviewed-on: https://dart-review.googlesource.com/72524
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-08-31 21:53:15 +00:00
Konstantin Shcheglov 7cf078c05d Index and search for mixins.
R=brianwilkerson@google.com

Change-Id: I5399507dc5a9688ee5944f6554167a6b1e8692b6
Reviewed-on: https://dart-review.googlesource.com/72525
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-31 21:38:26 +00:00
Konstantin Shcheglov 0fae13e6bf Support for mixins in search.getElementDeclarations.
R=brianwilkerson@google.com

Change-Id: I88e90159ae28a2585fdbaacca2c4caab15891b83
Reviewed-on: https://dart-review.googlesource.com/72523
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-31 20:19:18 +00:00
Brian Wilkerson 4461b7cbcc Add folding support for the new mixin syntax
Change-Id: I8f37a391cc47a2203730c81acd5f1776cb386e2e
Reviewed-on: https://dart-review.googlesource.com/72521
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-31 17:33:36 +00:00
Brian Wilkerson c22f0c6167 Add completion support for the new mixin syntax
Change-Id: I3a8744e03f32092c15f1e340e0ee6bef5245a859
Reviewed-on: https://dart-review.googlesource.com/72520
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-31 16:59:18 +00:00
Brian Wilkerson ce117b0f92 Revert "Add support in analysis options file for new mixin declaration"
Change-Id: If051da5a77ce697525e11c33d33a1e88e7c42832
Reviewed-on: https://dart-review.googlesource.com/72280
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-30 22:11:04 +00:00
Konstantin Shcheglov dbb1b2f4a6 Add 'Wrap with Container' quick assist.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I860a3a92024b349153266fd9e70b56beea426ee2
Bug: https://github.com/flutter/flutter-intellij/issues/2566
Reviewed-on: https://dart-review.googlesource.com/72260
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-30 21:47:32 +00:00
Brian Wilkerson 8c6259fbe8 Add support in analysis options file for new mixin declaration
Change-Id: I0e991ea2c52442ff8a30dc5190d2b37cf14adebf
Reviewed-on: https://dart-review.googlesource.com/72180
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-30 19:12:04 +00:00
Paul Berry e76d37f307 Remove strong mode booleans related to summary linking.
The analyzer always runs in strong mode now, so these booleans aren't
needed.

Change-Id: Ic16ca9f37f8befead5aee85140fb70395a1d3511
Reviewed-on: https://dart-review.googlesource.com/71622
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-30 13:54:42 +00:00
Paul Berry d04d304909 Stop using/generating spec.sum file.
For some time now, this file has had the same contents as strong.sum.
There's no point in keeping it around.

Change-Id: I793a41ca6cb1c47c68357f549d299fa95b96c4c5
Reviewed-on: https://dart-review.googlesource.com/71701
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-08-30 12:32:52 +00:00
Konstantin Shcheglov 1f52372bfa Remove CFE integration from analyzer, analysis_server, and analyzer_cli.
AnalysisDriverResolutionTest is partially updated, about 30 failing
tests added. I will get back to it in a following CL, it is not
directly CFE integration, but updated understanding how we want to
resolve. For example we don't need types for non-expression identifiers.

Change-Id: I3daddbb6c66ffad7a726f3313a1199fd7387aa04
Reviewed-on: https://dart-review.googlesource.com/71883
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-29 13:46:45 +00:00
Konstantin Shcheglov 1b8f3026bf Remove most of isStrongModeError: false, update language_2 tests.
https://github.com/dart-lang/sdk/issues/33022
https://github.com/dart-lang/sdk/issues/28823
https://github.com/dart-lang/sdk/issues/11124

Change-Id: I44427cdab25aae356ec89d677fa142d23d7b42c7
Reviewed-on: https://dart-review.googlesource.com/71428
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-08-29 02:06:45 +00:00
Janice Collins f40ff153a9 Enable --use-fasta-parser with the analyzer by default.
Based on Devon's change at:

https://dart-review.googlesource.com/c/sdk/+/67090

Change-Id: I80b7943826e248bf37d9bbbb769330d24b0dd6ae
Reviewed-on: https://dart-review.googlesource.com/70160
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Janice Collins <jcollins@google.com>
2018-08-28 19:29:17 +00:00
Danny Tuppeny 19f6c826a4 Ensure we don't walk over closures when looking for argument lists
Bug: https://github.com/dart-lang/sdk/issues/34241
Change-Id: I21e9e8e1389e989aa3ad5ee98f63c497548ffd6b
Reviewed-on: https://dart-review.googlesource.com/71481
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-28 11:40:33 +00:00
Konstantin Shcheglov 83324a8db9 Fix for NPE when prefix completion after an expression without type.
R=brianwilkerson@google.com

Change-Id: I3ef1c1e1f981e3a5c9ed6da066a1d204c6b3816d
Reviewed-on: https://dart-review.googlesource.com/71620
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-27 22:14:01 +00:00
Konstantin Shcheglov d332cae86e Refactor PostfixCompletionTest to make invalid tests positive.
A clean up before https://dart-review.googlesource.com/c/sdk/+/71620

R=brianwilkerson@google.com

Change-Id: I475d1eab3bb5a54a2035a7b8940c101f662e53a0
Reviewed-on: https://dart-review.googlesource.com/71660
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-27 21:06:23 +00:00
Konstantin Shcheglov 8b3a0a8476 Issue 2558. Fixes for 'convert to async function body'.
R=brianwilkerson@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/2558
Change-Id: I6e1931a226732b922c2c1695f378d3b59ae09c09
Reviewed-on: https://dart-review.googlesource.com/71560
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-27 16:31:14 +00:00
Konstantin Shcheglov b255f0fab6 Resolve required arguments after named.
Change-Id: I2947be1fc20b1455e7865c34e35349977d61f70b
Reviewed-on: https://dart-review.googlesource.com/71382
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-23 22:04:12 +00:00
Devon Carew 8f31a2d96a Mark the test_postfix_completion test as slow.
Change-Id: I38db4fd08cdec35abf159cc2c9807aede266f1b1
Reviewed-on: https://dart-review.googlesource.com/71187
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Steve Messick <messick@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-08-22 19:25:59 +00:00
Brian Wilkerson aded927ff4 Fix cast exception in ArgListContributor (issue 34227)
Change-Id: Ib6db1fcab1b03059261fc35432794efd92524298
Reviewed-on: https://dart-review.googlesource.com/71188
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-22 19:04:35 +00:00
Konstantin Shcheglov 9ef53bde19 Store codeOffset/length code fields and top-level variables.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I4590a38245039a4c60144feab039cf8d0db00677
Reviewed-on: https://dart-review.googlesource.com/71040
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-22 01:53:36 +00:00
Konstantin Shcheglov 34e6aa8ad2 Fix mock SDK and front-end targer in analyzer.
R=brianwilkerson@google.com

Change-Id: I7d4a1948fe21720c237f6e36997d29e63dd7ab28
Reviewed-on: https://dart-review.googlesource.com/70983
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-21 21:42:23 +00:00
Devon Carew 9bf9822bec Increase a timeout for a slow test.
Change-Id: Ica5869cff0a710e778105c84fc8a6f4fbceb5ce9
Reviewed-on: https://dart-review.googlesource.com/70781
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-08-20 21:12:42 +00:00
Aske Simon Christensen f8a96b88e9 It is an error if a final field is not initialized.
Bug: https://github.com/dart-lang/sdk/issues/33022

This commit adds an error when a final field is not initialized at all
(and there is at least one generative constructor). A later commit
will add an error for the case where a field is initialized by some,
but not all, generative constructors.

A number of classes in the Dart2js and DDC support libraries use
uninitialized final fields to indicate getters in the corresponding
native classes. This commit adds a temporary whitelist for the
affected files, which can be removed when the fields have been
replaced by external getters.

This is tracked by https://github.com/dart-lang/sdk/issues/33762

Change-Id: I6b5cee230c7cd5554da2b61da7ebddb6b0b9396e
Reviewed-on: https://dart-review.googlesource.com/63781
Reviewed-by: Daniel Hillerström <hillerstrom@google.com>
2018-08-17 12:37:52 +00:00
Brian Wilkerson f92043c3c8 Get some code completion tests passing under CFE
Change-Id: I0b15fd09ae8c1b8bb7d648066edf7a89cfb398a9
Reviewed-on: https://dart-review.googlesource.com/70164
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-16 00:58:44 +00:00
Dan Rubel 825df975a0 Revise fasta type arg/param parsing to ignore "<".endGroup
The scanner associates '<' with '>' and '>>',
but the parser cannot use '<'.endToken/endGroup reliably
and wastes time updating that token's endToken/endGroup field.

This CL updates type info parsing to ignore '<'.endGroup
and step through the token stream (which it has to do anyway),
for improved parsing.

This CL causes a handful of existing tests to fail (marked as @failingTest)
and test failures will be addressed in a subsequent CL.

Change-Id: I788e9a74cd2891f98f44bba15d5669febfec6c64
Reviewed-on: https://dart-review.googlesource.com/70001
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-15 22:16:40 +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
Brian Wilkerson 964a2fb9bb Produce fix when super constructor does not exist
Change-Id: I8186b42a938a3ad814e624ba5b378c130422209f
Reviewed-on: https://dart-review.googlesource.com/70080
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-15 13:24:32 +00:00
Brian Wilkerson 49437e3bae Split TooManyArguments to support quick fixes
Change-Id: I31511f619cafbce01f68d6e182328567a2bc3523
Reviewed-on: https://dart-review.googlesource.com/70021
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-15 13:24:22 +00:00
Brian Wilkerson 817e2cacb5 Base fixes on UNDEFINED_GETTER rather than UNDEFINED_IDENTIFIER
Change-Id: Icf951cbb8b046985df4f6cae6e7e7e1cfab7766a
Reviewed-on: https://dart-review.googlesource.com/69980
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-14 17:50:48 +00:00
Brian Wilkerson ecad8d67b3 Add fix for getters on parameters
Change-Id: I42b34534d9a83dd6802e5a79ea1d69bd4bbef887
Reviewed-on: https://dart-review.googlesource.com/69981
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-14 17:50:14 +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
Brian Wilkerson 8f768e7305 Fix an NPE when creating a fix to add a method for an undefined identifier that is not in a class context
Change-Id: Id7989b1dc0dc80b820aaf57a746247ac7525ed56
Reviewed-on: https://dart-review.googlesource.com/69660
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-13 17:32:59 +00:00
Brian Wilkerson d72334e6a2 Prevent NPEs in the fix processor
Change-Id: I2a5c12bf6f3aec4c8a504590f39b666c9934e4e4
Reviewed-on: https://dart-review.googlesource.com/68435
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-08-13 17:30:10 +00:00
Brian Wilkerson 978f12c17f Use void in place of Null in analysis_server
Change-Id: Ifef805cb3c0111e237a6147f71a968958d5651e5
Reviewed-on: https://dart-review.googlesource.com/69560
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-13 13:16:53 +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
Brian Wilkerson ea9b594230 Added some quality measures to the completion stress test
Change-Id: I6d1a90fdabda2db33cc96f84fe8ee1b8aba98d34
Reviewed-on: https://dart-review.googlesource.com/69282
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-10 18:38: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 0aa8f2d5cb Fix for some Quick Fix tests by adding CFE generated error codes.
R=brianwilkerson@google.com

Change-Id: I2b06dc388a00aa0c8e5ab3db045b3fe8ec02ed5e
Reviewed-on: https://dart-review.googlesource.com/69283
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-10 18:00:46 +00:00
Konstantin Shcheglov ac973e5ba7 Return SourceSpan with actual length from _CompilationMessage.
Change-Id: I883a4ce1b6fc63643db259a0d22e0719b460c109
Reviewed-on: https://dart-review.googlesource.com/69005
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-10 16:03:42 +00:00
Konstantin Shcheglov d69a354026 Put fileEndOffset into ArgumentsJudgment and use to report argument errors.
Change-Id: Id79bd71e7147be379e93024591134c12aa598a38
Reviewed-on: https://dart-review.googlesource.com/69221
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-10 15:40:37 +00:00
Konstantin Shcheglov 6f9073bb9d Wait for Analysis Server errors only while waiting for a response.
Change-Id: Ifd07293322b69cc9bab98e3698d63249b62abdb0
Reviewed-on: https://dart-review.googlesource.com/69242
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-10 00:34:48 +00:00
Brian Wilkerson ef2f777625 Mark some analyzer tests as being flaky
Change-Id: I61838bd32427ea18000df33181cf908783607240
Reviewed-on: https://dart-review.googlesource.com/69180
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-09 16:19:41 +00:00
Brian Wilkerson cf560fe17b Fix a couple of the tests failing on the analyzer with fasta parser bot
Change-Id: Ie955c2577f60efdc0ec6c8b6da0e90e08b1e5c61
Reviewed-on: https://dart-review.googlesource.com/69011
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-08-09 16:14:56 +00:00