[analysis_server] Fix Go-to-Definition on extension overrides

Fixes https://github.com/Dart-Code/Dart-Code/issues/6043

Change-Id: I09c54fb6679c49b73f82ac017a19dd2b2ead280e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/503600
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
This commit is contained in:
Danny Tuppeny
2026-05-14 09:47:39 -07:00
committed by dart-scoped@luci-project-accounts.iam.gserviceaccount.com
parent 5723f42f69
commit ef731d75e5
2 changed files with 18 additions and 0 deletions
@@ -659,6 +659,18 @@ class A {
await testContents(contents);
}
Future<void> test_extension() async {
var contents = '''
var _ = StringEx^tension('').x();
extension [!StringExtension!] on String {
void x() {}
}
''';
await testContents(contents);
}
Future<void> test_field_underscore() async {
var contents = '''
class A {
@@ -446,6 +446,12 @@ class _DartNavigationComputerVisitor extends RecursiveAstVisitor<void> {
super.visitExtensionDeclaration(node);
}
@override
void visitExtensionOverride(ExtensionOverride node) {
computer._addRegionForElement(node.name, node.element);
super.visitExtensionOverride(node);
}
@override
void visitExtensionTypeDeclaration(ExtensionTypeDeclaration node) {
computer._addRegionForFragment(