diff --git a/pkg/analyzer/test/generated/non_error_resolver_kernel_test.dart b/pkg/analyzer/test/generated/non_error_resolver_kernel_test.dart index f07153696b3..e6683824640 100644 --- a/pkg/analyzer/test/generated/non_error_resolver_kernel_test.dart +++ b/pkg/analyzer/test/generated/non_error_resolver_kernel_test.dart @@ -177,7 +177,7 @@ class NonErrorResolverTest_Kernel extends NonErrorResolverTest_Driver { @override @failingTest - @potentialAnalyzerProblem + @FastaProblem('https://github.com/dart-lang/sdk/issues/33799') test_functionTypeAlias_scope_signature() async { // Caused by Bad state: Found 1 annotation nodes and 0 element annotations return super.test_functionTypeAlias_scope_signature(); diff --git a/pkg/analyzer/test/src/dart/analysis/driver_resolution_kernel_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_resolution_kernel_test.dart index f4e2f1d4a57..c7b5634dfc2 100644 --- a/pkg/analyzer/test/src/dart/analysis/driver_resolution_kernel_test.dart +++ b/pkg/analyzer/test/src/dart/analysis/driver_resolution_kernel_test.dart @@ -28,6 +28,13 @@ class AnalysisDriverResolutionTest_Kernel extends AnalysisDriverResolutionTest { await super.test_annotation_onDirective_partOf(); } + @override + @failingTest + @FastaProblem('https://github.com/dart-lang/sdk/issues/33800') + test_annotation_onFormalParameter_redirectingFactory() async { + await super.test_annotation_onFormalParameter_redirectingFactory(); + } + @failingTest @override test_annotation_onVariableList_topLevelVariable() => diff --git a/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart index edb16749387..18d8fb297b8 100644 --- a/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart +++ b/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart @@ -344,6 +344,28 @@ const a = 1; assertType(aRef, 'int'); } + test_annotation_onFormalParameter_redirectingFactory() async { + addTestFile(r''' +class C { + factory C(@a p) = C.named; + C.named(p); +} + +const a = 1; +'''); + await resolveTestFile(); + + var parameter = findNode.simpleParameter('p) = C.'); + + expect(parameter.metadata, hasLength(1)); + Annotation annotation = parameter.metadata[0]; + expect(annotation.element, findElement.topGet('a')); + + SimpleIdentifier aRef = annotation.name; + assertElement(aRef, findElement.topGet('a')); + assertType(aRef, 'int'); + } + test_annotation_onVariableList_constructor() async { String content = r''' class C { @@ -7875,6 +7897,10 @@ class FindNode { return _node(search); } + SimpleFormalParameter simpleParameter(String search) { + return _node(search).getAncestor((n) => n is SimpleFormalParameter); + } + VariableDeclaration variableDeclaration(String search) { return _node(search).getAncestor((n) => n is VariableDeclaration); }