| Index: pkg/analyzer/lib/src/dart/analysis/file_state.dart
|
| diff --git a/pkg/analyzer/lib/src/dart/analysis/file_state.dart b/pkg/analyzer/lib/src/dart/analysis/file_state.dart
|
| index 6a8e884346e2fde879ed5372dfa9dd3dc7194fed..42139e1c02ac3bed856a486f27cedb74d3388d65 100644
|
| --- a/pkg/analyzer/lib/src/dart/analysis/file_state.dart
|
| +++ b/pkg/analyzer/lib/src/dart/analysis/file_state.dart
|
| @@ -116,6 +116,7 @@ class FileState {
|
| Set<String> _definedTopLevelNames;
|
| Set<String> _definedClassMemberNames;
|
| Set<String> _referencedNames;
|
| + Set<String> _subtypedNames;
|
| UnlinkedUnit _unlinked;
|
| List<int> _apiSignature;
|
|
|
| @@ -277,6 +278,12 @@ class FileState {
|
| Set<String> get referencedNames => _referencedNames;
|
|
|
| /**
|
| + * The names which are used in `extends`, `with` or `implements` clauses in
|
| + * the file. Import prefixes and type arguments are not included.
|
| + */
|
| + Set<String> get subtypedNames => _subtypedNames;
|
| +
|
| + /**
|
| * Return public top-level declarations declared in the file. The keys to the
|
| * map are names of declarations.
|
| */
|
| @@ -435,14 +442,16 @@ class FileState {
|
| CompilationUnit unit = parse(AnalysisErrorListener.NULL_LISTENER);
|
| _fsState._logger.run('Create unlinked for $path', () {
|
| UnlinkedUnitBuilder unlinkedUnit = serializeAstUnlinked(unit);
|
| - List<String> referencedNames = computeReferencedNames(unit).toList();
|
| DefinedNames definedNames = computeDefinedNames(unit);
|
| + List<String> referencedNames = computeReferencedNames(unit).toList();
|
| + List<String> subtypedNames = computeSubtypedNames(unit).toList();
|
| bytes = new AnalysisDriverUnlinkedUnitBuilder(
|
| unit: unlinkedUnit,
|
| definedTopLevelNames: definedNames.topLevelNames.toList(),
|
| definedClassMemberNames:
|
| definedNames.classMemberNames.toList(),
|
| - referencedNames: referencedNames)
|
| + referencedNames: referencedNames,
|
| + subtypedNames: subtypedNames)
|
| .toBuffer();
|
| _fsState._byteStore.put(unlinkedKey, bytes);
|
| });
|
| @@ -455,6 +464,7 @@ class FileState {
|
| _definedClassMemberNames =
|
| driverUnlinkedUnit.definedClassMemberNames.toSet();
|
| _referencedNames = driverUnlinkedUnit.referencedNames.toSet();
|
| + _subtypedNames = driverUnlinkedUnit.subtypedNames.toSet();
|
| _unlinked = driverUnlinkedUnit.unit;
|
| _lineInfo = new LineInfo(_unlinked.lineStarts);
|
| _topLevelDeclarations = null;
|
|
|