@@ -298,6 +298,11 @@ class ClassElementImpl extends ClassOrMixinElementImpl
298298 return null ;
299299 }
300300
301+ @override
302+ List <Element2 > get children2 {
303+ throw StateError ('This is a fragment' );
304+ }
305+
301306 @override
302307 set constructors (List <ConstructorElementImpl > constructors) {
303308 assert (! isMixinApplication);
@@ -821,6 +826,11 @@ class CompilationUnitElementImpl extends UriReferencedElementImpl
821826 ...topLevelVariables,
822827 ];
823828
829+ @override
830+ List <Element2 > get children2 {
831+ throw StateError ('This is a fragment' );
832+ }
833+
824834 @override
825835 List <Fragment > get children3 => children.cast <Fragment >();
826836
@@ -1345,6 +1355,11 @@ class ConstructorElementImpl extends ExecutableElementImpl
13451355 }
13461356 }
13471357
1358+ @override
1359+ List <Element2 > get children2 {
1360+ throw StateError ('This is a fragment' );
1361+ }
1362+
13481363 /// Return the constant initializers for this element, which will be empty if
13491364 /// there are no initializers, or `null` if there was an error in the source.
13501365 List <ConstructorInitializer > get constantInitializers {
@@ -1897,6 +1912,9 @@ class DynamicElementImpl extends ElementImpl implements TypeDefiningElement {
18971912 setModifier (Modifier .SYNTHETIC , true );
18981913 }
18991914
1915+ @override
1916+ List <Element2 > get children2 => const [];
1917+
19001918 @override
19011919 ElementKind get kind => ElementKind .DYNAMIC ;
19021920
@@ -2370,9 +2388,6 @@ abstract class ElementImpl implements Element, Element2 {
23702388 @override
23712389 List <Element > get children => const [];
23722390
2373- @override
2374- List <Element2 > get children2 => children.cast <Element2 >();
2375-
23762391 /// The length of the element's code, or `null` if the element is synthetic.
23772392 int ? get codeLength => _codeLength;
23782393
@@ -3375,6 +3390,11 @@ class EnumElementImpl extends InterfaceElementImpl
33753390 return null ;
33763391 }
33773392
3393+ @override
3394+ List <Element2 > get children2 {
3395+ throw StateError ('This is a fragment' );
3396+ }
3397+
33783398 List <FieldElementImpl > get constants {
33793399 return fields.where ((field) => field.isEnumConstant).toList ();
33803400 }
@@ -3657,6 +3677,11 @@ class ExtensionElementImpl extends InstanceElementImpl
36573677 ...typeParameters,
36583678 ];
36593679
3680+ @override
3681+ List <Element2 > get children2 {
3682+ throw StateError ('This is a fragment' );
3683+ }
3684+
36603685 @override
36613686 String get displayName => name ?? '' ;
36623687
@@ -3777,6 +3802,11 @@ class ExtensionTypeElementImpl extends InterfaceElementImpl
37773802 return null ;
37783803 }
37793804
3805+ @override
3806+ List <Element2 > get children2 {
3807+ throw StateError ('This is a fragment' );
3808+ }
3809+
37803810 @override
37813811 ExtensionTypeElement2 get element => super .element as ExtensionTypeElement2 ;
37823812
@@ -3833,6 +3863,11 @@ class FieldElementImpl extends PropertyInducingElementImpl
38333863 /// [name] at the given [offset] .
38343864 FieldElementImpl (super .name, super .offset);
38353865
3866+ @override
3867+ List <Element2 > get children2 {
3868+ throw StateError ('This is a fragment' );
3869+ }
3870+
38363871 @override
38373872 FieldElement get declaration => this ;
38383873
@@ -4689,6 +4724,14 @@ class FunctionElementImpl extends ExecutableElementImpl
46894724 /// [nameOffset] . This is used for function expressions, that have no name.
46904725 FunctionElementImpl .forOffset (int nameOffset) : super ("" , nameOffset);
46914726
4727+ @override
4728+ List <Element2 > get children2 {
4729+ if (enclosingElement3 is LibraryFragment ) {
4730+ return element.children2;
4731+ }
4732+ throw StateError ('Not an Element2' );
4733+ }
4734+
46924735 @override
46934736 ExecutableElement get declaration => this ;
46944737
@@ -4815,6 +4858,12 @@ class GenericFunctionTypeElementImpl extends _ExistingElementImpl
48154858 ...parameters,
48164859 ];
48174860
4861+ @override
4862+ List <Element2 > get children2 {
4863+ // TODO(scheglov): implement
4864+ throw UnimplementedError ();
4865+ }
4866+
48184867 @override
48194868 GenericFunctionTypeElement2 get element =>
48204869 throw UnsupportedError ('This is not a fragment' );
@@ -5651,6 +5700,9 @@ class LabelElementImpl extends ElementImpl implements LabelElement {
56515700 /// `switch` member.
56525701 LabelElementImpl (String super .name, super .nameOffset, this ._onSwitchMember);
56535702
5703+ @override
5704+ List <Element2 > get children2 => const [];
5705+
56545706 @override
56555707 String get displayName => name;
56565708
@@ -5807,6 +5859,20 @@ class LibraryElementImpl extends LibraryOrAugmentationElementImpl
58075859 ..._partUnits,
58085860 ];
58095861
5862+ @override
5863+ List <Element2 > get children2 {
5864+ return [
5865+ ...classes,
5866+ ...extensions,
5867+ ...extensionTypes,
5868+ ...functions,
5869+ ...mixins,
5870+ ...typeAliases,
5871+ ...getters,
5872+ ...topLevelVariables,
5873+ ];
5874+ }
5875+
58105876 @override
58115877 List <ClassElement2 > get classes {
58125878 var declarations = < ClassElement2 > {};
@@ -6295,6 +6361,11 @@ class LibraryExportElementImpl extends _ExistingElementImpl
62956361 required this .uri,
62966362 }) : super (null , exportKeywordOffset);
62976363
6364+ @override
6365+ List <Element2 > get children2 {
6366+ throw StateError ('Not an Element2' );
6367+ }
6368+
62986369 @override
62996370 LibraryElementImpl ? get exportedLibrary {
63006371 var uri = this .uri;
@@ -6359,6 +6430,11 @@ class LibraryImportElementImpl extends _ExistingElementImpl
63596430 required this .uri,
63606431 }) : super (null , importKeywordOffset);
63616432
6433+ @override
6434+ List <Element2 > get children2 {
6435+ throw StateError ('Not an Element2' );
6436+ }
6437+
63626438 @override
63636439 CompilationUnitElementImpl get enclosingElement3 {
63646440 return super .enclosingElement3 as CompilationUnitElementImpl ;
@@ -6651,6 +6727,9 @@ class LocalVariableElementImpl extends NonParameterVariableElementImpl
66516727 /// [offset] .
66526728 LocalVariableElementImpl (super .name, super .offset);
66536729
6730+ @override
6731+ List <Element2 > get children2 => const [];
6732+
66546733 LocalVariableElementImpl2 get element2 => _element2;
66556734
66566735 @override
@@ -7405,6 +7484,11 @@ class MethodElementImpl extends ExecutableElementImpl
74057484 /// given [offset] .
74067485 MethodElementImpl (super .name, super .offset);
74077486
7487+ @override
7488+ List <Element2 > get children2 {
7489+ throw StateError ('This is a fragment' );
7490+ }
7491+
74087492 @override
74097493 MethodElement get declaration => this ;
74107494
@@ -7567,6 +7651,11 @@ class MixinElementImpl extends ClassOrMixinElementImpl
75677651 return null ;
75687652 }
75697653
7654+ @override
7655+ List <Element2 > get children2 {
7656+ throw StateError ('This is a fragment' );
7657+ }
7658+
75707659 @override
75717660 MixinElement2 get element => super .element as MixinElement2 ;
75727661
@@ -8075,6 +8164,9 @@ class NeverElementImpl extends ElementImpl implements TypeDefiningElement {
80758164 setModifier (Modifier .SYNTHETIC , true );
80768165 }
80778166
8167+ @override
8168+ List <Element2 > get children2 => const [];
8169+
80788170 @override
80798171 ElementKind get kind => ElementKind .NEVER ;
80808172
@@ -8337,6 +8429,9 @@ class ParameterElementImpl extends VariableElementImpl
83378429 @override
83388430 List <Element > get children => parameters;
83398431
8432+ @override
8433+ List <Element2 > get children2 => const [];
8434+
83408435 @override
83418436 List <Fragment > get children3 => const [];
83428437
@@ -8582,6 +8677,11 @@ class PartElementImpl extends _ExistingElementImpl
85828677 required this .uri,
85838678 }) : super (null , - 1 );
85848679
8680+ @override
8681+ List <Element2 > get children2 {
8682+ throw StateError ('Not an Element2' );
8683+ }
8684+
85858685 @override
85868686 CompilationUnitElementImpl get enclosingUnit {
85878687 var enclosingLibrary = enclosingElement3 as LibraryElementImpl ;
@@ -8652,6 +8752,9 @@ class PrefixElementImpl extends _ExistingElementImpl implements PrefixElement {
86528752 /// [nameOffset] .
86538753 PrefixElementImpl (String super .name, super .nameOffset, {super .reference});
86548754
8755+ @override
8756+ List <Element2 > get children2 => const [];
8757+
86558758 @override
86568759 String get displayName => name;
86578760
@@ -8868,6 +8971,11 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl
88688971 return null ;
88698972 }
88708973
8974+ @override
8975+ List <Element2 > get children2 {
8976+ throw StateError ('This is a fragment' );
8977+ }
8978+
88718979 @override
88728980 PropertyAccessorElement ? get correspondingGetter {
88738981 if (isGetter) {
@@ -9543,6 +9651,11 @@ class TopLevelVariableElementImpl extends PropertyInducingElementImpl
95439651 /// the given [name] and [offset] .
95449652 TopLevelVariableElementImpl (super .name, super .offset);
95459653
9654+ @override
9655+ List <Element2 > get children2 {
9656+ throw StateError ('This is a fragment' );
9657+ }
9658+
95469659 @override
95479660 TopLevelVariableElement get declaration => this ;
95489661
@@ -9713,6 +9826,11 @@ class TypeAliasElementImpl extends _ExistingElementImpl
97139826 /// The aliased type, might be `null` if not yet linked.
97149827 DartType ? get aliasedTypeRaw => _aliasedType;
97159828
9829+ @override
9830+ List <Element2 > get children2 {
9831+ throw StateError ('This is a fragment' );
9832+ }
9833+
97169834 @override
97179835 String get displayName => name;
97189836
@@ -10035,6 +10153,11 @@ class TypeParameterElementImpl extends ElementImpl
1003510153 }
1003610154 }
1003710155
10156+ @override
10157+ List <Element2 > get children2 {
10158+ throw StateError ('This is a fragment' );
10159+ }
10160+
1003810161 @override
1003910162 List <Fragment > get children3 => const [];
1004010163
0 commit comments