Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(620)

Side by Side Diff: pkg/analysis_server/lib/src/domain_edit.dart

Issue 402333006: Implementation of the 'edit.getFixes' API in server. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 library domain.edit;
6
7 import 'package:analysis_server/src/analysis_server.dart';
8 import 'package:analysis_server/src/constants.dart';
9 import 'package:analysis_server/src/protocol.dart';
10 import 'package:analysis_services/constants.dart';
11
12 /**
13 * Instances of the class [EditDomainHandler] implement a [RequestHandler]
14 * that handles requests in the edit domain.
15 */
16 class EditDomainHandler implements RequestHandler {
17 /**
18 * The analysis server that is using this handler to process requests.
19 */
20 final AnalysisServer server;
21
22 /**
23 * Initialize a newly created handler to handle requests for the given [server ].
24 */
25 EditDomainHandler(this.server);
26
27 @override
28 Response handleRequest(Request request) {
29 try {
30 String requestName = request.method;
31 if (requestName == EDIT_APPLY_REFACTORING) {
32 return applyRefactoring(request);
33 } else if (requestName == EDIT_CREATE_REFACTORING) {
34 return createRefactoring(request);
35 } else if (requestName == EDIT_DELETE_REFACTORING) {
36 return deleteRefactoring(request);
37 } else if (requestName == EDIT_GET_ASSISTS) {
38 return getAssists(request);
39 } else if (requestName == EDIT_GET_FIXES) {
40 return getFixes(request);
41 } else if (requestName == EDIT_GET_REFACTORINGS) {
42 return getRefactorings(request);
43 } else if (requestName == EDIT_SET_REFACTORING_OPTIONS) {
44 return setRefactoringOptions(request);
45 }
46 } on RequestFailure catch (exception) {
47 return exception.response;
48 }
49 return null;
50 }
51
52 Response applyRefactoring(Request request) {
53 // id
54 RequestDatum idDatum = request.getRequiredParameter(ID);
55 String id = idDatum.asString();
56 // TODO(brianwilkerson) implement
57 return null;
58 }
59
60 Response createRefactoring(Request request) {
61 // kind
62 RequestDatum kindDatum = request.getRequiredParameter(KIND);
63 String kind = kindDatum.asString();
64 // file
65 RequestDatum fileDatum = request.getRequiredParameter(FILE);
66 String file = fileDatum.asString();
67 // offset
68 RequestDatum offsetDatum = request.getRequiredParameter(OFFSET);
69 int offset = offsetDatum.asInt();
70 // length
71 RequestDatum lengthDatum = request.getRequiredParameter(LENGTH);
72 int length = lengthDatum.asInt();
73 // TODO(brianwilkerson) implement
74 return null;
75 }
76
77 Response deleteRefactoring(Request request) {
78 // id
79 RequestDatum idDatum = request.getRequiredParameter(ID);
80 String id = idDatum.asString();
81 // TODO(brianwilkerson) implement
82 return null;
83 }
84
85 Response getAssists(Request request) {
86 // file
87 RequestDatum fileDatum = request.getRequiredParameter(FILE);
88 String file = fileDatum.asString();
89 // offset
90 RequestDatum offsetDatum = request.getRequiredParameter(OFFSET);
91 int offset = offsetDatum.asInt();
92 // length
93 RequestDatum lengthDatum = request.getRequiredParameter(LENGTH);
94 int length = lengthDatum.asInt();
95 // TODO(brianwilkerson) implement
96 return null;
97 }
98
99 Response getFixes(Request request) {
100 // errors
101 RequestDatum errorsDatum = request.getRequiredParameter(ERRORS);
102 // TODO(paulberry): the API for edit.getFixes should be changed to so that
103 // it doesn't use AnalysisError as an input type. This is necessary
104 // because the JSON protocol for an AnalysisError doesn't contain the
105 // errorCode, so we don't have enough information to reconstitute the error
106 // object.
107 // List<AnalysisError> errors = errorsDatum.asList((RequestDatum datum) {
108 // return _createAnalysisError(request, datum);
109 // });
110
111 // TODO(brianwilkerson) implement
112 return null;
113 }
114
115 Response getRefactorings(Request request) {
116 // file
117 RequestDatum fileDatum = request.getRequiredParameter(FILE);
118 String file = fileDatum.asString();
119 // offset
120 RequestDatum offsetDatum = request.getRequiredParameter(OFFSET);
121 int offset = offsetDatum.asInt();
122 // length
123 RequestDatum lengthDatum = request.getRequiredParameter(LENGTH);
124 int length = lengthDatum.asInt();
125 // TODO(brianwilkerson) implement
126 return null;
127 }
128
129 Response setRefactoringOptions(Request request) {
130 // id
131 RequestDatum idDatum = request.getRequiredParameter(ID);
132 String id = idDatum.asString();
133 // TODO(brianwilkerson) implement
134 return null;
135 }
136 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698