| OLD | NEW |
| 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 domains.analysis.occurrences_dart; | 5 library domains.analysis.occurrences_dart; |
| 6 | 6 |
| 7 import 'package:analysis_server/analysis/occurrences_core.dart'; | 7 import 'package:analysis_server/analysis/occurrences_core.dart'; |
| 8 import 'package:analysis_server/src/protocol_server.dart' as protocol; | 8 import 'package:analysis_server/src/protocol_server.dart' as protocol; |
| 9 import 'package:analyzer/src/generated/ast.dart'; | 9 import 'package:analyzer/src/generated/ast.dart'; |
| 10 import 'package:analyzer/src/generated/element.dart'; | 10 import 'package:analyzer/src/generated/element.dart'; |
| 11 import 'package:analyzer/src/generated/engine.dart'; | 11 import 'package:analyzer/src/generated/engine.dart'; |
| 12 import 'package:analyzer/src/generated/source.dart'; | 12 import 'package:analyzer/src/generated/source.dart'; |
| 13 | 13 |
| 14 /** | 14 /** |
| 15 * A computer for occurrences in a Dart [CompilationUnit]. | 15 * A computer for occurrences in a Dart [CompilationUnit]. |
| 16 */ | 16 */ |
| 17 class DartOccurrencesComputer implements OccurrencesContributor { | 17 class DartOccurrencesComputer implements OccurrencesContributor { |
| 18 @override | 18 @override |
| 19 void computeOccurrences( | 19 void computeOccurrences( |
| 20 OccurrencesCollector collector, AnalysisContext context, Source source) { | 20 OccurrencesCollector collector, AnalysisContext context, Source source) { |
| 21 List<Source> libraries = context.getLibrariesContaining(source); | 21 List<Source> libraries = context.getLibrariesContaining(source); |
| 22 if (libraries.isNotEmpty) { | 22 if (libraries.isNotEmpty) { |
| 23 CompilationUnit unit = | 23 CompilationUnit unit = |
| 24 context.getResolvedCompilationUnit2(source, libraries.first); | 24 context.getResolvedCompilationUnit2(source, libraries.first); |
| 25 if (unit != null) { | 25 if (unit != null) { |
| 26 _DartUnitOccurrencesComputerVisitor visitor = | 26 _DartUnitOccurrencesComputerVisitor visitor = |
| 27 new _DartUnitOccurrencesComputerVisitor(); | 27 new _DartUnitOccurrencesComputerVisitor(); |
| 28 unit.accept(visitor); | 28 unit.accept(visitor); |
| 29 visitor.elementsOffsets.forEach((engineElement, offsets) { | 29 visitor.elementsOffsets.forEach((engineElement, offsets) { |
| 30 int length = engineElement.displayName.length; | 30 int length = engineElement.nameLength; |
| 31 protocol.Element serverElement = | 31 protocol.Element serverElement = |
| 32 protocol.newElement_fromEngine(engineElement); | 32 protocol.newElement_fromEngine(engineElement); |
| 33 protocol.Occurrences occurrences = | 33 protocol.Occurrences occurrences = |
| 34 new protocol.Occurrences(serverElement, offsets, length); | 34 new protocol.Occurrences(serverElement, offsets, length); |
| 35 collector.addOccurrences(occurrences); | 35 collector.addOccurrences(occurrences); |
| 36 }); | 36 }); |
| 37 } | 37 } |
| 38 } | 38 } |
| 39 } | 39 } |
| 40 } | 40 } |
| (...skipping 29 matching lines...) Expand all Loading... |
| 70 } | 70 } |
| 71 if (element is PropertyAccessorElement) { | 71 if (element is PropertyAccessorElement) { |
| 72 element = (element as PropertyAccessorElement).variable; | 72 element = (element as PropertyAccessorElement).variable; |
| 73 } | 73 } |
| 74 if (element is Member) { | 74 if (element is Member) { |
| 75 element = (element as Member).baseElement; | 75 element = (element as Member).baseElement; |
| 76 } | 76 } |
| 77 return element; | 77 return element; |
| 78 } | 78 } |
| 79 } | 79 } |
| OLD | NEW |