@@ -415,12 +415,6 @@ class ClassFragmentImpl extends ClassOrMixinFragmentImpl
415415 /// given [offset] in the file that contains the declaration of this element.
416416 ClassFragmentImpl (super .name, super .offset);
417417
418- @override
419- set accessors (List <PropertyAccessorFragmentImpl > accessors) {
420- assert (! isMixinApplication);
421- super .accessors = accessors;
422- }
423-
424418 @override
425419 set constructors (List <ConstructorFragmentImpl > constructors) {
426420 assert (! isMixinApplication);
@@ -439,6 +433,12 @@ class ClassFragmentImpl extends ClassOrMixinFragmentImpl
439433 super .fields = fields;
440434 }
441435
436+ @override
437+ set getters (List <GetterFragmentImpl > getters) {
438+ assert (! isMixinApplication);
439+ super .getters = getters;
440+ }
441+
442442 bool get hasExtendsClause {
443443 return hasModifier (Modifier .HAS_EXTENDS_CLAUSE );
444444 }
@@ -553,6 +553,12 @@ class ClassFragmentImpl extends ClassOrMixinFragmentImpl
553553 return super .previousFragment as ClassFragmentImpl ? ;
554554 }
555555
556+ @override
557+ set setters (List <SetterFragmentImpl > setters) {
558+ assert (! isMixinApplication);
559+ super .setters = setters;
560+ }
561+
556562 @override
557563 void appendTo (ElementDisplayStringBuilder builder) {
558564 builder.writeClassElement (this );
@@ -2753,9 +2759,10 @@ class ExtensionFragmentImpl extends InstanceFragmentImpl
27532759
27542760 @override
27552761 List <Fragment > get children3 => [
2756- ...accessors,
27572762 ...fields,
2763+ ...getters,
27582764 ...methods,
2765+ ...setters,
27592766 ...typeParameters,
27602767 ];
27612768
@@ -4513,11 +4520,7 @@ abstract class InstanceElementImpl2 extends ElementImpl2
45134520 @override
45144521 List <GetterElementImpl > get getters {
45154522 _readMembers ();
4516- return firstFragment.accessors
4517- .where ((e) => e.isGetter)
4518- .map ((e) => e.asElement2 as GetterElementImpl )
4519- .nonNulls
4520- .toList ();
4523+ return firstFragment.getters.map ((e) => e.element).toList ();
45214524 }
45224525
45234526 @Deprecated ('Use getters instead' )
@@ -4569,11 +4572,7 @@ abstract class InstanceElementImpl2 extends ElementImpl2
45694572 @override
45704573 List <SetterElementImpl > get setters {
45714574 _readMembers ();
4572- return firstFragment.accessors
4573- .where ((e) => e.isSetter)
4574- .map ((e) => e.asElement2 as SetterElementImpl ? )
4575- .nonNulls
4576- .toList ();
4575+ return firstFragment.setters.map ((e) => e.element).toList ();
45774576 }
45784577
45794578 @Deprecated ('Use setters instead' )
@@ -4847,29 +4846,14 @@ abstract class InstanceFragmentImpl extends _ExistingElementImpl
48474846 InstanceFragmentImpl ? nextFragment;
48484847
48494848 List <FieldFragmentImpl > _fields = _Sentinel .fieldElement;
4850-
4851- List <PropertyAccessorFragmentImpl > _accessors =
4852- _Sentinel .propertyAccessorElement;
4853-
4849+ List <GetterFragmentImpl > _getters = _Sentinel .getterElement;
4850+ List <SetterFragmentImpl > _setters = _Sentinel .setterElement;
48544851 List <MethodFragmentImpl > _methods = _Sentinel .methodElement;
48554852
48564853 InstanceFragmentImpl (super .name, super .nameOffset);
48574854
4858- /// The declared accessors (getters and setters).
48594855 List <PropertyAccessorFragmentImpl > get accessors {
4860- if (! identical (_accessors, _Sentinel .propertyAccessorElement)) {
4861- return _accessors;
4862- }
4863-
4864- linkedData? .readMembers (this );
4865- return _accessors;
4866- }
4867-
4868- set accessors (List <PropertyAccessorFragmentImpl > accessors) {
4869- for (var accessor in accessors) {
4870- accessor.enclosingElement3 = this ;
4871- }
4872- _accessors = accessors;
4856+ return [...getters, ...setters];
48734857 }
48744858
48754859 @override
@@ -4905,8 +4889,21 @@ abstract class InstanceFragmentImpl extends _ExistingElementImpl
49054889 List <FieldFragment > get fields2 => fields.cast <FieldFragment >();
49064890
49074891 @override
4908- List <GetterFragmentImpl > get getters =>
4909- accessors.whereType <GetterFragmentImpl >().toList ();
4892+ List <GetterFragmentImpl > get getters {
4893+ if (! identical (_getters, _Sentinel .getterElement)) {
4894+ return _getters;
4895+ }
4896+
4897+ linkedData? .readMembers (this );
4898+ return _getters;
4899+ }
4900+
4901+ set getters (List <GetterFragmentImpl > getters) {
4902+ for (var getter in getters) {
4903+ getter.enclosingElement3 = this ;
4904+ }
4905+ _getters = getters;
4906+ }
49104907
49114908 @override
49124909 List <ElementAnnotationImpl > get metadata {
@@ -4939,8 +4936,21 @@ abstract class InstanceFragmentImpl extends _ExistingElementImpl
49394936 int get offset => _nameOffset;
49404937
49414938 @override
4942- List <SetterFragmentImpl > get setters =>
4943- accessors.whereType <SetterFragmentImpl >().toList ();
4939+ List <SetterFragmentImpl > get setters {
4940+ if (! identical (_setters, _Sentinel .setterElement)) {
4941+ return _setters;
4942+ }
4943+
4944+ linkedData? .readMembers (this );
4945+ return _setters;
4946+ }
4947+
4948+ set setters (List <SetterFragmentImpl > setters) {
4949+ for (var setter in setters) {
4950+ setter.enclosingElement3 = this ;
4951+ }
4952+ _setters = setters;
4953+ }
49444954
49454955 void setLinkedData (Reference reference, ElementLinkedData linkedData) {
49464956 this .reference = reference;
@@ -5301,10 +5311,11 @@ abstract class InterfaceFragmentImpl extends InstanceFragmentImpl
53015311
53025312 @override
53035313 List <Fragment > get children3 => [
5304- ...accessors,
5305- ...fields,
53065314 ...constructors,
5315+ ...fields,
5316+ ...getters,
53075317 ...methods,
5318+ ...setters,
53085319 ...typeParameters,
53095320 ];
53105321
@@ -5903,11 +5914,7 @@ class LibraryElementImpl extends ElementImpl2 implements LibraryElement {
59035914 List <GetterElementImpl > get getters {
59045915 var declarations = < GetterElementImpl > {};
59055916 for (var unit in units) {
5906- declarations.addAll (
5907- unit._accessors
5908- .where ((accessor) => accessor.isGetter)
5909- .map ((accessor) => accessor.element as GetterElementImpl ),
5910- );
5917+ declarations.addAll (unit.getters.map ((fragment) => fragment.element));
59115918 }
59125919 return declarations.toList ();
59135920 }
@@ -5990,11 +5997,7 @@ class LibraryElementImpl extends ElementImpl2 implements LibraryElement {
59905997 List <SetterElementImpl > get setters {
59915998 var declarations = < SetterElementImpl > {};
59925999 for (var unit in units) {
5993- declarations.addAll (
5994- unit._accessors
5995- .where ((accessor) => accessor.isSetter)
5996- .map ((accessor) => accessor.element as SetterElementImpl ),
5997- );
6000+ declarations.addAll (unit.setters.map ((fragment) => fragment.element));
59986001 }
59996002 return declarations.toList ();
60006003 }
@@ -6231,9 +6234,11 @@ class LibraryFragmentImpl extends _ExistingElementImpl
62316234 /// The parts included by this unit.
62326235 List <PartIncludeImpl > _parts = const < PartIncludeImpl > [];
62336236
6234- /// A list containing all of the top-level accessors (getters and setters)
6235- /// contained in this compilation unit.
6236- List <PropertyAccessorFragmentImpl > _accessors = const [];
6237+ /// All top-level getters in this compilation unit.
6238+ List <GetterFragmentImpl > _getters = _Sentinel .getterElement;
6239+
6240+ /// All top-level setters in this compilation unit.
6241+ List <SetterFragmentImpl > _setters = _Sentinel .setterElement;
62376242
62386243 List <ClassFragmentImpl > _classes = const [];
62396244
@@ -6278,28 +6283,20 @@ class LibraryFragmentImpl extends _ExistingElementImpl
62786283 }
62796284
62806285 List <PropertyAccessorFragmentImpl > get accessors {
6281- return _accessors;
6282- }
6283-
6284- /// Set the top-level accessors (getters and setters) contained in this
6285- /// compilation unit to the given [accessors] .
6286- set accessors (List <PropertyAccessorFragmentImpl > accessors) {
6287- for (var accessor in accessors) {
6288- accessor.enclosingElement3 = this ;
6289- }
6290- _accessors = accessors;
6286+ return [...getters, ...setters];
62916287 }
62926288
62936289 @override
62946290 List <Fragment > get children3 {
62956291 return [
6296- ...accessors,
62976292 ...classes,
62986293 ...enums,
62996294 ...extensions,
63006295 ...extensionTypes,
63016296 ...functions,
6297+ ...getters,
63026298 ...mixins,
6299+ ...setters,
63036300 ...typeAliases,
63046301 ...topLevelVariables,
63056302 ];
@@ -6403,11 +6400,14 @@ class LibraryFragmentImpl extends _ExistingElementImpl
64036400 functions.cast <TopLevelFunctionFragment >();
64046401
64056402 @override
6406- List <GetterFragment > get getters =>
6407- accessors
6408- .where ((element) => element.isGetter)
6409- .cast <GetterFragment >()
6410- .toList ();
6403+ List <GetterFragmentImpl > get getters => _getters;
6404+
6405+ set getters (List <GetterFragmentImpl > getters) {
6406+ for (var getter in getters) {
6407+ getter.enclosingElement3 = this ;
6408+ }
6409+ _getters = getters;
6410+ }
64116411
64126412 @override
64136413 int get hashCode => source.hashCode;
@@ -6562,11 +6562,14 @@ class LibraryFragmentImpl extends _ExistingElementImpl
65626562 AnalysisSession get session => library.session;
65636563
65646564 @override
6565- List <SetterFragment > get setters =>
6566- accessors
6567- .where ((element) => element.isSetter)
6568- .cast <SetterFragment >()
6569- .toList ();
6565+ List <SetterFragmentImpl > get setters => _setters;
6566+
6567+ set setters (List <SetterFragmentImpl > setters) {
6568+ for (var setter in setters) {
6569+ setter.enclosingElement3 = this ;
6570+ }
6571+ _setters = setters;
6572+ }
65706573
65716574 List <TopLevelVariableFragmentImpl > get topLevelVariables {
65726575 return _variables;
@@ -10667,11 +10670,11 @@ class _Sentinel {
1066710670 static final List <ConstructorFragmentImpl > constructorElement =
1066810671 List .unmodifiable ([]);
1066910672 static final List <FieldFragmentImpl > fieldElement = List .unmodifiable ([]);
10673+ static final List <GetterFragmentImpl > getterElement = List .unmodifiable ([]);
1067010674 static final List <LibraryExportImpl > libraryExport = List .unmodifiable ([]);
1067110675 static final List <LibraryImportImpl > libraryImport = List .unmodifiable ([]);
1067210676 static final List <MethodFragmentImpl > methodElement = List .unmodifiable ([]);
10673- static final List <PropertyAccessorFragmentImpl > propertyAccessorElement =
10674- List .unmodifiable ([]);
10677+ static final List <SetterFragmentImpl > setterElement = List .unmodifiable ([]);
1067510678}
1067610679
1067710680extension on Fragment {
0 commit comments