@@ -106,7 +106,7 @@ class LibraryBuilder {
106106  }
107107
108108  void  addExporters () {
109-     for  (var  (fragmentIndex, fragment) in  element.units .indexed) {
109+     for  (var  (fragmentIndex, fragment) in  element.fragments .indexed) {
110110      for  (var  (exportIndex, exportElement)
111111          in  fragment.libraryExports.indexed) {
112112        var  exportedLibrary =  exportElement.exportedLibrary;
@@ -220,37 +220,32 @@ class LibraryBuilder {
220220  }
221221
222222  void  buildEnumSyntheticConstructors () {
223-     bool  hasConstructor (EnumFragmentImpl  fragment ) {
224-       for  (var  constructor in  fragment.element .constructors) {
223+     bool  hasConstructor (EnumElementImpl  enumElement ) {
224+       for  (var  constructor in  enumElement .constructors) {
225225        if  (constructor.isGenerative ||  constructor.name ==  'new' ) {
226226          return  true ;
227227        }
228228      }
229229      return  false ;
230230    }
231231
232-     for  (var  enumFragment in  element.topLevelElements) {
233-       if  (enumFragment is !  EnumFragmentImpl ) continue ;
234-       if  (hasConstructor (enumFragment)) continue ;
232+     for  (var  enumElement in  element.enums) {
233+       if  (hasConstructor (enumElement)) continue ;
235234
236-       var  fragment  =  ConstructorFragmentImpl (name:  'new' )
235+       var  constructorFragment  =  ConstructorFragmentImpl (name:  'new' )
237236        ..isConst =  true 
238-         ..isSynthetic =  true ;
239-       fragment.typeName =  enumFragment.name;
237+         ..isSynthetic =  true 
238+         ..typeName =  enumElement.name;
239+       enumElement.firstFragment.addConstructor (constructorFragment);
240240
241-       var  element  =  ConstructorElementImpl (
242-         name:  fragment .name,
243-         reference:  enumFragment.element .reference
241+       var  constructorElement  =  ConstructorElementImpl (
242+         name:  constructorFragment .name,
243+         reference:  enumElement .reference
244244            .getChild ('@constructor' )
245245            .addChild ('new' ),
246-         firstFragment:  fragment ,
246+         firstFragment:  constructorFragment ,
247247      );
248-       enumFragment.element.addConstructor (element);
249- 
250-       enumFragment.constructors =  [
251-         ...enumFragment.constructors,
252-         fragment,
253-       ].toFixedList ();
248+       enumElement.addConstructor (constructorElement);
254249    }
255250  }
256251
@@ -373,24 +368,23 @@ class LibraryBuilder {
373368  void  setDefaultSupertypes () {
374369    var  shouldResetClassHierarchies =  false ;
375370    var  objectType =  element.typeProvider.objectType;
376-     for  (var  interfaceFragment in  element.topLevelElements) {
377-       switch  (interfaceFragment) {
378-         case  ClassFragmentImpl (): 
379-           var  element =  interfaceFragment.element;
380-           if  (! element.isDartCoreObject) {
381-             if  (element.supertype ==  null ) {
382-               shouldResetClassHierarchies =  true ;
383-               element.supertype =  objectType;
384-             }
385-           }
386-         case  MixinFragmentImpl (): 
387-           var  element =  interfaceFragment.element;
388-           if  (element.superclassConstraints.isEmpty) {
389-             shouldResetClassHierarchies =  true ;
390-             element.superclassConstraints =  [objectType];
391-           }
371+ 
372+     for  (var  classElement in  element.classes) {
373+       if  (! classElement.isDartCoreObject) {
374+         if  (classElement.supertype ==  null ) {
375+           shouldResetClassHierarchies =  true ;
376+           classElement.supertype =  objectType;
377+         }
392378      }
393379    }
380+ 
381+     for  (var  mixinElement in  element.mixins) {
382+       if  (mixinElement.superclassConstraints.isEmpty) {
383+         shouldResetClassHierarchies =  true ;
384+         mixinElement.superclassConstraints =  [objectType];
385+       }
386+     }
387+ 
394388    if  (shouldResetClassHierarchies) {
395389      element.session.classHierarchy.removeOfLibraries ({uri});
396390    }
0 commit comments