Version 2.15.0-246.0.dev
Merge commit '85bac75b0e03c739164c7b7924754be4766a4112' into 'dev'
diff --git a/pkg/analyzer/lib/src/dart/resolver/function_reference_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/function_reference_resolver.dart
index 192c7e5..6257b73 100644
--- a/pkg/analyzer/lib/src/dart/resolver/function_reference_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/function_reference_resolver.dart
@@ -656,6 +656,8 @@
}
if (method is PropertyAccessorElement) {
+ function.staticElement = method;
+ function.staticType = method.returnType;
_resolve(node: node, rawType: method.variable.type);
return;
}
diff --git a/pkg/analyzer/test/src/dart/resolution/function_reference_test.dart b/pkg/analyzer/test/src/dart/resolution/function_reference_test.dart
index 9a56b92..92e8e49 100644
--- a/pkg/analyzer/test/src/dart/resolution/function_reference_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/function_reference_test.dart
@@ -578,6 +578,23 @@
findElement.getter('foo'), 'void Function(int)');
}
+ test_instanceGetter_functionTyped_inherited() async {
+ await assertNoErrorsInCode('''
+abstract class A {
+ late void Function<T>(T) foo;
+}
+abstract class B extends A {
+ bar() {
+ foo<int>;
+ }
+}
+
+''');
+
+ assertFunctionReference(findNode.functionReference('foo<int>;'),
+ findElement.getter('foo'), 'void Function(int)');
+ }
+
test_instanceMethod() async {
await assertNoErrorsInCode('''
class A {
diff --git a/tools/VERSION b/tools/VERSION
index 553f6f7..5be107b 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 15
PATCH 0
-PRERELEASE 245
+PRERELEASE 246
PRERELEASE_PATCH 0
\ No newline at end of file