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

Side by Side Diff: pkg/analysis_server/lib/completion/completion_dart.dart

Issue 1240433008: Renames to move closer to the new API (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 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
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 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. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library analysis_server.completion.completion_dart; 5 library analysis_server.completion.completion_dart;
6 6
7 import 'package:analysis_server/completion/completion_core.dart'; 7 import 'package:analysis_server/completion/completion_core.dart';
8 import 'package:analysis_server/src/services/completion/completion_dart.dart';
8 import 'package:analyzer/src/generated/ast.dart'; 9 import 'package:analyzer/src/generated/ast.dart';
10 import 'package:analyzer/src/generated/engine.dart';
11 import 'package:analyzer/src/generated/source.dart';
9 12
10 /** 13 /**
11 * An object used to produce completions for a specific error within a Dart 14 * An object used to produce completions for a specific error within a Dart
12 * file. Completion contributors are long-lived objects and must not retain any 15 * file. Completion contributors are long-lived objects and must not retain any
13 * state between invocations of [computeSuggestions]. 16 * state between invocations of [computeSuggestions].
14 * 17 *
15 * Clients are expected to subtype this class when implementing plugins. 18 * Clients are expected to subtype this class when implementing plugins.
16 */ 19 */
17 abstract class DartCompletionContributor extends CompletionContributor { 20 abstract class DartCompletionContributor extends CompletionContributor {
18 @override 21 @override
19 CompletionResult computeSuggestions(CompletionRequest request) { 22 CompletionResult computeSuggestions(CompletionRequest request) {
20 // TODO(brianwilkerson) Implement this by getting the information required 23 if (request is DartCompletionRequest) {
21 // to create a DartCompletionRequest and calling: 24 return internalComputeSuggestions(request);
22 // return internalComputeSuggestions(dartRequest); 25 }
23 return null; 26 AnalysisContext context = request.context;
27 Source source = request.source;
28 List<Source> libraries = context.getLibrariesContaining(source);
29 if (libraries.length < 1) {
30 return null;
31 }
32 CompilationUnit unit =
33 context.getResolvedCompilationUnit2(source, libraries[0]);
34 bool isResolved = true;
35 if (unit == null) {
36 // TODO(brianwilkerson) Implement a method for getting a parsed
37 // compilation unit without parsing the unit if it hasn't been parsed.
38 // unit = context.getParsedCompilationUnit(source);
39 if (unit == null) {
40 return null;
41 }
42 isResolved = false;
43 }
44 DartCompletionRequest dartRequest =
45 new DartCompletionRequestImpl(request, unit, isResolved);
46 return internalComputeSuggestions(dartRequest);
24 } 47 }
25 48
26 /** 49 /**
27 * Compute a list of completion suggestions based on the given completion 50 * Compute a list of completion suggestions based on the given completion
28 * [request] and return a result that includes those suggestions. This method 51 * [request] and return a result that includes those suggestions. This method
29 * is called after specific phases of analysis until the contributor indicates 52 * is called after specific phases of analysis until the contributor indicates
30 * computation is complete by setting [CompletionResult.isLast] to `true`. 53 * computation is complete by setting [CompletionResult.isLast] to `true`.
31 */ 54 */
32 CompletionResult internalComputeSuggestions(DartCompletionRequest request); 55 CompletionResult internalComputeSuggestions(DartCompletionRequest request);
33 } 56 }
34 57
35 /** 58 /**
36 * The information about a requested list of completions within a Dart file. 59 * The information about a requested list of completions within a Dart file.
37 */ 60 */
38 abstract class DartCompletionRequest extends CompletionRequest { 61 abstract class DartCompletionRequest extends CompletionRequest {
39 /** 62 /**
40 * Return `true` if the compilation [unit] is resolved. 63 * Return `true` if the compilation [unit] is resolved.
41 */ 64 */
42 bool get isResolved; 65 bool get isResolved;
43 66
44 /** 67 /**
45 * The compilation unit in which the completion was requested. 68 * Return the compilation unit in which the completion was requested.
46 */ 69 */
47 CompilationUnit get unit; 70 CompilationUnit get unit;
48 71
49 /** 72 /**
50 * Cached information from a prior code completion operation. 73 * Cached information from a prior code completion operation.
51 */ 74 */
52 //DartCompletionCache get cache; 75 //DartCompletionCache get cache;
53 76
54 /** 77 /**
55 * The completion target. This determines what part of the parse tree 78 * Return the completion target. This determines what part of the parse tree
56 * will receive the newly inserted text. 79 * will receive the newly inserted text.
57 */ 80 */
58 //CompletionTarget get target; 81 //CompletionTarget get target;
59 82
60 /** 83 /**
61 * Information about the types of suggestions that should be included. 84 * Information about the types of suggestions that should be included.
62 */ 85 */
63 //OpType get _optype; 86 //OpType get _optype;
64 } 87 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/completion/completion_core.dart ('k') | pkg/analysis_server/lib/src/domain_completion.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698