Commit Graph

70 Commits

Author SHA1 Message Date
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
Brian Wilkerson 6ccbef94fc Convert analysis server over to use ContextBuilder
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2286923002 .
2016-08-29 08:11:53 -07:00
Konstantin Shcheglov 0522cad42a Convert to async/await parts that cause strong mode warnings.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2233633003 .
2016-08-10 10:28:34 -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
Devon Carew c52843e42d Validate the regex used in search.findTopLevelDeclarations.
BUG=
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2160723002 .
2016-07-18 12:13:12 -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
Brian Slesinsky ae009e0870 Fix regression for import suggestions
Imports weren't being suggested for implicit source files,
for example files from other analysis roots.

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

Review URL: https://codereview.chromium.org/1759333002 .
2016-03-09 12:59:46 -08:00
Konstantin Shcheglov 9f451cb0dc Issue 25538. Fix for type hierarchy and private class members.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/25538

Review URL: https://codereview.chromium.org/1615093002 .
2016-01-21 10:56:05 -08:00
Konstantin Shcheglov a19b2985dc Fix for the case when a class appears twice in a type hierarchy.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1406403009 .
2015-11-06 11:14:30 -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
Konstantin Shcheglov 9913f33522 Stop looking for overrides once the pivot element reached.
See also https://github.com/dart-lang/sdk/issues/21804 for the original motivation.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1396053003 .
2015-10-13 08:24:16 -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
Konstantin Shcheglov 13d5a4744d Support for 'superOnly' in 'search.getTypeHierarchy'.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1322323005 .
2015-09-03 14:29:48 -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 944fd2ccdd Issue 22575. Fix for type hierarchy from FieldElement.
R=brianwilkerson@google.com, paulberry@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=22575

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44077 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-26 22:22:31 +00:00
scheglov@google.com 7c257183de Issue 21804. Type hierarchy should show overrides in mixins.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21804

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44033 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-25 22:53:19 +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 51842b06f2 Fix type hierarchy when there is no element.
This one was caught by an integration test.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43445 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 23:01:51 +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 b8da9bc651 Format and sort analyzer and analysis_server packages.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41792 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-17 22:23:53 +00:00
scheglov@google.com df6233ae4a Use Element's source paths instead of URIs as a key in the index.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41530 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-05 21:02:37 +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 e9e0694e2f Remove references to Engine classes from protocol.dart
R=brianwilkerson@google.com, paulberry@google.com, danrubel@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40948 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-07 00:24:48 +00:00
paulberry@google.com 1f50bf550a Remove special list behavior in analysis server protocol.
Previously, for optional lists, the absence of a list was treated by
the toJson and fromJson methods as equivalent to the presence of an
empty list.  This disagreed with the API documentation in several
places and created the risk of null reference exceptions in clients.

This change makes optional lists behave just like optional fields of
any other type.

BUG=dartbug.com/21230
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40939 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-06 16:32:14 +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 f556420f97 Rename some bools in the analysis server API.
R=brianwilkerson@google.com, jwren@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39604 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-27 16:39:49 +00:00
scheglov@google.com d197a2cded Extract 'toJson' in TH test.
R=paulberry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39526 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-25 19:11:17 +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 10fdb7677a Change analysis server protocol to omit empty lists when optional.
For object fields of type List that are marked as optional, FromJson
code automatically populates the data structure with an empty list
when the field is omitted.  ToJson code automatically omits the field
when its value is an empty list.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39507 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-23 18:03:34 +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