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

Side by Side Diff: pkg/analysis_services/lib/correction/fix.dart

Issue 484733003: Import analysis_services.dart into analysis_server.dart. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 4 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 services.correction.fix;
6
7 import 'package:analysis_services/correction/change.dart';
8 import 'package:analysis_services/search/search_engine.dart';
9 import 'package:analysis_services/src/correction/fix.dart';
10 import 'package:analyzer/src/generated/ast.dart';
11 import 'package:analyzer/src/generated/error.dart';
12 import 'package:analyzer/src/generated/source.dart';
13
14
15 /**
16 * Computes [Fix]s for the given [AnalysisError].
17 *
18 * Returns the computed [Fix]s, not `null`.
19 */
20 List<Fix> computeFixes(SearchEngine searchEngine, CompilationUnit unit,
21 AnalysisError error) {
22 Source source = unit.element.source;
23 String file = source.fullName;
24 var processor = new FixProcessor(searchEngine, source, file, unit, error);
25 return processor.compute();
26 }
27
28
29 /**
30 * A description of a single proposed fix for some problem.
31 */
32 class Fix {
33 final FixKind kind;
34 final Change change;
35
36 Fix(this.kind, this.change);
37
38 @override
39 String toString() {
40 return '[kind=$kind, change=$change]';
41 }
42 }
43
44
45 /**
46 * An enumeration of possible quick fix kinds.
47 */
48 class FixKind {
49 static const ADD_PACKAGE_DEPENDENCY =
50 const FixKind('ADD_PACKAGE_DEPENDENCY', 50, "Add dependency on package '{0 }'");
51 static const ADD_SUPER_CONSTRUCTOR_INVOCATION =
52 const FixKind(
53 'ADD_SUPER_CONSTRUCTOR_INVOCATION',
54 50,
55 "Add super constructor {0} invocation");
56 static const CHANGE_TO = const FixKind('CHANGE_TO', 51, "Change to '{0}'");
57 static const CHANGE_TO_STATIC_ACCESS =
58 const FixKind(
59 'CHANGE_TO_STATIC_ACCESS',
60 50,
61 "Change access to static using '{0}'");
62 static const CREATE_CLASS =
63 const FixKind('CREATE_CLASS', 50, "Create class '{0}'");
64 static const CREATE_CONSTRUCTOR =
65 const FixKind('CREATE_CONSTRUCTOR', 50, "Create constructor '{0}'");
66 static const CREATE_CONSTRUCTOR_SUPER =
67 const FixKind('CREATE_CONSTRUCTOR_SUPER', 50, "Create constructor to call {0}");
68 static const CREATE_FUNCTION =
69 const FixKind('CREATE_FUNCTION', 49, "Create function '{0}'");
70 static const CREATE_METHOD =
71 const FixKind('CREATE_METHOD', 50, "Create method '{0}'");
72 static const CREATE_MISSING_OVERRIDES =
73 const FixKind('CREATE_MISSING_OVERRIDES', 50, "Create %d missing override( s)");
74 static const CREATE_NO_SUCH_METHOD =
75 const FixKind('CREATE_NO_SUCH_METHOD', 49, "Create 'noSuchMethod' method") ;
76 static const CREATE_PART =
77 const FixKind('CREATE_PART', 50, "Create part '{0}'");
78 static const IMPORT_LIBRARY_PREFIX =
79 const FixKind(
80 'IMPORT_LIBRARY_PREFIX',
81 51,
82 "Use imported library '{0}' with prefix '{1}'");
83 static const IMPORT_LIBRARY_PROJECT =
84 const FixKind('IMPORT_LIBRARY_PROJECT', 51, "Import library '{0}'");
85 static const IMPORT_LIBRARY_SDK =
86 const FixKind('IMPORT_LIBRARY_SDK', 51, "Import library '{0}'");
87 static const IMPORT_LIBRARY_SHOW =
88 const FixKind('IMPORT_LIBRARY_SHOW', 51, "Update library '{0}' import");
89 static const INSERT_SEMICOLON =
90 const FixKind('INSERT_SEMICOLON', 50, "Insert ';'");
91 static const MAKE_CLASS_ABSTRACT =
92 const FixKind('MAKE_CLASS_ABSTRACT', 50, "Make class '{0}' abstract");
93 static const REMOVE_PARAMETERS_IN_GETTER_DECLARATION =
94 const FixKind(
95 'REMOVE_PARAMETERS_IN_GETTER_DECLARATION',
96 50,
97 "Remove parameters in getter declaration");
98 static const REMOVE_PARENTHESIS_IN_GETTER_INVOCATION =
99 const FixKind(
100 'REMOVE_PARENTHESIS_IN_GETTER_INVOCATION',
101 50,
102 "Remove parentheses in getter invocation");
103 static const REMOVE_UNNECASSARY_CAST =
104 const FixKind('REMOVE_UNNECASSARY_CAST', 50, "Remove unnecessary cast");
105 static const REMOVE_UNUSED_IMPORT =
106 const FixKind('REMOVE_UNUSED_IMPORT', 50, "Remove unused import");
107 static const REPLACE_BOOLEAN_WITH_BOOL =
108 const FixKind('REPLACE_BOOLEAN_WITH_BOOL', 50, "Replace 'boolean' with 'bo ol'");
109 static const USE_CONST = const FixKind('USE_CONST', 50, "Change to constant");
110 static const USE_EFFECTIVE_INTEGER_DIVISION =
111 const FixKind(
112 'USE_EFFECTIVE_INTEGER_DIVISION',
113 50,
114 "Use effective integer division ~/");
115 static const USE_EQ_EQ_NULL =
116 const FixKind('USE_EQ_EQ_NULL', 50, "Use == null instead of 'is Null'");
117 static const USE_NOT_EQ_NULL =
118 const FixKind('USE_NOT_EQ_NULL', 50, "Use != null instead of 'is! Null'");
119
120 final name;
121 final int relevance;
122 final String message;
123
124 const FixKind(this.name, this.relevance, this.message);
125
126 @override
127 String toString() => name;
128 }
OLDNEW
« no previous file with comments | « pkg/analysis_services/lib/correction/change.dart ('k') | pkg/analysis_services/lib/correction/status.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698