diff --git a/pkg/analysis_server/lib/src/domains/analysis/occurrences_dart.dart b/pkg/analysis_server/lib/src/domains/analysis/occurrences_dart.dart index 70576a8b284..2e167eb6092 100644 --- a/pkg/analysis_server/lib/src/domains/analysis/occurrences_dart.dart +++ b/pkg/analysis_server/lib/src/domains/analysis/occurrences_dart.dart @@ -132,6 +132,8 @@ class DartUnitOccurrencesComputerVisitor extends GeneralizingAstVisitor { if (element != null) { _addOccurrence(element, node.type.name); } + // Still visit the import prefix if there is one. + node.type.importPrefix?.accept(this); return; // skip visitNamedType. } diff --git a/pkg/analysis_server/test/analysis/notification_occurrences_test.dart b/pkg/analysis_server/test/analysis/notification_occurrences_test.dart index 4652d6b5a64..f3ecef8c842 100644 --- a/pkg/analysis_server/test/analysis/notification_occurrences_test.dart +++ b/pkg/analysis_server/test/analysis/notification_occurrences_test.dart @@ -637,12 +637,13 @@ class A { void m() { /*[1*/p/*1]*/.foo(); print(/*[2*/p/*2]*/.a); + /*[3*/p/*3]*/.A(); } } void foo() {} -/*[3*/p/*3]*/.A? a; +/*[4*/p/*4]*/.A? a; '''); } diff --git a/pkg/analysis_server/test/lsp/document_highlights_test.dart b/pkg/analysis_server/test/lsp/document_highlights_test.dart index bc9a55e0b4c..09ea8ab737f 100644 --- a/pkg/analysis_server/test/lsp/document_highlights_test.dart +++ b/pkg/analysis_server/test/lsp/document_highlights_test.dart @@ -370,12 +370,13 @@ class A { void m() { /*[1*/p/*1]*/.foo(); print(/*[2*/p/*2]*/.a); + /*[3*/p/*3]*/.A(); } } void foo() {} -/*[3*/p/*3]*/.A? a; +/*[4*/p/*4]*/.A? a; '''); Future test_prefixed() => _testMarkedContent('''