Commit Graph

59 Commits

Author SHA1 Message Date
Brian Wilkerson 47e988b781 Clean up the remaining copyright notices in analysis_server
Change-Id: Iee3110f92ab0f24312ddd1eff407d2229f895321
Reviewed-on: https://dart-review.googlesource.com/c/89101
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-01-11 15:38:56 +00:00
Konstantin Shcheglov da191665aa Issue 34709. Support generic type alias (AKA generic function type alias for now) in outline and completion.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/34709
Change-Id: Ic18d98e07ba0cbd231ded27c4c32533ee013632b
Reviewed-on: https://dart-review.googlesource.com/c/84320
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-11-13 21:20:08 +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
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
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
Brian Wilkerson b83072cf7d Clean up use of callFailingTest
Change-Id: I00ed46b48c03038825d62e1d9bac355bbe2354a7
Reviewed-on: https://dart-review.googlesource.com/68380
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-03 17:29:37 +00:00
Brian Wilkerson ea0468dff4 Fork more server tests to run under CFE
Change-Id: I7addca0b708e0b0dbb28e60619ea0bc2c20711af
Reviewed-on: https://dart-review.googlesource.com/68001
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-02 12:39:46 +00:00
Konstantin Shcheglov d49af06ce0 Fix for searching references to named parameters in hierarchy.
R=brianwilkerson@google.com

Change-Id: I932eae1a1c6e440fab2034bffc7ec850f1216b9c
Reviewed-on: https://dart-review.googlesource.com/55841
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-18 00:08:38 +00:00
Konstantin Shcheglov 00d5012906 Format analyzer, analysis_server, analyzer_plugin, front_end and kernel with the latest dartfmt.
...instead of mixing formatting with actual changes in many CLs.

R=ahe@google.com, paulberry@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2975253002 .
2017-07-13 16:28:18 -07:00
Brian Wilkerson a0d7d64f0b Convert more tests
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2936123002 .
2017-06-13 19:38:59 -07:00
Brian Wilkerson fb982f5476 Make server use the common protocol classes
R=danrubel@google.com

Review-Url: https://codereview.chromium.org/2879273002 .
2017-05-15 09:35:46 -07:00
Brian Wilkerson 27f9e5e4ce Reverse the sense of the flag to make it easier to find test that need to be converted
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2884593003 .
2017-05-15 08:40:40 -07:00
Brian Wilkerson 2a4772a537 Remove unnecessary tests
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2868233003 .
2017-05-10 09:15:36 -07:00
Brian Wilkerson e6c8092cea Enable analysis driver in tests where possible
R=danrubel@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/2868353002 .
2017-05-10 09:13:25 -07:00
Brian Wilkerson e55812a3f2 Unify the server and plugin versions of the generators
R=devoncarew@google.com

Review-Url: https://codereview.chromium.org/2844273003 .
2017-04-28 07:46:29 -07:00
Jacob Richman a993294503 Format all analyzer packages
BUG=
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2753923003 .
2017-03-16 16:11:43 -07:00
Konstantin Shcheglov 5cbd824762 Fix for search references when the element is null.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2526363002 .
2016-11-28 08:51:40 -08:00
Konstantin Shcheglov 9bc4c73e2d Stop returning declaration matches from search for references.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2518183003 .
2016-11-22 12:32:51 -08:00
Konstantin Shcheglov ab0a8e775f Use single unit/node/element.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2525693002 .
2016-11-22 09:13:31 -08:00
Konstantin Shcheglov 05a86a7495 Remove 'initializeTestEnvironment' from 'analysis_server'.
Also fixes the server_options_test.dart:22 test broken in https://codereview.chromium.org/2394683006/

R=paulberry@google.com, brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2402483002 .
2016-10-06 10:26:17 -07:00
Konstantin Shcheglov de4d8b3a78 Switch analysis_server to use 'package:test'.
I'm changing DEPS in the corresponding analyzer CL.

R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2394683006 .
2016-10-06 08:47:15 -07:00
Konstantin Shcheglov dd18f93154 Issue 26926. Don't search hierarchy for static class members.
R=pquitslund@google.com
BUG= https://github.com/dart-lang/sdk/issues/26926

Review URL: https://codereview.chromium.org/2176173004 .
2016-07-25 11:36:52 -07:00
Konstantin Shcheglov bd76934452 Remove old index and search implementations.
Also rename the new implementation files and classes to remove the
'2' suffix.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1801883002 .
2016-03-14 12:19:40 -07:00
Konstantin Shcheglov 222a11c290 Index unqualified unresolved used names.
This fixes one of the previously disabled tests.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1788673004 .
2016-03-11 15:10:43 -08:00
Konstantin Shcheglov 76f4578af8 Start using the new index in Analysis Server.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1786013004 .
2016-03-11 14:02:37 -08:00
Konstantin Shcheglov c7907e7800 Support for searching files by import/export/part URIs and library identifiers.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1417483006 .
2015-10-20 08:52:02 -07:00
Brian Wilkerson 9ad256cf18 Move the wire protocol support into the public API
R=paulberry@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/1398293002 .
2015-10-11 07:34:28 -07:00
Brian Wilkerson 908708d655 More fixes for failures on the Windows bot
R=paulberry@google.com

Review URL: https://codereview.chromium.org//1266923004 .
2015-08-05 08:13:28 -07:00
scheglov@google.com 9efb25fa50 Use package:test_reflective_loader instead of reflective_tests.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1101003002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45365 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 20:54:29 +00:00
brianwilkerson@google.com cd58e290c4 Reformat
R=paulberry@google.com

Review URL: https://codereview.chromium.org//969113002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44151 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-02 22:43:12 +00:00
scheglov@google.com b36efe9640 Field references in field format parameter declarations and initializers mean writing.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//949623005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43971 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-23 18:45:30 +00:00
scheglov@google.com 946d56198e Fix for searching constructor references.
Currently we record constructor declarations and SearchEngine returns them as "references".
But it is not quite a reference, and it is used only as a way to get name range.

With this change to ConstructorElement we don't need to have these artificial references.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//946023003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43932 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-20 22:10:30 +00:00
scheglov@google.com 55a3255070 Return RequestErrorCode.NO_INDEX_GENERATED for search/refactoring requests.
Also remove passing a SearchEngine instance into Quick assists/fixes - they don't use it.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//923103004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43819 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-17 20:01:45 +00:00
scheglov@google.com 1a94fa3a6a Wait for analysis in search domain. Rewrite with async/await.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//894323003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43435 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 21:59:31 +00:00
scheglov@google.com a38a503d86 Replace @ReflectiveTestCase() with @reflectiveTest.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//849863002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42821 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-13 17:11:24 +00:00
paulberry@google.com c35a4acd9c Fix order of operations dependencies in element_references_test
It's not safe for a single test to have two overlapping calls to
findElementReferences() because fields in the test class are used to
hold the search results and to keep track of whether more results are
pending.

Fixes a bogus test failure that arose after the relative ordering of
futures and microtasks was changed.

BUG=dartbug.com/22014
R=scheglov@google.com

Review URL: https://codereview.chromium.org//842803003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42738 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-09 16:36:42 +00:00
scheglov@google.com 07cf72a3ec Improve import prefix search results UI.
1. Bug fix for search on an import directive without a prefix.

2. Pretend that import prefixes are children on libraries' compilation units.

3. Icon for import prefix elements in Editor.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//640333002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41024 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-09 20:30:49 +00:00
scheglov@google.com 3e884db043 Index and search of import prefixes.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//582453002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40397 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-17 20:19:39 +00:00
scheglov@google.com 620f7cf957 Rollback https://codereview.chromium.org/575613002
I'm sorry, but I'm going to rollback this change.
We discussed this offline with Brian and decided that while it looks
technically correct, it does not work well for our use cases, as well as
probably for our users.

R=paulberry@google.com, brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=19697

Review URL: https://codereview.chromium.org//560133003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40324 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-16 16:31:52 +00:00
scheglov@google.com e823d01b65 Issue 19697. Partial fix - don't search for subclasss members.
I think it still worth to commit this CL, if nothing else,
it makes search a little faster by not searching for subclasses.

R=paulberry@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=19697

Review URL: https://codereview.chromium.org//575613002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40290 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-15 23:34:15 +00:00
scheglov@google.com e5a2441aa4 Search for LabelElement and icon for LABEL in Editor.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//576443002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40254 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-15 17:03:35 +00:00
scheglov@google.com bab2843d3a Issue 19696. Test for potential reference to the element defined in a subclass.
R=paulberry@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=19696

Review URL: https://codereview.chromium.org//567243002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40248 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-15 15:07:08 +00:00
paulberry@google.com 2c15ecefbf Avoid false positives when searching for uses of a constructor.
Since constructor invocations are statically bound, there's never a
reason to search for potential matches.  Since potential matching is
performed by name, this avoids an enormous number of false positives
in the case where the constructor is unnamed.

BUG=dartbug.com/20869
R=scheglov@google.com

Review URL: https://codereview.chromium.org//560553003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40058 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-09 21:25:15 +00:00
paulberry@google.com 8d8ee25cff Merge analysis_testing package into analysis_server.
Note that analysis_server already contains a file test/mocks.dart, so
the mocks.dart file from analysis_testing has been imported as
test/mocks2.dart.  I will merge these two into a single file in a
future CL.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//533243002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39814 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 18:11:42 +00:00
scheglov@google.com df574c6e2c Test for 'search.findElementReferences' for the case when there is no element.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//536563002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39779 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 21:54:19 +00:00
paulberry@google.com 33b4cc89c0 Make findElementReferences' "id" result optional.
R=jwren@google.com

Review URL: https://codereview.chromium.org//529123002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39773 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 20:10:59 +00:00
paulberry@google.com 0c0fd777a6 Finish modifying analysis server to make use of code generation.
Generated code is used to produce the response to these requests:
- analysis.updateOptions
- analysis.updateContent
- analysis.setSubscriptions
- analysis.setPriorityFiles
- analysis.setAnalysisRoots
- server.shutdown
- server.setSubscriptions

Generated code is used to produce these requests:
- server.shutdown
- server.getVersion
- server.shutdown
- server.connected

Generated code is used to produce these notifications:
- completion.results
- analysis.overrides
- analysis.outline
- analysis.occurrences

Generated code is used to decode these notifications:
- server.status

In addition, some dead code was removed, the 'protocol.dart' and
'protocol2.dart' files were combined, and the fields Response.result,
Request.params, and Notification.params were made private (to
encourage future use of the generated code).  Also, some overly
verbose import statements were cleaned up by using "hide" rather than
"show".

R=danrubel@google.com

Review URL: https://codereview.chromium.org//506433002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39516 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-25 10:48:16 +00:00
paulberry@google.com caf0592503 Make more use of generated code in analysis server.
The following generated classes are now used:
- Element
- Location
- Occurrences
- Outline
- OverriddenMember
- Override
- Position
- SearchResult
- SearchResultKind
- SourceFileEdit
- TypeHierarchyItem

Generated code is used to produce the responses to these requests:
- completion.getSuggestions
- search.findElementReferences
- search.findMemberDeclarations
- search.findMemberReferences
- search.findTopLevelDeclarations
- search.getTypeHierarchy

Generated code is used to handle these notifications in unit testing:
- analysis.navigation
- analysis.occurrences
- analysis.outline
- analysis.overrides
- search.results

In addition, we no longer bother to test the JSON conversion code on
AnalysisError, since it is code generated.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//479683005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39470 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-21 20:04:06 +00:00
paulberry@google.com c5ff06636b Make more use of generated classes in analysis server.
Generated code is now used to process input JSON, and to create
requests and process responses in unit tests.  In addition, the
handwritten classes for ElementKind and SourceEdit have been replaced
with the gennerated versions.

Also some dead code has been removed.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//492563002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39404 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-20 12:39:31 +00:00
paulberry@google.com c9b9b98343 Use generated classes to create requests in analysis server unit tests.
R=jwren@google.com

Review URL: https://codereview.chromium.org//477323005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39381 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-19 20:36:16 +00:00