| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 import 'dart:convert'; | 5 import 'dart:convert'; |
| 6 import 'dart:typed_data'; | 6 import 'dart:typed_data'; |
| 7 | 7 |
| 8 import 'package:analyzer/dart/ast/ast.dart'; | 8 import 'package:analyzer/dart/ast/ast.dart'; |
| 9 import 'package:analyzer/dart/ast/token.dart'; | 9 import 'package:analyzer/dart/ast/token.dart'; |
| 10 import 'package:analyzer/error/listener.dart'; | 10 import 'package:analyzer/error/listener.dart'; |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 * The list of files this library file references as parts. | 167 * The list of files this library file references as parts. |
| 168 */ | 168 */ |
| 169 List<FileState> get partedFiles => _partedFiles; | 169 List<FileState> get partedFiles => _partedFiles; |
| 170 | 170 |
| 171 /** | 171 /** |
| 172 * The external names referenced by the file. | 172 * The external names referenced by the file. |
| 173 */ | 173 */ |
| 174 Set<String> get referencedNames => _referencedNames; | 174 Set<String> get referencedNames => _referencedNames; |
| 175 | 175 |
| 176 /** | 176 /** |
| 177 * Return top-level declarations declared in the file. | 177 * Return public top-level declarations declared in the file. |
| 178 */ | 178 */ |
| 179 List<TopLevelDeclaration> get topLevelDeclarations { | 179 List<TopLevelDeclaration> get topLevelDeclarations { |
| 180 if (_topLevelDeclarations == null) { | 180 if (_topLevelDeclarations == null) { |
| 181 _topLevelDeclarations = <TopLevelDeclaration>[]; | 181 _topLevelDeclarations = <TopLevelDeclaration>[]; |
| 182 |
| 183 void addDeclaration(TopLevelDeclarationKind kind, String name) { |
| 184 if (!name.startsWith('_')) { |
| 185 _topLevelDeclarations.add(new TopLevelDeclaration(kind, name)); |
| 186 } |
| 187 } |
| 188 |
| 182 // Add types. | 189 // Add types. |
| 183 for (UnlinkedClass type in unlinked.classes) { | 190 for (UnlinkedClass type in unlinked.classes) { |
| 184 _topLevelDeclarations.add( | 191 addDeclaration(TopLevelDeclarationKind.type, type.name); |
| 185 new TopLevelDeclaration(TopLevelDeclarationKind.type, type.name)); | |
| 186 } | 192 } |
| 187 for (UnlinkedEnum type in unlinked.enums) { | 193 for (UnlinkedEnum type in unlinked.enums) { |
| 188 _topLevelDeclarations.add( | 194 addDeclaration(TopLevelDeclarationKind.type, type.name); |
| 189 new TopLevelDeclaration(TopLevelDeclarationKind.type, type.name)); | |
| 190 } | 195 } |
| 191 for (UnlinkedTypedef type in unlinked.typedefs) { | 196 for (UnlinkedTypedef type in unlinked.typedefs) { |
| 192 _topLevelDeclarations.add( | 197 addDeclaration(TopLevelDeclarationKind.type, type.name); |
| 193 new TopLevelDeclaration(TopLevelDeclarationKind.type, type.name)); | |
| 194 } | 198 } |
| 195 // Add functions and variables. | 199 // Add functions and variables. |
| 196 Set<String> addedVariableNames = new Set<String>(); | 200 Set<String> addedVariableNames = new Set<String>(); |
| 197 for (UnlinkedExecutable executable in unlinked.executables) { | 201 for (UnlinkedExecutable executable in unlinked.executables) { |
| 198 String name = executable.name; | 202 String name = executable.name; |
| 199 if (executable.kind == UnlinkedExecutableKind.functionOrMethod) { | 203 if (executable.kind == UnlinkedExecutableKind.functionOrMethod) { |
| 200 _topLevelDeclarations.add( | 204 addDeclaration(TopLevelDeclarationKind.function, name); |
| 201 new TopLevelDeclaration(TopLevelDeclarationKind.function, name)); | |
| 202 } else if (executable.kind == UnlinkedExecutableKind.getter || | 205 } else if (executable.kind == UnlinkedExecutableKind.getter || |
| 203 executable.kind == UnlinkedExecutableKind.setter) { | 206 executable.kind == UnlinkedExecutableKind.setter) { |
| 204 if (executable.kind == UnlinkedExecutableKind.setter) { | 207 if (executable.kind == UnlinkedExecutableKind.setter) { |
| 205 name = name.substring(0, name.length - 1); | 208 name = name.substring(0, name.length - 1); |
| 206 } | 209 } |
| 207 if (addedVariableNames.add(name)) { | 210 if (addedVariableNames.add(name)) { |
| 208 _topLevelDeclarations.add(new TopLevelDeclaration( | 211 addDeclaration(TopLevelDeclarationKind.variable, name); |
| 209 TopLevelDeclarationKind.variable, name)); | |
| 210 } | 212 } |
| 211 } | 213 } |
| 212 } | 214 } |
| 213 for (UnlinkedVariable variable in unlinked.variables) { | 215 for (UnlinkedVariable variable in unlinked.variables) { |
| 214 String name = variable.name; | 216 String name = variable.name; |
| 215 if (addedVariableNames.add(name)) { | 217 if (addedVariableNames.add(name)) { |
| 216 _topLevelDeclarations.add( | 218 addDeclaration(TopLevelDeclarationKind.variable, name); |
| 217 new TopLevelDeclaration(TopLevelDeclarationKind.variable, name)); | |
| 218 } | 219 } |
| 219 } | 220 } |
| 220 } | 221 } |
| 221 return _topLevelDeclarations; | 222 return _topLevelDeclarations; |
| 222 } | 223 } |
| 223 | 224 |
| 224 /** | 225 /** |
| 225 * Return the set of transitive files - the file itself and all of the | 226 * Return the set of transitive files - the file itself and all of the |
| 226 * directly or indirectly referenced files. | 227 * directly or indirectly referenced files. |
| 227 */ | 228 */ |
| (...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 612 .where((f) => f._transitiveFiles == null) | 613 .where((f) => f._transitiveFiles == null) |
| 613 .toSet(); | 614 .toSet(); |
| 614 } | 615 } |
| 615 | 616 |
| 616 Set<FileState> get filesWithoutTransitiveSignature { | 617 Set<FileState> get filesWithoutTransitiveSignature { |
| 617 return state._uriToFile.values | 618 return state._uriToFile.values |
| 618 .where((f) => f._transitiveSignature == null) | 619 .where((f) => f._transitiveSignature == null) |
| 619 .toSet(); | 620 .toSet(); |
| 620 } | 621 } |
| 621 } | 622 } |
| OLD | NEW |