Skip to content

Commit 5700eea

Browse files
scheglovCommit Queue
authored andcommitted
Fine. Add tracking annotations for PropertyAccessorElementImpl and subclasses.
Change-Id: Ia4c1b856cfe46f78fca0461df65c57e9c7e5c729 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/448902 Reviewed-by: Johnni Winther <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent 5dabd57 commit 5700eea

File tree

2 files changed

+411
-3
lines changed

2 files changed

+411
-3
lines changed

pkg/analyzer/lib/src/dart/element/element.dart

Lines changed: 53 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3957,9 +3957,11 @@ class GenericFunctionTypeFragmentImpl extends FragmentImpl
39573957
List<TypeParameterFragmentImpl> get typeParameters2 => typeParameters;
39583958
}
39593959

3960+
@elementClass
39603961
class GetterElementImpl extends PropertyAccessorElementImpl
39613962
with InternalGetterElement {
39623963
@override
3964+
@trackedIncludedInId
39633965
Reference reference;
39643966

39653967
@override
@@ -3975,21 +3977,28 @@ class GetterElementImpl extends PropertyAccessorElementImpl
39753977
}
39763978

39773979
@override
3980+
@trackedIncludedInId
39783981
GetterElementImpl get baseElement => this;
39793982

39803983
@override
3984+
@trackedIndirectly
39813985
SetterElement? get correspondingSetter {
39823986
return variable.setter;
39833987
}
39843988

39853989
@Deprecated('Use correspondingSetter instead')
39863990
@override
3991+
@trackedIndirectly
39873992
SetterElement? get correspondingSetter2 {
39883993
return correspondingSetter;
39893994
}
39903995

39913996
@override
3992-
GetterFragmentImpl get firstFragment => _firstFragment;
3997+
@trackedDirectlyOpaque
3998+
GetterFragmentImpl get firstFragment {
3999+
globalResultRequirements?.recordOpaqueApiUse(this, 'firstFragment');
4000+
return _firstFragment;
4001+
}
39934002

39944003
@override
39954004
@trackedDirectlyOpaque
@@ -3999,14 +4008,18 @@ class GetterElementImpl extends PropertyAccessorElementImpl
39994008
}
40004009

40014010
@override
4011+
@trackedIncludedInId
40024012
ElementKind get kind => ElementKind.GETTER;
40034013

40044014
@override
4015+
@trackedDirectlyOpaque
40054016
GetterFragmentImpl get lastFragment {
4017+
globalResultRequirements?.recordOpaqueApiUse(this, 'lastFragment');
40064018
return super.lastFragment as GetterFragmentImpl;
40074019
}
40084020

40094021
@override
4022+
@trackedIndirectly
40104023
Element get nonSynthetic {
40114024
if (isSynthetic) {
40124025
return variable.nonSynthetic;
@@ -4016,6 +4029,7 @@ class GetterElementImpl extends PropertyAccessorElementImpl
40164029
}
40174030

40184031
@override
4032+
@trackedIndirectly
40194033
Version? get sinceSdkVersion {
40204034
if (isSynthetic) {
40214035
return variable.sinceSdkVersion;
@@ -4036,19 +4050,24 @@ class GetterElementImpl extends PropertyAccessorElementImpl
40364050
}
40374051

40384052
@override
4053+
@trackedDirectlyOpaque
40394054
T? accept<T>(ElementVisitor2<T> visitor) {
4055+
globalResultRequirements?.recordOpaqueApiUse(this, 'accept');
40404056
return visitor.visitGetterElement(this);
40414057
}
40424058

40434059
@Deprecated('Use accept instead')
40444060
@override
4061+
@trackedIndirectly
40454062
T? accept2<T>(ElementVisitor2<T> visitor) => accept(visitor);
40464063

40474064
@override
4065+
@trackedIndirectly
40484066
void appendTo(ElementDisplayStringBuilder builder) {
40494067
builder.writeGetterElement(this);
40504068
}
40514069

4070+
@trackedInternal
40524071
void linkFragments(List<GetterFragmentImpl> fragments) {
40534072
assert(identical(fragments[0], _firstFragment));
40544073
fragments.reduce((previous, current) {
@@ -8888,18 +8907,22 @@ class PrefixFragmentImpl extends FragmentImpl implements PrefixFragment {
88888907

88898908
abstract class PromotableElementImpl extends VariableElementImpl {}
88908909

8910+
@elementClass
88918911
abstract class PropertyAccessorElementImpl extends ExecutableElementImpl
88928912
with InternalPropertyAccessorElement {
88938913
PropertyInducingElementImpl? _variable3;
88948914

88958915
@override
8916+
@trackedIncludedInId
88968917
PropertyAccessorElementImpl get baseElement => this;
88978918

88988919
@override
8920+
@trackedIncludedInId
88998921
Element get enclosingElement => _firstFragment.enclosingFragment.element;
89008922

89018923
@Deprecated('Use enclosingElement instead')
89028924
@override
8925+
@trackedIndirectly
89038926
Element get enclosingElement2 => enclosingElement;
89048927

89058928
@override
@@ -8909,15 +8932,19 @@ abstract class PropertyAccessorElementImpl extends ExecutableElementImpl
89098932
List<PropertyAccessorFragmentImpl> get fragments;
89108933

89118934
@override
8935+
@trackedDirectlyOpaque
89128936
PropertyAccessorFragmentImpl get lastFragment {
8937+
globalResultRequirements?.recordOpaqueApiUse(this, 'lastFragment');
89138938
return super.lastFragment as PropertyAccessorFragmentImpl;
89148939
}
89158940

89168941
@override
8942+
@trackedIncludedInId
89178943
String? get name => _firstFragment.name;
89188944

89198945
@Deprecated('Use name instead')
89208946
@override
8947+
@trackedIndirectly
89218948
String? get name3 => name;
89228949

89238950
@override
@@ -8940,7 +8967,7 @@ abstract class PropertyAccessorElementImpl extends ExecutableElementImpl
89408967

89418968
@Deprecated('Use variable instead')
89428969
@override
8943-
@trackedDirectly
8970+
@trackedIndirectly
89448971
PropertyInducingElementImpl? get variable3 {
89458972
return variable;
89468973
}
@@ -9177,9 +9204,11 @@ abstract class PropertyInducingFragmentImpl
91779204
MetadataImpl get metadata2 => metadata;
91789205
}
91799206

9207+
@elementClass
91809208
class SetterElementImpl extends PropertyAccessorElementImpl
91819209
with InternalSetterElement {
91829210
@override
9211+
@trackedIncludedInId
91839212
Reference reference;
91849213

91859214
@override
@@ -9195,28 +9224,37 @@ class SetterElementImpl extends PropertyAccessorElementImpl
91959224
}
91969225

91979226
@override
9227+
@trackedIncludedInId
91989228
SetterElementImpl get baseElement => this;
91999229

92009230
@override
9231+
@trackedIndirectly
92019232
GetterElement? get correspondingGetter {
92029233
return variable.getter;
92039234
}
92049235

92059236
@Deprecated('Use correspondingGetter instead')
92069237
@override
9238+
@trackedIndirectly
92079239
GetterElement? get correspondingGetter2 {
92089240
return correspondingGetter;
92099241
}
92109242

92119243
@override
9244+
@trackedIncludedInId
92129245
Element get enclosingElement => _firstFragment.enclosingFragment.element;
92139246

92149247
@Deprecated('Use enclosingElement instead')
92159248
@override
9249+
@trackedIndirectly
92169250
Element get enclosingElement2 => enclosingElement;
92179251

92189252
@override
9219-
SetterFragmentImpl get firstFragment => _firstFragment;
9253+
@trackedDirectlyOpaque
9254+
SetterFragmentImpl get firstFragment {
9255+
globalResultRequirements?.recordOpaqueApiUse(this, 'firstFragment');
9256+
return _firstFragment;
9257+
}
92209258

92219259
@override
92229260
@trackedDirectlyOpaque
@@ -9226,14 +9264,18 @@ class SetterElementImpl extends PropertyAccessorElementImpl
92269264
}
92279265

92289266
@override
9267+
@trackedIncludedInId
92299268
ElementKind get kind => ElementKind.SETTER;
92309269

92319270
@override
9271+
@trackedDirectlyOpaque
92329272
SetterFragmentImpl get lastFragment {
9273+
globalResultRequirements?.recordOpaqueApiUse(this, 'lastFragment');
92339274
return super.lastFragment as SetterFragmentImpl;
92349275
}
92359276

92369277
@override
9278+
@trackedIndirectly
92379279
String? get lookupName {
92389280
if (name case var name?) {
92399281
return '$name=';
@@ -9242,6 +9284,7 @@ class SetterElementImpl extends PropertyAccessorElementImpl
92429284
}
92439285

92449286
@override
9287+
@trackedIndirectly
92459288
Element get nonSynthetic {
92469289
if (isSynthetic) {
92479290
return variable.nonSynthetic;
@@ -9251,13 +9294,15 @@ class SetterElementImpl extends PropertyAccessorElementImpl
92519294
}
92529295

92539296
@override
9297+
@trackedIndirectly
92549298
Version? get sinceSdkVersion {
92559299
if (isSynthetic) {
92569300
return variable.sinceSdkVersion;
92579301
}
92589302
return super.sinceSdkVersion;
92599303
}
92609304

9305+
@trackedIncludedInId
92619306
FormalParameterElementImpl get valueFormalParameter {
92629307
return formalParameters.single;
92639308
}
@@ -9275,19 +9320,24 @@ class SetterElementImpl extends PropertyAccessorElementImpl
92759320
}
92769321

92779322
@override
9323+
@trackedDirectlyOpaque
92789324
T? accept<T>(ElementVisitor2<T> visitor) {
9325+
globalResultRequirements?.recordOpaqueApiUse(this, 'accept');
92799326
return visitor.visitSetterElement(this);
92809327
}
92819328

92829329
@Deprecated('Use accept instead')
92839330
@override
9331+
@trackedIndirectly
92849332
T? accept2<T>(ElementVisitor2<T> visitor) => accept(visitor);
92859333

92869334
@override
9335+
@trackedIndirectly
92879336
void appendTo(ElementDisplayStringBuilder builder) {
92889337
builder.writeSetterElement(this);
92899338
}
92909339

9340+
@trackedInternal
92919341
void linkFragments(List<SetterFragmentImpl> fragments) {
92929342
assert(identical(fragments[0], _firstFragment));
92939343
fragments.reduce((previous, current) {

0 commit comments

Comments
 (0)