| Index: pkg/analysis_server/lib/src/plugin/result_converter.dart
|
| diff --git a/pkg/analysis_server/lib/src/plugin/result_converter.dart b/pkg/analysis_server/lib/src/plugin/result_converter.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a2d0994ebb444d4996e82e2973b2ed0165d75719
|
| --- /dev/null
|
| +++ b/pkg/analysis_server/lib/src/plugin/result_converter.dart
|
| @@ -0,0 +1,92 @@
|
| +// Copyright (c) 2017, 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.
|
| +
|
| +import 'package:analysis_server/plugin/protocol/protocol.dart' as server;
|
| +import 'package:analysis_server/src/protocol/protocol_internal.dart' as server;
|
| +import 'package:analyzer_plugin/protocol/protocol_generated.dart' as plugin;
|
| +
|
| +/**
|
| + * An object used to convert between similar objects defined by both the plugin
|
| + * protocol and the server protocol.
|
| + */
|
| +class ResultConverter {
|
| + /**
|
| + * The decoder used to decode Json representations of server objects.
|
| + */
|
| + static final server.ResponseDecoder decoder =
|
| + new server.ResponseDecoder(null);
|
| +
|
| + server.AnalysisError convertAnalysisError(plugin.AnalysisError error) {
|
| + return new server.AnalysisError.fromJson(decoder, '', error.toJson());
|
| + }
|
| +
|
| + server.AnalysisErrorFixes convertAnalysisErrorFixes(
|
| + plugin.AnalysisErrorFixes fixes) {
|
| + List<server.SourceChange> changes = fixes.fixes
|
| + .map((plugin.PrioritizedSourceChange change) =>
|
| + convertPrioritizedSourceChange(change))
|
| + .toList();
|
| + return new server.AnalysisErrorFixes(convertAnalysisError(fixes.error),
|
| + fixes: changes);
|
| + }
|
| +
|
| + server.AnalysisNavigationParams convertAnalysisNavigationParams(
|
| + plugin.AnalysisNavigationParams params) {
|
| + return new server.AnalysisNavigationParams.fromJson(
|
| + decoder, '', params.toJson());
|
| + }
|
| +
|
| + server.CompletionSuggestion convertCompletionSuggestion(
|
| + plugin.CompletionSuggestion suggestion) {
|
| + return new server.CompletionSuggestion.fromJson(
|
| + decoder, '', suggestion.toJson());
|
| + }
|
| +
|
| + server.EditGetRefactoringResult convertEditGetRefactoringResult(
|
| + plugin.RefactoringKind kind, plugin.EditGetRefactoringResult result) {
|
| + return new server.EditGetRefactoringResult.fromJson(
|
| + new server.ResponseDecoder(convertRefactoringKind(kind)),
|
| + '',
|
| + result.toJson());
|
| + }
|
| +
|
| + server.FoldingRegion convertFoldingRegion(plugin.FoldingRegion region) {
|
| + return new server.FoldingRegion.fromJson(decoder, '', region.toJson());
|
| + }
|
| +
|
| + server.HighlightRegion convertHighlightRegion(plugin.HighlightRegion region) {
|
| + return new server.HighlightRegion.fromJson(decoder, '', region.toJson());
|
| + }
|
| +
|
| + server.Occurrences convertOccurrences(plugin.Occurrences occurrences) {
|
| + return new server.Occurrences.fromJson(decoder, '', occurrences.toJson());
|
| + }
|
| +
|
| + server.Outline convertOutline(plugin.Outline outline) {
|
| + return new server.Outline.fromJson(decoder, '', outline.toJson());
|
| + }
|
| +
|
| + server.SourceChange convertPrioritizedSourceChange(
|
| + plugin.PrioritizedSourceChange change) {
|
| + return convertSourceChange(change.change);
|
| + }
|
| +
|
| + server.RefactoringFeedback convertRefactoringFeedback(
|
| + plugin.RefactoringKind kind, plugin.RefactoringFeedback feedback) {
|
| + return new server.RefactoringFeedback.fromJson(
|
| + new server.ResponseDecoder(convertRefactoringKind(kind)),
|
| + '',
|
| + feedback.toJson(),
|
| + null);
|
| + }
|
| +
|
| + server.RefactoringKind convertRefactoringKind(
|
| + plugin.RefactoringKind feedback) {
|
| + return new server.RefactoringKind.fromJson(decoder, '', feedback.toJson());
|
| + }
|
| +
|
| + server.SourceChange convertSourceChange(plugin.SourceChange change) {
|
| + return new server.SourceChange.fromJson(decoder, '', change.toJson());
|
| + }
|
| +}
|
|
|