| // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| /// Operations to be performed during the simulation. |
| import '../utilities/server.dart'; |
| |
| /// An operation that will send an 'analysis.updateContent' request. |
| class Analysis_UpdateContent extends ServerOperation { |
| /// The path of the file whose content is being updated. |
| final String filePath; |
| |
| /// The overlay used to update the content. |
| final Object overlay; |
| |
| /// Initialize an operation to send an 'analysis.updateContent' request with |
| /// the given [filePath] and [overlay] as parameters. |
| Analysis_UpdateContent(this.filePath, this.overlay); |
| |
| @override |
| void perform(Server server) { |
| server.sendAnalysisUpdateContent({filePath: overlay}); |
| // if (overlay is ChangeContentOverlay) { |
| // List<SourceEdit> edits = (overlay as ChangeContentOverlay).edits; |
| // if (edits.length == 1) { |
| // SourceEdit edit = edits[0]; |
| // if (edit.replacement.endsWith('.')) { |
| // int offset = edit.offset + edit.replacement.length - 1; |
| // server.sendCompletionGetSuggestions(filePath, offset); |
| // } |
| // } |
| // } |
| } |
| } |
| |
| /// An operation that will send a 'completion.getSuggestions' request. |
| class Completion_GetSuggestions extends ServerOperation { |
| /// The path of the file in which completions are being requested. |
| final String filePath; |
| |
| /// The offset at which completions are being requested. |
| final int offset; |
| |
| /// Initialize an operation to send a 'completion.getSuggestions' request with |
| /// the given [filePath] and [offset] as parameters. |
| Completion_GetSuggestions(this.filePath, this.offset); |
| |
| @override |
| void perform(Server server) { |
| server.sendCompletionGetSuggestions(filePath, offset); |
| } |
| } |
| |
| /// An operation to be performed during the simulation. |
| abstract class ServerOperation { |
| /// Perform this operation by communicating with the given [server]. |
| void perform(Server server); |
| } |