@@ -2086,15 +2086,18 @@ class EnumFragmentImpl extends InterfaceFragmentImpl implements EnumFragment {
20862086 }
20872087}
20882088
2089+ @elementClass
20892090abstract class ExecutableElementImpl extends FunctionTypedElementImpl
20902091 with InternalExecutableElement , DeferredResolutionReadingMixin {
20912092 TypeImpl ? _returnType;
20922093 FunctionTypeImpl ? _type;
20932094
20942095 @override
2096+ @trackedIncludedInId
20952097 ExecutableElementImpl get baseElement => this ;
20962098
20972099 @override
2100+ @trackedIndirectly
20982101 List <Element > get children => [
20992102 ...super .children,
21002103 ...typeParameters,
@@ -2103,12 +2106,14 @@ abstract class ExecutableElementImpl extends FunctionTypedElementImpl
21032106
21042107 @Deprecated ('Use children instead' )
21052108 @override
2109+ @trackedIndirectly
21062110 List <Element > get children2 => children;
21072111
21082112 @override
21092113 ExecutableFragmentImpl get firstFragment;
21102114
21112115 @override
2116+ @trackedIncludedInId
21122117 List <FormalParameterElementImpl > get formalParameters {
21132118 _ensureReadResolution ();
21142119 return _firstFragment.formalParameters
@@ -2125,11 +2130,13 @@ abstract class ExecutableElementImpl extends FunctionTypedElementImpl
21252130 ///
21262131 /// Top-level declarations don't have enclosing element type parameters,
21272132 /// so for them this flag is always `false` .
2133+ @trackedIncludedInId
21282134 bool get hasEnclosingTypeParameterReference {
21292135 return _firstFragment.hasEnclosingTypeParameterReference;
21302136 }
21312137
21322138 @override
2139+ @trackedIncludedInId
21332140 bool get hasImplicitReturnType {
21342141 for (var fragment in fragments) {
21352142 if (! fragment.hasImplicitReturnType) {
@@ -2139,11 +2146,13 @@ abstract class ExecutableElementImpl extends FunctionTypedElementImpl
21392146 return true ;
21402147 }
21412148
2149+ @trackedIncludedInId
21422150 bool get invokesSuperSelf {
21432151 return _firstFragment.hasModifier (Modifier .INVOKES_SUPER_SELF );
21442152 }
21452153
21462154 @override
2155+ @trackedIncludedInId
21472156 bool get isAbstract {
21482157 for (var fragment in fragments) {
21492158 if (! fragment.isAbstract) {
@@ -2154,6 +2163,7 @@ abstract class ExecutableElementImpl extends FunctionTypedElementImpl
21542163 }
21552164
21562165 @override
2166+ @trackedIncludedInId
21572167 bool get isExtensionTypeMember {
21582168 return hasModifier (Modifier .EXTENSION_TYPE_MEMBER );
21592169 }
@@ -2163,24 +2173,30 @@ abstract class ExecutableElementImpl extends FunctionTypedElementImpl
21632173 }
21642174
21652175 @override
2176+ @trackedIncludedInId
21662177 bool get isExternal {
21672178 return _firstFragment.isExternal;
21682179 }
21692180
21702181 @override
2182+ @trackedIncludedInId
21712183 bool get isSimplyBounded => true ;
21722184
21732185 @override
2186+ @trackedIncludedInId
21742187 bool get isStatic {
21752188 return _firstFragment.isStatic;
21762189 }
21772190
21782191 @override
2192+ @trackedIncludedInId
21792193 bool get isSynthetic {
21802194 return _firstFragment.isSynthetic;
21812195 }
21822196
2197+ @trackedDirectlyOpaque
21832198 ExecutableFragmentImpl get lastFragment {
2199+ globalResultRequirements? .recordOpaqueApiUse (this , 'lastFragment' );
21842200 var result = _firstFragment;
21852201 while (true ) {
21862202 if (result.nextFragment case ExecutableFragmentImpl nextFragment) {
@@ -2193,9 +2209,11 @@ abstract class ExecutableElementImpl extends FunctionTypedElementImpl
21932209
21942210 @Deprecated ('Use library instead' )
21952211 @override
2212+ @trackedIndirectly
21962213 LibraryElement get library2 => library;
21972214
21982215 @override
2216+ @trackedIncludedInId
21992217 MetadataImpl get metadata {
22002218 var annotations = < ElementAnnotationImpl > [];
22012219 for (var fragment in fragments) {
@@ -2206,9 +2224,11 @@ abstract class ExecutableElementImpl extends FunctionTypedElementImpl
22062224
22072225 @Deprecated ('Use metadata instead' )
22082226 @override
2227+ @trackedIndirectly
22092228 MetadataImpl get metadata2 => metadata;
22102229
22112230 @override
2231+ @trackedIncludedInId
22122232 TypeImpl get returnType {
22132233 _ensureReadResolution ();
22142234
@@ -2237,6 +2257,7 @@ abstract class ExecutableElementImpl extends FunctionTypedElementImpl
22372257 }
22382258
22392259 @override
2260+ @trackedIncludedInId
22402261 FunctionTypeImpl get type {
22412262 return _type ?? = FunctionTypeImpl (
22422263 typeParameters: typeParameters,
@@ -2247,6 +2268,7 @@ abstract class ExecutableElementImpl extends FunctionTypedElementImpl
22472268 }
22482269
22492270 @override
2271+ @trackedIncludedInId
22502272 List <TypeParameterElementImpl > get typeParameters {
22512273 return _firstFragment.typeParameters
22522274 .map ((fragment) => fragment.element)
@@ -2255,6 +2277,7 @@ abstract class ExecutableElementImpl extends FunctionTypedElementImpl
22552277
22562278 @Deprecated ('Use typeParameters instead' )
22572279 @override
2280+ @trackedIndirectly
22582281 List <TypeParameterElementImpl > get typeParameters2 {
22592282 return typeParameters;
22602283 }
@@ -2263,6 +2286,7 @@ abstract class ExecutableElementImpl extends FunctionTypedElementImpl
22632286 ExecutableFragmentImpl get _firstFragment;
22642287
22652288 @override
2289+ @trackedIndirectly
22662290 void appendTo (ElementDisplayStringBuilder builder) {
22672291 builder.writeExecutableElement (this , name! );
22682292 }
0 commit comments