Version 2.16.0-10.0.dev
Merge commit '26558d2ac09b7daac1d8212cc49320dd6f913882' into 'dev'
diff --git a/pkg/analyzer/lib/src/dart/micro/resolve_file.dart b/pkg/analyzer/lib/src/dart/micro/resolve_file.dart
index 3ec3691..4fd04f6 100644
--- a/pkg/analyzer/lib/src/dart/micro/resolve_file.dart
+++ b/pkg/analyzer/lib/src/dart/micro/resolve_file.dart
@@ -189,31 +189,42 @@
/// cached by the resolver are searched, generated files are ignored.
List<CiderSearchMatch> findReferences(Element element,
{OperationPerformanceImpl? performance}) {
- var references = <CiderSearchMatch>[];
+ return logger.run('findReferences for ${element.name}', () {
+ var references = <CiderSearchMatch>[];
- void collectReferences(String path) {
- var resolved = resolve(path: path);
- var collector = ReferencesCollector(element);
- resolved.unit.accept(collector);
- var offsets = collector.offsets;
- if (offsets.isNotEmpty) {
- var lineInfo = resolved.unit.lineInfo;
- references.add(CiderSearchMatch(path,
- offsets.map((offset) => lineInfo?.getLocation(offset)).toList()));
+ void collectReferences(
+ String path, OperationPerformanceImpl performance) {
+ performance.run('collectReferences', (_) {
+ var resolved = resolve(path: path);
+ var collector = ReferencesCollector(element);
+ resolved.unit.accept(collector);
+ var offsets = collector.offsets;
+ if (offsets.isNotEmpty) {
+ var lineInfo = resolved.unit.lineInfo;
+ references.add(CiderSearchMatch(
+ path,
+ offsets
+ .map((offset) => lineInfo?.getLocation(offset))
+ .toList()));
+ }
+ });
}
- }
- // TODO(keertip): check if element is named constructor.
- if (element is LocalVariableElement ||
- (element is ParameterElement && !element.isNamed)) {
- collectReferences(element.source!.fullName);
- } else {
- var result = fsState!.getFilesContaining(element.displayName);
- result.forEach((filePath) {
- collectReferences(filePath);
- });
- }
- return references;
+ performance ??= OperationPerformanceImpl('<default>');
+ // TODO(keertip): check if element is named constructor.
+ if (element is LocalVariableElement ||
+ (element is ParameterElement && !element.isNamed)) {
+ collectReferences(element.source!.fullName, performance!);
+ } else {
+ var result = performance!.run('getFilesContaining', (performance) {
+ return fsState!.getFilesContaining(element.displayName);
+ });
+ result.forEach((filePath) {
+ collectReferences(filePath, performance!);
+ });
+ }
+ return references;
+ });
}
ErrorsResult getErrors({
diff --git a/tools/VERSION b/tools/VERSION
index 21d2a58..45b16ab 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 16
PATCH 0
-PRERELEASE 9
+PRERELEASE 10
PRERELEASE_PATCH 0
\ No newline at end of file