| Index: pkg/analysis_server/lib/src/search/search_domain.dart
|
| diff --git a/pkg/analysis_server/lib/src/search/search_domain.dart b/pkg/analysis_server/lib/src/search/search_domain.dart
|
| index 1de89e85462a2b650e2522d26d09ecf65bd40bf9..3bf8d3c79526a453dd93082b66eb6711c69f9dea 100644
|
| --- a/pkg/analysis_server/lib/src/search/search_domain.dart
|
| +++ b/pkg/analysis_server/lib/src/search/search_domain.dart
|
| @@ -7,15 +7,10 @@ library search.domain;
|
| import 'dart:async';
|
|
|
| import 'package:analysis_server/src/analysis_server.dart';
|
| -import 'package:analysis_server/src/computer/element.dart' as se;
|
| import 'package:analysis_server/src/constants.dart';
|
| import 'package:analysis_server/src/protocol.dart';
|
| -import 'package:analysis_server/src/protocol2.dart' show
|
| - SearchFindElementReferencesParams, SearchFindMemberDeclarationsParams,
|
| - SearchFindMemberReferencesParams, SearchFindTopLevelDeclarationsParams,
|
| - SearchGetTypeHierarchyParams;
|
| +import 'package:analysis_server/src/protocol2.dart' as protocol;
|
| import 'package:analysis_server/src/search/element_references.dart';
|
| -import 'package:analysis_server/src/search/search_result.dart';
|
| import 'package:analysis_server/src/search/type_hierarchy.dart';
|
| import 'package:analysis_server/src/services/json.dart';
|
| import 'package:analysis_server/src/services/search/search_engine.dart';
|
| @@ -49,7 +44,7 @@ class SearchDomainHandler implements RequestHandler {
|
| }
|
|
|
| Response findElementReferences(Request request) {
|
| - var params = new SearchFindElementReferencesParams.fromRequest(request);
|
| + var params = new protocol.SearchFindElementReferencesParams.fromRequest(request);
|
| // prepare elements
|
| List<Element> elements = server.getElementsAtOffset(params.file,
|
| params.offset);
|
| @@ -67,7 +62,7 @@ class SearchDomainHandler implements RequestHandler {
|
| elements.forEach((Element element) {
|
| var computer = new ElementReferencesComputer(searchEngine);
|
| var future = computer.compute(element, params.includePotential);
|
| - future.then((List<SearchResult> results) {
|
| + future.then((List<protocol.SearchResult> results) {
|
| bool isLast = identical(element, elements.last);
|
| _sendSearchNotification(searchId, isLast, results);
|
| });
|
| @@ -78,17 +73,16 @@ class SearchDomainHandler implements RequestHandler {
|
| });
|
| }
|
| // respond
|
| - Response response = new Response(request.id);
|
| - response.setResult(ID, searchId);
|
| + protocol.Element element;
|
| if (elements.isNotEmpty) {
|
| - var serverElement = new se.Element.fromEngine(elements[0]);
|
| - response.setResult(ELEMENT, serverElement.toJson());
|
| + element = new protocol.Element.fromEngine(elements[0]);
|
| }
|
| - return response;
|
| + return new protocol.SearchFindElementReferencesResult(searchId,
|
| + element: element).toResponse(request.id);
|
| }
|
|
|
| Response findMemberDeclarations(Request request) {
|
| - var params = new SearchFindMemberDeclarationsParams.fromRequest(request);
|
| + var params = new protocol.SearchFindMemberDeclarationsParams.fromRequest(request);
|
| // schedule search
|
| String searchId = (_nextSearchId++).toString();
|
| {
|
| @@ -98,11 +92,12 @@ class SearchDomainHandler implements RequestHandler {
|
| });
|
| }
|
| // respond
|
| - return new Response(request.id)..setResult(ID, searchId);
|
| + return new protocol.SearchFindMemberDeclarationsResult(
|
| + searchId).toResponse(request.id);
|
| }
|
|
|
| Response findMemberReferences(Request request) {
|
| - var params = new SearchFindMemberReferencesParams.fromRequest(request);
|
| + var params = new protocol.SearchFindMemberReferencesParams.fromRequest(request);
|
| // schedule search
|
| String searchId = (_nextSearchId++).toString();
|
| {
|
| @@ -112,11 +107,12 @@ class SearchDomainHandler implements RequestHandler {
|
| });
|
| }
|
| // respond
|
| - return new Response(request.id)..setResult(ID, searchId);
|
| + return new protocol.SearchFindMemberReferencesResult(searchId).toResponse(
|
| + request.id);
|
| }
|
|
|
| Response findTopLevelDeclarations(Request request) {
|
| - var params = new SearchFindTopLevelDeclarationsParams.fromRequest(request);
|
| + var params = new protocol.SearchFindTopLevelDeclarationsParams.fromRequest(request);
|
| // schedule search
|
| String searchId = (_nextSearchId++).toString();
|
| {
|
| @@ -126,32 +122,29 @@ class SearchDomainHandler implements RequestHandler {
|
| });
|
| }
|
| // respond
|
| - return new Response(request.id)..setResult(ID, searchId);
|
| + return new protocol.SearchFindTopLevelDeclarationsResult(
|
| + searchId).toResponse(request.id);
|
| }
|
|
|
| /**
|
| * Implement the `search.getTypeHierarchy` request.
|
| */
|
| Response getTypeHierarchy(Request request) {
|
| - var params = new SearchGetTypeHierarchyParams.fromRequest(request);
|
| + var params = new protocol.SearchGetTypeHierarchyParams.fromRequest(request);
|
| // prepare parameters
|
| // prepare Element
|
| List<Element> elements = server.getElementsAtOffset(params.file,
|
| params.offset);
|
| - Response response = new Response(request.id);
|
| if (elements.isEmpty) {
|
| - response.setEmptyResult();
|
| + Response response = new protocol.SearchGetTypeHierarchyResult().toResponse(request.id);
|
| return response;
|
| }
|
| Element element = elements.first;
|
| // prepare type hierarchy
|
| TypeHierarchyComputer computer = new TypeHierarchyComputer(searchEngine);
|
| - computer.compute(element).then((List<TypeHierarchyItem> items) {
|
| - if (items != null) {
|
| - response.setResult(HIERARCHY_ITEMS, objectToJson(items));
|
| - } else {
|
| - response.setEmptyResult();
|
| - }
|
| + computer.compute(element).then((List<protocol.TypeHierarchyItem> items) {
|
| + Response response = new protocol.SearchGetTypeHierarchyResult(
|
| + hierarchyItems: items).toResponse(request.id);
|
| server.sendResponse(response);
|
| });
|
| // delay response
|
| @@ -180,7 +173,7 @@ class SearchDomainHandler implements RequestHandler {
|
| }
|
|
|
| void _sendSearchNotification(String searchId, bool isLast,
|
| - Iterable<SearchResult> results) {
|
| + Iterable<protocol.SearchResult> results) {
|
| Notification notification = new Notification(SEARCH_RESULTS);
|
| notification.setParameter(ID, searchId);
|
| notification.setParameter(LAST, isLast);
|
| @@ -188,7 +181,7 @@ class SearchDomainHandler implements RequestHandler {
|
| server.sendNotification(notification);
|
| }
|
|
|
| - static SearchResult toResult(SearchMatch match) {
|
| - return new SearchResult.fromMatch(match);
|
| + static protocol.SearchResult toResult(SearchMatch match) {
|
| + return new protocol.SearchResult.fromMatch(match);
|
| }
|
| }
|
|
|