| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 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 | 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 services.completion.suggestion.builder; | 5 library services.completion.suggestion.builder; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'dart:collection'; | 8 import 'dart:collection'; |
| 9 | 9 |
| 10 import 'package:analysis_server/src/protocol_server.dart' as protocol; | 10 import 'package:analysis_server/src/protocol_server.dart' as protocol; |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 133 NodeList<TypeName> mixinTypes = withClause.mixinTypes; | 133 NodeList<TypeName> mixinTypes = withClause.mixinTypes; |
| 134 if (mixinTypes != null) { | 134 if (mixinTypes != null) { |
| 135 mixinTypes.forEach((TypeName type) { | 135 mixinTypes.forEach((TypeName type) { |
| 136 visit(type); | 136 visit(type); |
| 137 }); | 137 }); |
| 138 } | 138 } |
| 139 } | 139 } |
| 140 } | 140 } |
| 141 | 141 |
| 142 /** | 142 /** |
| 143 * Starting with the given class node, traverse the inheritence hierarchy | 143 * Starting with the given class node, traverse the inheritance hierarchy |
| 144 * calling the given functions with each non-null non-empty inherited class | 144 * calling the given functions with each non-null non-empty inherited class |
| 145 * declaration. For each locally defined declaration, call [localDeclaration]. | 145 * declaration. For each locally defined declaration, call [localDeclaration]. |
| 146 * For each class identifier in the hierarchy that is not defined locally, | 146 * For each class identifier in the hierarchy that is not defined locally, |
| 147 * call the [importedTypeName] function. | 147 * call the [importedTypeName] function. |
| 148 */ | 148 */ |
| 149 void visitInheritedTypes(ClassDeclaration node, | 149 void visitInheritedTypes(ClassDeclaration node, |
| 150 {void localDeclaration(ClassDeclaration classNode), | 150 {void localDeclaration(ClassDeclaration classNode), |
| 151 void importedTypeName(String typeName)}) { | 151 void importedTypeName(String typeName)}) { |
| 152 CompilationUnit unit = node.getAncestor((p) => p is CompilationUnit); | 152 CompilationUnit unit = node.getAncestor((p) => p is CompilationUnit); |
| 153 List<ClassDeclaration> todo = new List<ClassDeclaration>(); | 153 List<ClassDeclaration> todo = new List<ClassDeclaration>(); |
| (...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 668 * or `false` if [computeFull] should be called. | 668 * or `false` if [computeFull] should be called. |
| 669 */ | 669 */ |
| 670 bool computeFast(AstNode node); | 670 bool computeFast(AstNode node); |
| 671 | 671 |
| 672 /** | 672 /** |
| 673 * Return a future that computes the suggestions given a fully resolved AST. | 673 * Return a future that computes the suggestions given a fully resolved AST. |
| 674 * The future returns `true` if suggestions were added, else `false`. | 674 * The future returns `true` if suggestions were added, else `false`. |
| 675 */ | 675 */ |
| 676 Future<bool> computeFull(AstNode node); | 676 Future<bool> computeFull(AstNode node); |
| 677 } | 677 } |
| OLD | NEW |