@@ -55,14 +55,17 @@ class ClassElementFlags {
5555}
5656
5757class ConstructorElementFlags {
58- static const int _isAugmentation = 1 << 0 ;
59- static const int _isConst = 1 << 1 ;
60- static const int _isExternal = 1 << 2 ;
61- static const int _isFactory = 1 << 3 ;
62- static const int _isSynthetic = 1 << 4 ;
58+ static const int _hasEnclosingTypeParameterReference = 1 << 0 ;
59+ static const int _isAugmentation = 1 << 1 ;
60+ static const int _isConst = 1 << 2 ;
61+ static const int _isExternal = 1 << 3 ;
62+ static const int _isFactory = 1 << 4 ;
63+ static const int _isSynthetic = 1 << 5 ;
6364
6465 static void read (SummaryDataReader reader, ConstructorElementImpl element) {
6566 var byte = reader.readByte ();
67+ element.hasEnclosingTypeParameterReference =
68+ (byte & _hasEnclosingTypeParameterReference) != 0 ;
6669 element.isAugmentation = (byte & _isAugmentation) != 0 ;
6770 element.isConst = (byte & _isConst) != 0 ;
6871 element.isExternal = (byte & _isExternal) != 0 ;
@@ -72,6 +75,9 @@ class ConstructorElementFlags {
7275
7376 static void write (BufferedSink sink, ConstructorElementImpl element) {
7477 var result = 0 ;
78+ result | = element.hasEnclosingTypeParameterReference
79+ ? _hasEnclosingTypeParameterReference
80+ : 0 ;
7581 result | = element.isAugmentation ? _isAugmentation : 0 ;
7682 result | = element.isConst ? _isConst : 0 ;
7783 result | = element.isExternal ? _isExternal : 0 ;
@@ -150,24 +156,27 @@ class ExtensionTypeElementFlags {
150156}
151157
152158class FieldElementFlags {
153- static const int _hasImplicitType = 1 << 0 ;
154- static const int _hasInitializer = 1 << 1 ;
155- static const int _inheritsCovariant = 1 << 2 ;
156- static const int _isAbstract = 1 << 3 ;
157- static const int _isAugmentation = 1 << 4 ;
158- static const int _isConst = 1 << 5 ;
159- static const int _isCovariant = 1 << 6 ;
160- static const int _isEnumConstant = 1 << 7 ;
161- static const int _isExternal = 1 << 8 ;
162- static const int _isFinal = 1 << 9 ;
163- static const int _isLate = 1 << 10 ;
164- static const int _isPromotable = 1 << 11 ;
165- static const int _shouldUseTypeForInitializerInference = 1 << 12 ;
166- static const int _isStatic = 1 << 13 ;
167- static const int _isSynthetic = 1 << 14 ;
159+ static const int _hasEnclosingTypeParameterReference = 1 << 0 ;
160+ static const int _hasImplicitType = 1 << 1 ;
161+ static const int _hasInitializer = 1 << 2 ;
162+ static const int _inheritsCovariant = 1 << 3 ;
163+ static const int _isAbstract = 1 << 4 ;
164+ static const int _isAugmentation = 1 << 5 ;
165+ static const int _isConst = 1 << 6 ;
166+ static const int _isCovariant = 1 << 7 ;
167+ static const int _isEnumConstant = 1 << 8 ;
168+ static const int _isExternal = 1 << 9 ;
169+ static const int _isFinal = 1 << 10 ;
170+ static const int _isLate = 1 << 11 ;
171+ static const int _isPromotable = 1 << 12 ;
172+ static const int _shouldUseTypeForInitializerInference = 1 << 13 ;
173+ static const int _isStatic = 1 << 14 ;
174+ static const int _isSynthetic = 1 << 15 ;
168175
169176 static void read (SummaryDataReader reader, FieldElementImpl element) {
170177 var byte = reader.readUInt30 ();
178+ element.hasEnclosingTypeParameterReference =
179+ (byte & _hasEnclosingTypeParameterReference) != 0 ;
171180 element.hasImplicitType = (byte & _hasImplicitType) != 0 ;
172181 element.hasInitializer = (byte & _hasInitializer) != 0 ;
173182 element.inheritsCovariant = (byte & _inheritsCovariant) != 0 ;
@@ -188,6 +197,9 @@ class FieldElementFlags {
188197
189198 static void write (BufferedSink sink, FieldElementImpl element) {
190199 var result = 0 ;
200+ result | = element.hasEnclosingTypeParameterReference
201+ ? _hasEnclosingTypeParameterReference
202+ : 0 ;
191203 result | = element.hasImplicitType ? _hasImplicitType : 0 ;
192204 result | = element.hasInitializer ? _hasInitializer : 0 ;
193205 result | = element.inheritsCovariant ? _inheritsCovariant : 0 ;
@@ -275,19 +287,22 @@ class LibraryImportElementFlags {
275287
276288class MethodElementFlags {
277289 static const int _hasImplicitReturnType = 1 << 0 ;
278- static const int _invokesSuperSelf = 1 << 1 ;
279- static const int _isAbstract = 1 << 2 ;
280- static const int _isAsynchronous = 1 << 3 ;
281- static const int _isAugmentation = 1 << 4 ;
282- static const int _isExtensionTypeMember = 1 << 5 ;
283- static const int _isExternal = 1 << 6 ;
284- static const int _isGenerator = 1 << 7 ;
285- static const int _isStatic = 1 << 8 ;
286- static const int _isSynthetic = 1 << 9 ;
290+ static const int _hasEnclosingTypeParameterReference = 1 << 1 ;
291+ static const int _invokesSuperSelf = 1 << 2 ;
292+ static const int _isAbstract = 1 << 3 ;
293+ static const int _isAsynchronous = 1 << 4 ;
294+ static const int _isAugmentation = 1 << 5 ;
295+ static const int _isExtensionTypeMember = 1 << 6 ;
296+ static const int _isExternal = 1 << 7 ;
297+ static const int _isGenerator = 1 << 8 ;
298+ static const int _isStatic = 1 << 9 ;
299+ static const int _isSynthetic = 1 << 10 ;
287300
288301 static void read (SummaryDataReader reader, MethodElementImpl element) {
289302 var bits = reader.readUInt30 ();
290303 element.hasImplicitReturnType = (bits & _hasImplicitReturnType) != 0 ;
304+ element.hasEnclosingTypeParameterReference =
305+ (bits & _hasEnclosingTypeParameterReference) != 0 ;
291306 element.invokesSuperSelf = (bits & _invokesSuperSelf) != 0 ;
292307 element.isAbstract = (bits & _isAbstract) != 0 ;
293308 element.isAsynchronous = (bits & _isAsynchronous) != 0 ;
@@ -302,6 +317,9 @@ class MethodElementFlags {
302317 static void write (BufferedSink sink, MethodElementImpl element) {
303318 var result = 0 ;
304319 result | = element.hasImplicitReturnType ? _hasImplicitReturnType : 0 ;
320+ result | = element.hasEnclosingTypeParameterReference
321+ ? _hasEnclosingTypeParameterReference
322+ : 0 ;
305323 result | = element.invokesSuperSelf ? _invokesSuperSelf : 0 ;
306324 result | = element.isAbstract ? _isAbstract : 0 ;
307325 result | = element.isAsynchronous ? _isAsynchronous : 0 ;
@@ -364,17 +382,18 @@ class ParameterElementFlags {
364382}
365383
366384class PropertyAccessorElementFlags {
367- static const int _invokesSuperSelf = 1 << 0 ;
368- static const int _isAugmentation = 1 << 1 ;
369- static const int _isGetter = 1 << 2 ;
370- static const int _isSetter = 1 << 3 ;
371- static const int _hasImplicitReturnType = 1 << 4 ;
372- static const int _isAbstract = 1 << 5 ;
373- static const int _isAsynchronous = 1 << 6 ;
374- static const int _isExtensionTypeMember = 1 << 7 ;
375- static const int _isExternal = 1 << 8 ;
376- static const int _isGenerator = 1 << 9 ;
377- static const int _isStatic = 1 << 10 ;
385+ static const int _hasEnclosingTypeParameterReference = 1 << 0 ;
386+ static const int _invokesSuperSelf = 1 << 1 ;
387+ static const int _isAugmentation = 1 << 2 ;
388+ static const int _isGetter = 1 << 3 ;
389+ static const int _isSetter = 1 << 4 ;
390+ static const int _hasImplicitReturnType = 1 << 5 ;
391+ static const int _isAbstract = 1 << 6 ;
392+ static const int _isAsynchronous = 1 << 7 ;
393+ static const int _isExtensionTypeMember = 1 << 8 ;
394+ static const int _isExternal = 1 << 9 ;
395+ static const int _isGenerator = 1 << 10 ;
396+ static const int _isStatic = 1 << 11 ;
378397
379398 static bool isGetter (int flags) => (flags & _isGetter) != 0 ;
380399
@@ -388,6 +407,8 @@ class PropertyAccessorElementFlags {
388407
389408 static void setFlagsBasedOnFlagByte (
390409 PropertyAccessorElementImpl element, int byte) {
410+ element.hasEnclosingTypeParameterReference =
411+ (byte & _hasEnclosingTypeParameterReference) != 0 ;
391412 element.invokesSuperSelf = (byte & _invokesSuperSelf) != 0 ;
392413 element.isAugmentation = (byte & _isAugmentation) != 0 ;
393414 element.hasImplicitReturnType = (byte & _hasImplicitReturnType) != 0 ;
@@ -401,6 +422,9 @@ class PropertyAccessorElementFlags {
401422
402423 static void write (BufferedSink sink, PropertyAccessorElementImpl element) {
403424 var result = 0 ;
425+ result | = element.hasEnclosingTypeParameterReference
426+ ? _hasEnclosingTypeParameterReference
427+ : 0 ;
404428 result | = element.invokesSuperSelf ? _invokesSuperSelf : 0 ;
405429 result | = element.isAugmentation ? _isAugmentation : 0 ;
406430 result | = element.isGetter ? _isGetter : 0 ;
0 commit comments