Commit Graph

1474 Commits

Author SHA1 Message Date
Brian Wilkerson b08d7756bd Prevent NPE in code completion when completing inside unnamed extension (issue 38798)
Change-Id: Ia7041b236bd3f64662b5e0167de7b7343cfcf68a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121147
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-10-10 21:32:22 +00:00
Ari Aye 4227933c3a Disallow model-only suggestions if static analysis suggests a named argument
Bug: https://github.com/dart-lang/sdk/issues/38404
Change-Id: I72b505cb5bee1f463c0ec6b0a1e9e60c5b7ea518
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117767
Commit-Queue: Ari Aye <ariaye@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-10-09 18:13:48 +00:00
Ben Hagen 082e82ed5e Remove optional new keyword when extracting widget
Closes #38655
https://github.com/dart-lang/sdk/pull/38655

GitOrigin-RevId: 63cd3a9cb6ac0efaa3dee38f5ba6443c17f0f7ba
Change-Id: I97aed6ad2dc740d7c7650aec1234873cab2ceac3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119423
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-10-01 15:59:45 +00:00
Brian Wilkerson 61b4c0f770 Cleanup hints and lints in analyzer packages
Change-Id: I7f1a6ad1ed3610da9616683576ebfb5efd543fd9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119164
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-09-27 16:12:44 +00:00
pq 5f74cc1e59 test for eof comment completions
See: https://github.com/dart-lang/sdk/issues/36037

Change-Id: Ib41d9477322092c7003e982980cbfc0923baaf22
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118645
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-09-25 18:29:41 +00:00
pq 7235115f36 statement completion for expression bodies
See: https://github.com/flutter/flutter-intellij/issues/3253

Change-Id: Ib892833ecfa4500b726f4f6df42f16f0618c994d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118663
Reviewed-by: Steve Messick <messick@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-09-25 17:56:45 +00:00
pq fdc34003e9 await futures
Change-Id: Ia168b46feb2f52fa403f083225e7445c0fc9d96c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118701
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-09-25 13:15:18 +00:00
Brian Wilkerson 49de78b708 Convert tests so that they will continue to pass when extension methods are enabled by default
Change-Id: I58722f78c19d00842d98ebb238622e88c06468e2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117009
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-09-12 19:12:12 +00:00
Konstantin Shcheglov eac977bef0 Issue 38273. Fix for inlining methods ending with a return statement without an expression.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/38273
Change-Id: Ib399379f8aecb1e7737f2efdeb9dbf53f27d4abb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116881
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-11 23:27:40 +00:00
Brian Wilkerson 25edeb7ae1 Support completing the extension name locally
Change-Id: I49174918ca84f2aaafe4b47200e9396f2191a727
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116802
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-09-11 21:42:26 +00:00
Brian Wilkerson be93b04a7c Introduce a better diagnostic message for unqualified references to static members within extensions
Change-Id: Ie505bf86e510161bf5dece489292388039902f83
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116748
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-09-11 19:02:56 +00:00
Brian Wilkerson 1b67cc79da Suggest completions for extensions in parts
Change-Id: I3aceaf24680ee7599a0beccd79dde1f790ec5ad1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116686
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-09-11 13:34:07 +00:00
Konstantin Shcheglov 6705a135e5 Clean up 'Extract Local' refactoring.
We don't support expression fragments anymore, also don't need to
re-tokenize code.

R=brianwilkerson@google.com

Change-Id: Ic8bf930a2d7b81862ce08925405bdd479db8eaba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115180
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-02 20:07:47 +00:00
Konstantin Shcheglov 5190274ed2 Extract LintNames into services/linter/lint_names.dart
R=brianwilkerson@google.com, pquitslund@google.com

Change-Id: I903f8b7eff521a9c218b42311db5e618d4a7a4f5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115072
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-08-30 22:03:38 +00:00
Konstantin Shcheglov b1edcc4de9 Take 'prefer_final_locals' lint into account in 'Extract Local' refactoring.
R=brianwilkerson@google.com, pquitslund@google.com

Change-Id: If562cea70ff816bdcd59df50a6c4f86c006f8857
Bug: https://github.com/dart-lang/sdk/issues/38081
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115065
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-08-30 20:36:18 +00:00
Brian Wilkerson a90abd6cf7 Support completions of extensions imported with a prefix
Change-Id: I82a1fe85fef30f5e9e18cf0459ec0d70500c8d68
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115002
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-08-29 21:54:33 +00:00
Brian Wilkerson aa0af27497 Support completion of static members defined in extensions
Change-Id: I4093a000b84e1f56d53f93201250d287662c7af3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114968
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-08-29 20:33:30 +00:00
pq ea09fbe45d switch case statement completions
follow-up from: https://dart-review.googlesource.com/c/sdk/+/114748

Change-Id: If92ac6e67298e8950d7da57c0d1892cb29ae8c7b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114756
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-08-28 23:26:45 +00:00
pq 851701d2a4 add BREAK suggestions to switch cases
fixes: https://github.com/dart-lang/sdk/issues/36605

Change-Id: I29e3b6a46c542895995b5eedcc64262352bb49a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114748
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-08-28 20:27:51 +00:00
Brian Wilkerson 91400d6422 Guard against an NPE when computing completions (issue 38006)
Change-Id: Ica0a9cf3eecd765db8e9ebaab560f59275f3c345
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114622
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-08-27 21:21:53 +00:00
Konstantin Shcheglov 67d8bb4c24 Add 'Rename Extension Member' refactoring.
R=brianwilkerson@google.com

Change-Id: Ifba22e28e27ee1d29959db27da1fa1cc7a47e4db
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114546
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-08-26 19:44:35 +00:00
Paul Berry 51cd16ecf0 Flow analysis: support for and for-in elements in collections.
Change-Id: Ia73c68c2b8a57c62ce2b4984184cf8a712b554af
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113944
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2019-08-21 21:57:54 +00:00
Paul Berry 4bf5a72ca0 Flow analysis: support functions whose bodies are expressions.
Change-Id: I01a66fb2c897e0cabbdfb4b7423cab53291b3adf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113947
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-08-21 20:41:13 +00:00
Brian Wilkerson b40b301564 Add more extension completion tests and fix a bug they uncovered
Change-Id: I3e89eed886e3100e2d1942e38b124f99bebd6b3b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113385
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-08-16 19:39:45 +00:00
Brian Wilkerson ba5c2a16bd Support completion of extension members
Change-Id: I78a59216add7ea612d77bae0d3e52a0185a682e3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113281
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-08-16 14:30:37 +00:00
Brian Wilkerson 802937e5a6 Add support for completions inside extension (and mixin) bodies
Change-Id: I549e91ac7a8e293ea6592043988a67a2da680620
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113133
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-08-15 16:39:05 +00:00
Ari Aye 3cc20cd185 Remove quotes from suggestions coming out of model when completion is requested inside of quotes
There's an issue right now where accepting string literal model completions inside of quotes
will produce duplicate quotes.

Bug: https://github.com/dart-lang/sdk/issues/37820
Change-Id: I7c2f280c8050bd583c4ab49bf97f86fec3df6d4d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112749
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-08-13 18:54:40 +00:00
lambdabaa d19a590687 Extract the lexeme from included suggestion tags when correlating with model results
Make sure that we're comparing model lexeme to analyzer lexeme since https://github.com/dart-lang/sdk/blob/master/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart#L226.

Change-Id: I01d93623fb09ecc169be92674b58a91ef0bf56ff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112263
Commit-Queue: Ari Aye <ariaye@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-08-07 20:40:55 +00:00
Brian Wilkerson f8f77eb4c0 Add keyword completion suggestions
Change-Id: I2ec6de7a68397aa9e43b155db52c5473e3d7035d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111667
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-08-02 15:09:01 +00:00
Brian Wilkerson 86bdb3e3fa Clean up some warnings in analysis server code
This also sorts the content of these files. The analyzer team uses the Sort Members function on all of the source code in our packages.

Change-Id: Id0700954aefe63f6c7d2e43df021997f95ad7e31
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111663
Reviewed-by: Ari Aye <ariaye@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-08-01 21:24:00 +00:00
lambdabaa 8f0b6c89e2 Fix uri of dart_completion_ranking_internal_test.dart import
Change-Id: Iafaff006e6b2d52b88498d3674e854fe284ae927
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111241
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-30 00:44:04 +00:00
Ari Aye 752f06fff5 Make sure to import and run completion_ranking_test_internal.dart in test_all.dart
Change-Id: I410521737c7c7c2bd45377408769b3b6cbcb8425
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111141
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Ari Aye <ariaye@google.com>
2019-07-29 20:41:43 +00:00
Ari Aye a650cb67f7 Make sure that completion_ranking_test.dart is loaded in test_all.dart
Change-Id: I9933282a9e137c8a3014d1698bfaf50914b72cc4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111020
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Ari Aye <ariaye@google.com>
2019-07-29 17:01:52 +00:00
lambdabaa fc82ed2286 Isolate-based CompletionRanking
Screenshots: https://i.imgur.com/IOLKOCU.png, https://i.imgur.com/dM9VsNr.png

Change-Id: Ieae0f9066b7a349bb4adff6b327b67bcae49aab2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110880
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-29 13:45:23 +00:00
Konstantin Shcheglov ec5bf35152 Update analysis_server and analyzer_plugin to stop using DartType.isSubtypeOf().
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: If7365bd82b97bd692af9508697307976ea7c69e7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110881
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-29 00:19:37 +00:00
lambdabaa a9ebb5c3c8 Enable running language model unit tests on windows
Change-Id: I63457934fcd23510f6a2848fbb00361ebb40a40f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110840
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Ari Aye <ariaye@google.com>
2019-07-27 20:57:59 +00:00
Brian Wilkerson e57b7f2101 Update member sorter to sort extensions
Change-Id: I710123e389adfdd5191ff7538be17982d8f3630c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110767
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-27 14:06:30 +00:00
Brian Wilkerson 6241ea1788 Disable running a test from test_all that breaks when run from a parent directory
Change-Id: I08c45f2e54c483e0cbe4bc46a9759c019c8d3f17
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110743
Auto-Submit: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Ari Aye <ariaye@google.com>
2019-07-26 18:22:39 +00:00
Brian Wilkerson 8b81bb8115 Remove some unused imports
Change-Id: I516b544b3bdff07e67f444024789093907369959
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110760
Reviewed-by: Ari Aye <ariaye@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-26 16:32:01 +00:00
Ari Aye 5d5a0c0164 Check in token-level language model via tflite ffi
Local test run after running `gclient sync`:

ariaye@ariaye1:~/sdk/sdk$ dart pkg/analysis_server/test/services/completion/dart/language_model_test.dart
00:00 +0: calculates lookback
INFO: Initialized TensorFlow Lite runtime.
00:00 +1: predict with defaults
00:01 +2: predict with confidence scores
00:03 +3: predict when no previous tokens
00:04 +4: All tests passed!


Change-Id: I4181bea09cf8fec74d03bba4f83cd26dac818f30
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109662
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-25 18:39:51 +00:00
pq c2ff2ca16d collection API use de-linting
Change-Id: I8879f48d484830ff594295b983363b7e3245f092
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108668
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-10 22:49:10 +00:00
pq 52abcd3dd2 apply prefer_equal_for_default_values
Change-Id: I9b6fd3ee18ec834a5db3d0d25455b6db9ea4fbe2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108664
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-07-10 19:31:40 +00:00
Konstantin Shcheglov fc542be6b4 Issue 36682. Check that selection offset/length is valid in Extract Method refactoring.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/36682
Change-Id: I9b15983ff6a872eec14c48bdf29680e6db97a75e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108480
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-09 18:51:42 +00:00
Brian Wilkerson ea0e48a118 Guard against an NPE in completion code (issue 36788)
Change-Id: I05fc48ac7ad495820c5e3f7efdb6db2096108e54
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107306
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-06-25 17:13:12 +00:00
Jaime Wren 7a028cd924 Bug fix with file move and renames, http://dartbug.com/37121
Bug: dartbug.com/37121
Change-Id: I9ffc7e39a33ca36d78a123b8567261d8709b9e6a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107200
Reviewed-by: Jaime Wren <jwren@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2019-06-25 15:59:12 +00:00
Konstantin Shcheglov d563bbba27 Fix for wrong occurrences when different expression with the same prefix.
R=brianwilkerson@google.com

Change-Id: I6bc00e2c30a8bf7b2e761e86310ad69e22ca956c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107195
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-24 22:02:21 +00:00
Jaime Wren a1a51072da Add a failing "move file" refactoring test for dartbug.com/37121
Change-Id: I88aa52e96c09ea6eec03013bfd3c3a3e205b08e4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106981
Commit-Queue: Jaime Wren <jwren@google.com>
Reviewed-by: Jaime Wren <jwren@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-06-21 20:09:48 +00:00
Konstantin Shcheglov d63466041c Issue 131596231. Suggest names for SimpleFormalParameter(s).
R=brianwilkerson@google.com, jwren@google.com

Change-Id: I9074ef1a5aaeee32303dcf247c2be86f9c173d14
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104460
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Jaime Wren <jwren@google.com>
2019-06-03 17:34:18 +00:00
Brian Wilkerson 2e51423c3d Convert the way function types are displayed to better match the syntax of Dart
Change-Id: Id5068bd52b3a35c70cb0d2ccc735469e2f8a0d3b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103701
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-05-28 20:48:51 +00:00
Jaime Wren 454b98c490 Some additional tests in variable_name_contributor_test.dart to cover all the doIncludePrivateVersion cases
Change-Id: I8ec2a14e8ba4cc3a1ca4228c5455ab7cb6a2138c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101924
Reviewed-by: Jaime Wren <jwren@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2019-05-08 23:10:49 +00:00