22// for details. All rights reserved. Use of this source code is governed by a
33// BSD-style license that can be found in the LICENSE file.
44
5- // ignore_for_file: analyzer_use_new_elements
6-
75import 'dart:typed_data' ;
86
97import 'package:_fe_analyzer_shared/src/type_inference/type_analyzer_operations.dart' ;
@@ -276,7 +274,7 @@ abstract class ElementLinkedData<E extends ElementImpl> {
276274 }
277275
278276 /// Ensure that all members of the [element] are available. This includes
279- /// being able to ask them for example using [ClassElement.methods ] , and
277+ /// being able to ask them for example using [ClassElement2.methods2 ] , and
280278 /// as well access them through their [Reference] s. For a class declaration
281279 /// this means reading them, for a named mixin application this means
282280 /// computing constructors.
@@ -287,15 +285,15 @@ abstract class ElementLinkedData<E extends ElementImpl> {
287285 ElementImpl element,
288286 ) {
289287 var enclosing = element.enclosingElement3;
290- if (enclosing is InstanceElement ) {
288+ if (enclosing is InstanceElementImpl ) {
291289 reader._addTypeParameters (enclosing.typeParameters);
292- } else if (enclosing is CompilationUnitElement ) {
290+ } else if (enclosing is CompilationUnitElementImpl ) {
293291 // Nothing.
294- } else if (enclosing is EnumElement ) {
292+ } else if (enclosing is EnumElementImpl ) {
295293 reader._addTypeParameters (enclosing.typeParameters);
296- } else if (enclosing is ExtensionElement ) {
294+ } else if (enclosing is ExtensionElementImpl ) {
297295 reader._addTypeParameters (enclosing.typeParameters);
298- } else if (enclosing is MixinElement ) {
296+ } else if (enclosing is MixinElementImpl ) {
299297 reader._addTypeParameters (enclosing.typeParameters);
300298 } else {
301299 throw UnimplementedError ('${enclosing .runtimeType }' );
@@ -308,10 +306,9 @@ abstract class ElementLinkedData<E extends ElementImpl> {
308306
309307 void _readFormalParameters (
310308 ResolutionReader reader,
311- List <ParameterElement > parameters,
309+ List <ParameterElementImpl > parameters,
312310 ) {
313311 for (var parameter in parameters) {
314- parameter as ParameterElementImpl ;
315312 parameter.metadata = reader._readAnnotationList (
316313 unitElement: unitElement,
317314 );
@@ -333,11 +330,10 @@ abstract class ElementLinkedData<E extends ElementImpl> {
333330
334331 void _readTypeParameters (
335332 ResolutionReader reader,
336- List <TypeParameterElement > typeParameters,
333+ List <TypeParameterElementImpl > typeParameters,
337334 ) {
338335 reader._addTypeParameters (typeParameters);
339336 for (var typeParameter in typeParameters) {
340- typeParameter as TypeParameterElementImpl ;
341337 typeParameter.metadata = reader._readAnnotationList (
342338 unitElement: unitElement,
343339 );
@@ -1126,10 +1122,10 @@ class LibraryReader {
11261122 CompilationUnitElementImpl unitElement,
11271123 ElementImpl classElement,
11281124 Reference classReference,
1129- List <PropertyAccessorElement > accessors,
1130- List <FieldElement > variables,
1125+ List <PropertyAccessorElementImpl > accessors,
1126+ List <FieldElementImpl > variables,
11311127 ) {
1132- var createdElements = < FieldElement > [];
1128+ var createdElements = < FieldElementImpl > [];
11331129 var variableElementCount = _reader.readUInt30 ();
11341130 for (var i = 0 ; i < variableElementCount; i++ ) {
11351131 var variable =
@@ -1520,8 +1516,8 @@ class LibraryReader {
15201516 CompilationUnitElementImpl unitElement,
15211517 ElementImpl enclosingElement,
15221518 Reference enclosingReference,
1523- List <PropertyAccessorElement > accessorFragments,
1524- List <PropertyInducingElement > propertyFragments,
1519+ List <PropertyAccessorElementImpl > accessorFragments,
1520+ List <PropertyInducingElementImpl > propertyFragments,
15251521 String containerRefName, {
15261522 List <TopLevelVariableElementImpl2 >? variables2,
15271523 }) {
@@ -1545,7 +1541,7 @@ class LibraryReader {
15451541
15461542 var name = accessor.displayName;
15471543
1548- bool canUseExisting (PropertyInducingElement property) {
1544+ bool canUseExisting (PropertyInducingElementImpl property) {
15491545 return property.isSynthetic ||
15501546 accessor.isSetter && property.setter == null ;
15511547 }
@@ -1949,12 +1945,12 @@ class ResolutionReader {
19491945 final _ReferenceReader _referenceReader;
19501946 final SummaryDataReader _reader;
19511947
1952- /// The stack of [TypeParameterElement ] s and [ParameterElement ] that are
1948+ /// The stack of [TypeParameterElementImpl ] s and [ParameterElementImpl ] that are
19531949 /// available in the scope of [readElement] and [readType] .
19541950 ///
19551951 /// This stack is shared with the client of the reader, and update mostly
19561952 /// by the client. However it is also updated during [_readFunctionType] .
1957- final List <Element > _localElements = [];
1953+ final List <ElementImpl > _localElements = [];
19581954
19591955 ResolutionReader (
19601956 this ._elementFactory,
@@ -1987,7 +1983,7 @@ class ResolutionReader {
19871983 }
19881984
19891985 if (memberFlags == Tag .RawElement ) {
1990- return element as ElementOrMember ;
1986+ return element;
19911987 }
19921988
19931989 if (memberFlags == Tag .MemberWithTypeArguments ) {
@@ -2006,28 +2002,29 @@ class ResolutionReader {
20062002 );
20072003 }
20082004
2009- if (element is ExecutableElementOrMember ) {
2010- element = ExecutableMember .from2 (element, substitution);
2005+ if (element is ExecutableElementImpl ) {
2006+ return ExecutableMember .from2 (element, substitution);
20112007 } else {
20122008 element as FieldElementImpl ;
2013- element = FieldMember .from2 (element, substitution);
2009+ return FieldMember .from2 (element, substitution);
20142010 }
20152011 }
20162012
2017- if (memberFlags == Tag .MemberWithTypeArguments ) {
2018- return element as ElementOrMember ;
2019- }
2020-
20212013 throw UnimplementedError ('memberFlags: $memberFlags ' );
20222014 }
20232015
20242016 Element2 ? readElement2 () {
2025- var element = readElement () as Element ? ;
2026- return element? .asElement2;
2027- }
2028-
2029- List <T > readElementList <T extends Element >() {
2030- return _reader.readTypedListCast <T >(readElement);
2017+ var element = readElement ();
2018+ switch (element) {
2019+ case null :
2020+ return null ;
2021+ case ElementImpl ():
2022+ return element.asElement2;
2023+ case ExecutableMember ():
2024+ return element;
2025+ default :
2026+ throw UnimplementedError ('${element .runtimeType }' );
2027+ }
20312028 }
20322029
20332030 List <T > readElementList2 <T extends Element2 >() {
@@ -2157,13 +2154,13 @@ class ResolutionReader {
21572154 _reader.offset = offset;
21582155 }
21592156
2160- void _addFormalParameters (List <ParameterElement > parameters) {
2157+ void _addFormalParameters (List <ParameterElementImpl > parameters) {
21612158 for (var parameter in parameters) {
21622159 _localElements.add (parameter);
21632160 }
21642161 }
21652162
2166- void _addTypeParameters (List <TypeParameterElement > typeParameters) {
2163+ void _addTypeParameters (List <TypeParameterElementImpl > typeParameters) {
21672164 for (var typeParameter in typeParameters) {
21682165 _localElements.add (typeParameter);
21692166 }
@@ -2368,7 +2365,7 @@ class ResolutionReader {
23682365 return readType () as InterfaceType ? ;
23692366 }
23702367
2371- Element ? _readRawElement () {
2368+ ElementImpl ? _readRawElement () {
23722369 var index = _reader.readUInt30 ();
23732370
23742371 if ((index & 0x1 ) == 0x1 ) {
0 commit comments