Implement isEnumConstant in ConstFieldElementImpl_EnumValue.
Change-Id: Icbb2dac7db5299a72294f31e119000bd8f535516
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/222100
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index d491590..0a5c264 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -1297,6 +1297,9 @@
bool get hasInitializer => false;
@override
+ bool get isEnumConstant => true;
+
+ @override
Element get nonSynthetic => this;
@override
@@ -3284,10 +3287,7 @@
}
@override
- bool get isEnumConstant =>
- enclosingElement is ClassElement &&
- (enclosingElement as ClassElement).isEnum &&
- !isSynthetic;
+ bool get isEnumConstant => false;
@override
bool get isExternal {
diff --git a/pkg/analyzer/lib/src/summary2/bundle_writer.dart b/pkg/analyzer/lib/src/summary2/bundle_writer.dart
index f6fdf85..1adc959 100644
--- a/pkg/analyzer/lib/src/summary2/bundle_writer.dart
+++ b/pkg/analyzer/lib/src/summary2/bundle_writer.dart
@@ -173,7 +173,8 @@
_sink._writeStringReference(element.name);
_resolutionSink._writeAnnotationList(element.metadata);
- var constants = element.fields.where((e) => !e.isSynthetic).toList();
+ var constants =
+ element.fields.whereType<ConstFieldElementImpl_EnumValue>().toList();
_writeList<FieldElement>(constants, (field) {
_sink._writeStringReference(field.name);
_resolutionSink._writeAnnotationList(field.metadata);