Elements. Migrate test/generated/simple_resolver_test.dart Change-Id: Ib56b3e91fc6cdb9f52e43fed174f942120bbebd3 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/401381 Reviewed-by: Phil Quitslund <pquitslund@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/analyzer_use_new_elements.txt b/pkg/analyzer/analyzer_use_new_elements.txt index 8da387f..e58d483 100644 --- a/pkg/analyzer/analyzer_use_new_elements.txt +++ b/pkg/analyzer/analyzer_use_new_elements.txt
@@ -56,7 +56,6 @@ lib/src/dart/element/type_schema.dart lib/src/dart/element/type_system.dart lib/src/dart/element/type_visitor.dart -lib/src/dart/micro/analysis_context.dart lib/src/dart/micro/resolve_file.dart lib/src/dart/micro/utils.dart lib/src/dart/resolver/annotation_resolver.dart @@ -111,7 +110,6 @@ lib/src/generated/ffi_verifier.dart lib/src/generated/inference_log.dart lib/src/generated/resolver.dart -lib/src/generated/static_type_analyzer.dart lib/src/generated/testing/element_factory.dart lib/src/generated/testing/test_type_provider.dart lib/src/hint/sdk_constraint_verifier.dart @@ -124,7 +122,6 @@ lib/src/summary2/augmentation.dart lib/src/summary2/bundle_reader.dart lib/src/summary2/bundle_writer.dart -lib/src/summary2/combinator.dart lib/src/summary2/constructor_initializer_resolver.dart lib/src/summary2/default_types_builder.dart lib/src/summary2/default_value_resolver.dart @@ -163,11 +160,9 @@ lib/src/utilities/extensions/flutter.dart lib/src/utilities/extensions/library_element.dart test/error/error_reporter_test.dart -test/generated/element_resolver_test.dart test/generated/elements_types_mixin.dart test/generated/non_error_resolver_test.dart test/generated/resolver_test_case.dart -test/generated/simple_resolver_test.dart test/generated/static_type_analyzer_test.dart test/generated/type_system_test.dart test/id_tests/assigned_variables_test.dart
diff --git a/pkg/analyzer/test/generated/simple_resolver_test.dart b/pkg/analyzer/test/generated/simple_resolver_test.dart index c598a04..1a69a0d2 100644 --- a/pkg/analyzer/test/generated/simple_resolver_test.dart +++ b/pkg/analyzer/test/generated/simple_resolver_test.dart
@@ -3,7 +3,6 @@ // BSD-style license that can be found in the LICENSE file. import 'package:analyzer/dart/ast/ast.dart'; -import 'package:analyzer/dart/element/element.dart'; import 'package:analyzer/src/error/codes.dart'; import 'package:test/test.dart'; import 'package:test_reflective_loader/test_reflective_loader.dart'; @@ -129,8 +128,8 @@ }'''); var rhs = findNode.assignment(' = 0;').rightHandSide; expect( - rhs.staticParameterElement, - findElement.parameter('x'), + rhs.correspondingParameter, + findElement2.parameter('x'), ); } @@ -148,8 +147,8 @@ }'''); var rhs = findNode.assignment(' = 0;').rightHandSide; expect( - rhs.staticParameterElement, - findElement.parameter('x'), + rhs.correspondingParameter, + findElement2.parameter('x'), ); } @@ -164,8 +163,8 @@ }'''); var rhs = findNode.assignment(' = 0;').rightHandSide; expect( - rhs.staticParameterElement, - findElement.parameter('x'), + rhs.correspondingParameter, + findElement2.parameter('x'), ); } @@ -183,8 +182,8 @@ }'''); var rhs = findNode.assignment(' = 0;').rightHandSide; expect( - rhs.staticParameterElement, - findElement.parameter('x'), + rhs.correspondingParameter, + findElement2.parameter('x'), ); } @@ -464,11 +463,11 @@ export 'a.dart'; '''); - var library = result.libraryElement; - var main = library.entryPoint!; + var library = result.libraryElement2; + var main = library.entryPoint2!; expect(main, isNotNull); - expect(main.library, isNot(same(library))); + expect(main.library2, isNot(same(library))); } test_entryPoint_local() async { @@ -476,18 +475,18 @@ main() {} '''); - var library = result.libraryElement; - var main = library.entryPoint!; + var library = result.libraryElement2; + var main = library.entryPoint2!; expect(main, isNotNull); - expect(main.library, same(library)); + expect(main.library2, same(library)); } test_entryPoint_none() async { await assertNoErrorsInCode(''); - var library = result.libraryElement; - expect(library.entryPoint, isNull); + var library = result.libraryElement2; + expect(library.entryPoint2, isNull); } test_enum_externalLibrary() async { @@ -525,14 +524,16 @@ var xParameter = findNode.fieldFormalParameter('this.x'); - var xParameterElement = - xParameter.declaredElement as FieldFormalParameterElement; - expect(xParameterElement.field, findElement.field('x')); + var xParameterElement = xParameter.declaredFragment!.element; + expect(xParameterElement.field2, findElement2.field('x')); - assertElement( - findNode.simple('x {}'), - xParameterElement, - ); + assertResolvedNodeText(findNode.simple('x {}'), r''' +SimpleIdentifier + token: x + staticElement: <testLibraryFragment>::@class::A::@constructor::new::@parameter::x + element: <testLibraryFragment>::@class::A::@constructor::new::@parameter::x#element + staticType: int +'''); } test_forEachLoops_nonConflicting() async { @@ -591,10 +592,13 @@ // Verify that the getter for "x" in C.f() refers to the getter defined in // M2. - expect( - findNode.simple('x;').staticElement, - findElement.getter('x', of: 'M2'), - ); + assertResolvedNodeText(findNode.simple('x;'), r''' +SimpleIdentifier + token: x + staticElement: <testLibraryFragment>::@mixin::M2::@getter::x + element: <testLibraryFragment>::@mixin::M2::@getter::x#element + staticType: dynamic +'''); } test_getter_fromMixins_property_access() async { @@ -617,10 +621,13 @@ // Verify that the getter for "x" in "new C().x" refers to the getter // defined in M2. - expect( - findNode.simple('x;').staticElement, - findElement.getter('x', of: 'M2'), - ); + assertResolvedNodeText(findNode.simple('x;'), r''' +SimpleIdentifier + token: x + staticElement: <testLibraryFragment>::@mixin::M2::@getter::x + element: <testLibraryFragment>::@mixin::M2::@getter::x#element + staticType: dynamic +'''); } test_import_hide() async { @@ -788,7 +795,7 @@ ]); verifyTestResolved(); - var a = findElement.class_('A'); + var a = findElement2.class_('A'); expect(a.isValidMixin, isFalse); } @@ -802,7 +809,7 @@ ]); verifyTestResolved(); - var a = findElement.class_('A'); + var a = findElement2.class_('A'); expect(a.isValidMixin, isFalse); } @@ -814,7 +821,7 @@ class C = Object with A;'''); verifyTestResolved(); - var a = findElement.class_('A'); + var a = findElement2.class_('A'); expect(a.isValidMixin, isTrue); } @@ -828,7 +835,7 @@ class C = Object with A;'''); verifyTestResolved(); - var a = findElement.class_('A'); + var a = findElement2.class_('A'); expect(a.isValidMixin, isTrue); } @@ -838,7 +845,7 @@ class C = Object with A;'''); verifyTestResolved(); - var a = findElement.class_('A'); + var a = findElement2.class_('A'); expect(a.isValidMixin, isTrue); } @@ -890,14 +897,21 @@ @A class C<A> {}'''); verifyTestResolved(); - var annotations = findElement.class_('C').metadata; + var annotations = findElement2.class_('C').metadata2.annotations; expect(annotations, hasLength(1)); var cDeclaration = findNode.classDeclaration('C<A>'); - assertElement( - cDeclaration.metadata[0].name, - findElement.topGet('A'), - ); + assertResolvedNodeText(cDeclaration.metadata[0], r''' +Annotation + atSign: @ + name: SimpleIdentifier + token: A + staticElement: <testLibraryFragment>::@getter::A + element: <testLibraryFragment>::@getter::A#element + staticType: null + element: <testLibraryFragment>::@getter::A + element2: <testLibraryFragment>::@getter::A#element +'''); } test_metadata_classTypeAlias() async { @@ -909,14 +923,21 @@ '''); verifyTestResolved(); - var annotations = findElement.class_('C').metadata; + var annotations = findElement2.class_('C').metadata2.annotations; expect(annotations, hasLength(1)); var cDeclaration = findNode.classTypeAlias('C<A>'); - assertElement( - cDeclaration.metadata[0].name, - findElement.topGet('A'), - ); + assertResolvedNodeText(cDeclaration.metadata[0], r''' +Annotation + atSign: @ + name: SimpleIdentifier + token: A + staticElement: <testLibraryFragment>::@getter::A + element: <testLibraryFragment>::@getter::A#element + staticType: null + element: <testLibraryFragment>::@getter::A + element2: <testLibraryFragment>::@getter::A#element +'''); } test_metadata_enum() async { @@ -926,14 +947,21 @@ '''); verifyTestResolved(); - var annotations = findElement.enum_('E').metadata; + var annotations = findElement2.enum_('E').metadata2.annotations; expect(annotations, hasLength(1)); var eDeclaration = findNode.enumDeclaration('E'); - assertElement( - eDeclaration.metadata[0].name, - findElement.topGet('A'), - ); + assertResolvedNodeText(eDeclaration.metadata[0], r''' +Annotation + atSign: @ + name: SimpleIdentifier + token: A + staticElement: <testLibraryFragment>::@getter::A + element: <testLibraryFragment>::@getter::A#element + staticType: null + element: <testLibraryFragment>::@getter::A + element2: <testLibraryFragment>::@getter::A#element +'''); } test_metadata_extension() async { @@ -942,14 +970,21 @@ @A extension E<A> on List<A> {}'''); verifyTestResolved(); - var annotations = findElement.extension_('E').metadata; + var annotations = findElement2.extension_('E').metadata2.annotations; expect(annotations, hasLength(1)); var cDeclaration = findNode.extensionDeclaration('E<A>'); - assertElement( - cDeclaration.metadata[0].name, - findElement.topGet('A'), - ); + assertResolvedNodeText(cDeclaration.metadata[0], r''' +Annotation + atSign: @ + name: SimpleIdentifier + token: A + staticElement: <testLibraryFragment>::@getter::A + element: <testLibraryFragment>::@getter::A#element + staticType: null + element: <testLibraryFragment>::@getter::A + element2: <testLibraryFragment>::@getter::A#element +'''); } test_metadata_field() async { @@ -960,7 +995,7 @@ }'''); verifyTestResolved(); - var metadata = findElement.field('f').metadata; + var metadata = findElement2.field('f').metadata2.annotations; expect(metadata, hasLength(1)); } @@ -973,7 +1008,7 @@ }'''); verifyTestResolved(); - var metadata = findElement.fieldFormalParameter('f').metadata; + var metadata = findElement2.fieldFormalParameter('f').metadata2.annotations; expect(metadata, hasLength(1)); } @@ -983,7 +1018,7 @@ @A f() {}'''); verifyTestResolved(); - var annotations = findElement.topFunction('f').metadata; + var annotations = findElement2.topFunction('f').metadata2.annotations; expect(annotations, hasLength(1)); } @@ -993,14 +1028,21 @@ @A f<A>() {}'''); verifyTestResolved(); - var annotations = findElement.topFunction('f').metadata; + var annotations = findElement2.topFunction('f').metadata2.annotations; expect(annotations, hasLength(1)); var fDeclaration = findNode.functionDeclaration('f<A>'); - assertElement( - fDeclaration.metadata[0].name, - findElement.topGet('A'), - ); + assertResolvedNodeText(fDeclaration.metadata[0], r''' +Annotation + atSign: @ + name: SimpleIdentifier + token: A + staticElement: <testLibraryFragment>::@getter::A + element: <testLibraryFragment>::@getter::A#element + staticType: null + element: <testLibraryFragment>::@getter::A + element2: <testLibraryFragment>::@getter::A#element +'''); } test_metadata_functionTypeAlias() async { @@ -1010,14 +1052,21 @@ '''); verifyTestResolved(); - var annotations = findElement.typeAlias('F').metadata; + var annotations = findElement2.typeAlias('F').metadata2.annotations; expect(annotations, hasLength(1)); var fDeclaration = findNode.functionTypeAlias('F'); - assertElement( - fDeclaration.metadata[0].name, - findElement.topGet('A'), - ); + assertResolvedNodeText(fDeclaration.metadata[0], r''' +Annotation + atSign: @ + name: SimpleIdentifier + token: A + staticElement: <testLibraryFragment>::@getter::A + element: <testLibraryFragment>::@getter::A#element + staticType: null + element: <testLibraryFragment>::@getter::A + element2: <testLibraryFragment>::@getter::A#element +'''); } test_metadata_functionTypedParameter() async { @@ -1026,7 +1075,7 @@ f(@A int p(int x)) {}'''); verifyTestResolved(); - var metadata = findElement.parameter('p').metadata; + var metadata = findElement2.parameter('p').metadata2.annotations; expect(metadata, hasLength(1)); } @@ -1036,14 +1085,21 @@ f(@A int p<A>(int x)) {}'''); verifyTestResolved(); - var annotations = findElement.parameter('p').metadata; + var annotations = findElement2.parameter('p').metadata2.annotations; expect(annotations, hasLength(1)); var pDeclaration = findNode.functionTypedFormalParameter('p<A>'); - assertElement( - pDeclaration.metadata[0].name, - findElement.topGet('A'), - ); + assertResolvedNodeText(pDeclaration.metadata[0], r''' +Annotation + atSign: @ + name: SimpleIdentifier + token: A + staticElement: <testLibraryFragment>::@getter::A + element: <testLibraryFragment>::@getter::A#element + staticType: null + element: <testLibraryFragment>::@getter::A + element2: <testLibraryFragment>::@getter::A#element +'''); } test_metadata_genericTypeAlias() async { @@ -1053,14 +1109,21 @@ '''); verifyTestResolved(); - var annotations = findElement.typeAlias('F').metadata; + var annotations = findElement2.typeAlias('F').metadata2.annotations; expect(annotations, hasLength(1)); var fDeclaration = findNode.genericTypeAlias('F<A>'); - assertElement( - fDeclaration.metadata[0].name, - findElement.topGet('A'), - ); + assertResolvedNodeText(fDeclaration.metadata[0], r''' +Annotation + atSign: @ + name: SimpleIdentifier + token: A + staticElement: <testLibraryFragment>::@getter::A + element: <testLibraryFragment>::@getter::A#element + staticType: null + element: <testLibraryFragment>::@getter::A + element2: <testLibraryFragment>::@getter::A#element +'''); } test_metadata_libraryDirective() async { @@ -1069,7 +1132,7 @@ const A = null;'''); verifyTestResolved(); - var metadata = result.libraryElement.metadata; + var metadata = result.libraryElement2.metadata2.annotations; expect(metadata, hasLength(1)); } @@ -1081,7 +1144,7 @@ }'''); verifyTestResolved(); - var metadata = findElement.method('m').metadata; + var metadata = findElement2.method('m').metadata2.annotations; expect(metadata, hasLength(1)); } @@ -1093,14 +1156,21 @@ }'''); verifyTestResolved(); - var annotations = findElement.method('m').metadata; + var annotations = findElement2.method('m').metadata2.annotations; expect(annotations, hasLength(1)); var mDeclaration = findNode.methodDeclaration('m<A>'); - assertElement( - mDeclaration.metadata[0].name, - findElement.topGet('A'), - ); + assertResolvedNodeText(mDeclaration.metadata[0], r''' +Annotation + atSign: @ + name: SimpleIdentifier + token: A + staticElement: <testLibraryFragment>::@getter::A + element: <testLibraryFragment>::@getter::A#element + staticType: null + element: <testLibraryFragment>::@getter::A + element2: <testLibraryFragment>::@getter::A#element +'''); } test_metadata_mixin() async { @@ -1109,14 +1179,21 @@ @A mixin M<A> on Object {}'''); verifyTestResolved(); - var annotations = findElement.mixin('M').metadata; + var annotations = findElement2.mixin('M').metadata2.annotations; expect(annotations, hasLength(1)); var mDeclaration = findNode.mixinDeclaration('M<A>'); - assertElement( - mDeclaration.metadata[0].name, - findElement.topGet('A'), - ); + assertResolvedNodeText(mDeclaration.metadata[0], r''' +Annotation + atSign: @ + name: SimpleIdentifier + token: A + staticElement: <testLibraryFragment>::@getter::A + element: <testLibraryFragment>::@getter::A#element + staticType: null + element: <testLibraryFragment>::@getter::A + element2: <testLibraryFragment>::@getter::A#element +'''); } test_metadata_namedParameter() async { @@ -1125,7 +1202,7 @@ f({@A int p = 0}) {}'''); verifyTestResolved(); - var metadata = findElement.parameter('p').metadata; + var metadata = findElement2.parameter('p').metadata2.annotations; expect(metadata, hasLength(1)); } @@ -1135,7 +1212,7 @@ f([@A int p = 0]) {}'''); verifyTestResolved(); - var metadata = findElement.parameter('p').metadata; + var metadata = findElement2.parameter('p').metadata2.annotations; expect(metadata, hasLength(1)); } @@ -1145,8 +1222,8 @@ f(@A p1, @A int p2) {}'''); verifyTestResolved(); - expect(findElement.parameter('p1').metadata, hasLength(1)); - expect(findElement.parameter('p2').metadata, hasLength(1)); + expect(findElement2.parameter('p1').metadata2.annotations, hasLength(1)); + expect(findElement2.parameter('p2').metadata2.annotations, hasLength(1)); } test_metadata_typedef() async { @@ -1156,12 +1233,22 @@ verifyTestResolved(); expect( - findElement.typeAlias('F').metadata, + findElement2.typeAlias('F').metadata2.annotations, hasLength(1), ); - var actualElement = findNode.annotation('@A').name.staticElement; - expect(actualElement, findElement.topGet('A')); + var annotation = findNode.annotation('@A'); + assertResolvedNodeText(annotation, r''' +Annotation + atSign: @ + name: SimpleIdentifier + token: A + staticElement: <testLibraryFragment>::@getter::A + element: <testLibraryFragment>::@getter::A#element + staticType: null + element: <testLibraryFragment>::@getter::A + element2: <testLibraryFragment>::@getter::A#element +'''); } test_method_fromMixin() async { @@ -1196,10 +1283,13 @@ '''); verifyTestResolved(); - expect( - findNode.simple('f();').staticElement, - findElement.method('f', of: 'M2'), - ); + assertResolvedNodeText(findNode.simple('f();'), r''' +SimpleIdentifier + token: f + staticElement: <testLibraryFragment>::@mixin::M2::@method::f + element: <testLibraryFragment>::@mixin::M2::@method::f#element + staticType: void Function() +'''); } test_method_fromMixins_bare_identifier() async { @@ -1219,10 +1309,13 @@ '''); verifyTestResolved(); - expect( - findNode.simple('f();').staticElement, - findElement.method('f', of: 'M2'), - ); + assertResolvedNodeText(findNode.simple('f();'), r''' +SimpleIdentifier + token: f + staticElement: <testLibraryFragment>::@mixin::M2::@method::f + element: <testLibraryFragment>::@mixin::M2::@method::f#element + staticType: void Function() +'''); } test_method_fromMixins_invoked_from_outside_class() async { @@ -1241,10 +1334,13 @@ '''); verifyTestResolved(); - expect( - findNode.simple('f();').staticElement, - findElement.method('f', of: 'M2'), - ); + assertResolvedNodeText(findNode.simple('f();'), r''' +SimpleIdentifier + token: f + staticElement: <testLibraryFragment>::@mixin::M2::@method::f + element: <testLibraryFragment>::@mixin::M2::@method::f#element + staticType: void Function() +'''); } test_method_fromSuperclassMixin() async { @@ -1339,8 +1435,8 @@ /// @throws Exception if the source could not be resolved or if the structure /// of the source is not valid Future<void> _validateArgumentResolution(List<int> indices) async { - var g = findElement.method('g'); - var parameters = g.parameters; + var g = findElement2.method('g'); + var parameters = g.formalParameters; var invocation = findNode.methodInvocation(');'); @@ -1351,7 +1447,7 @@ for (var i = 0; i < argumentCount; i++) { var argument = arguments[i]; - var actualParameter = argument.staticParameterElement; + var actualParameter = argument.correspondingParameter; var index = indices[i]; if (index < 0) {