@@ -73,7 +73,7 @@ class InheritanceManager3 {
7373
7474 /// The set of classes that are currently being processed, used to detect
7575 /// self-referencing cycles.
76- final Set <InterfaceFragmentImpl > _processingClasses = {};
76+ final Set <InterfaceElementImpl > _processingClasses = {};
7777
7878 /// Combine types of [candidates] into a single most specific type.
7979 ///
@@ -211,7 +211,7 @@ class InheritanceManager3 {
211211
212212 var interface = _getInterface (element);
213213 if (forSuper) {
214- if (element is ExtensionTypeFragmentImpl ) {
214+ if (element is ExtensionTypeElementImpl ) {
215215 return null ;
216216 }
217217 var superImplemented = interface .superImplemented;
@@ -460,34 +460,32 @@ class InheritanceManager3 {
460460 }
461461 _interfaces[element] = Interface ._empty;
462462
463- if (! _processingClasses.add (element.firstFragment )) {
463+ if (! _processingClasses.add (element)) {
464464 return Interface ._empty;
465465 }
466466
467467 try {
468468 if (element is ExtensionTypeElementImpl ) {
469- result = _getInterfaceExtensionType (element.firstFragment );
469+ result = _getInterfaceExtensionType (element);
470470 } else if (element is MixinElementImpl ) {
471- result = _getInterfaceMixin (element.firstFragment );
471+ result = _getInterfaceMixin (element);
472472 } else {
473- result = _getInterfaceClass (element.firstFragment );
473+ result = _getInterfaceClass (element);
474474 }
475475 } finally {
476- _processingClasses.remove (element.firstFragment );
476+ _processingClasses.remove (element);
477477 }
478478
479479 _interfaces[element] = result;
480480 return result;
481481 }
482482
483- Interface _getInterfaceClass (InterfaceFragmentImpl fragment) {
484- var element = fragment.element;
485-
483+ Interface _getInterfaceClass (InterfaceElementImpl element) {
486484 var namedCandidates = < Name , List <ExecutableElement2OrMember >> {};
487485 var superImplemented = < Map <Name , ExecutableElement2OrMember >> [];
488486 var implemented = < Name , ExecutableElement2OrMember > {};
489487
490- InterfaceType ? superType = fragment .supertype;
488+ InterfaceType ? superType = element .supertype;
491489
492490 Interface ? superTypeInterface;
493491 if (superType != null ) {
@@ -659,7 +657,7 @@ class InheritanceManager3 {
659657 redeclared: const {},
660658 superImplemented: superImplemented,
661659 conflicts: conflicts.toFixedList (),
662- combinedSignatures: _combinedSignatures.remove (fragment. element) ?? {},
660+ combinedSignatures: _combinedSignatures.remove (element) ?? {},
663661 );
664662 }
665663
@@ -669,9 +667,7 @@ class InheritanceManager3 {
669667 ///
670668 /// We handle "has an extension type member" and "has a non-extension type
671669 /// member" portions, considering redeclaration and conflicts.
672- Interface _getInterfaceExtensionType (ExtensionTypeFragmentImpl fragment) {
673- var element = fragment.element;
674-
670+ Interface _getInterfaceExtensionType (ExtensionTypeElementImpl element) {
675671 // Add instance members implemented by the element itself.
676672 var declared = < Name , ExecutableElement2OrMember > {};
677673 _addImplemented (declared, element);
@@ -822,11 +818,7 @@ class InheritanceManager3 {
822818 if (elements.length == 1 ) {
823819 uniqueRedeclared[name] = elements.toFixedList ();
824820 } else {
825- var uniqueElements = < ExecutableElement2OrMember > {};
826- for (var fragment in elements) {
827- uniqueElements.add (fragment);
828- }
829- uniqueRedeclared[name] = uniqueElements.toFixedList ();
821+ uniqueRedeclared[name] = elements.toSet ().toFixedList ();
830822 }
831823 }
832824
@@ -839,13 +831,11 @@ class InheritanceManager3 {
839831 redeclared: uniqueRedeclared,
840832 superImplemented: const [],
841833 conflicts: conflicts.toFixedList (),
842- combinedSignatures: _combinedSignatures.remove (fragment. element) ?? {},
834+ combinedSignatures: _combinedSignatures.remove (element) ?? {},
843835 );
844836 }
845837
846- Interface _getInterfaceMixin (MixinFragmentImpl fragment) {
847- var element = fragment.element;
848-
838+ Interface _getInterfaceMixin (MixinElementImpl element) {
849839 var superCandidates = < Name , List <ExecutableElement2OrMember >> {};
850840 for (var constraint in element.superclassConstraints) {
851841 var substitution = Substitution .fromInterfaceType (constraint);
@@ -897,7 +887,7 @@ class InheritanceManager3 {
897887 superImplemented: [superInterface],
898888 conflicts:
899889 < Conflict > [...superConflicts, ...interfaceConflicts].toFixedList (),
900- combinedSignatures: _combinedSignatures.remove (fragment. element) ?? {},
890+ combinedSignatures: _combinedSignatures.remove (element) ?? {},
901891 );
902892 }
903893
@@ -982,9 +972,7 @@ class InheritanceManager3 {
982972 resultFragment.formalParameters =
983973 transformedParameters.map ((e) => e.firstFragment).toList ();
984974 resultFragment.typeParameters =
985- executable.typeParameters
986- .map ((e) => e.firstFragment)
987- .toList ();
975+ executable.typeParameters.map ((e) => e.firstFragment).toList ();
988976
989977 var elementName = executable.name! ;
990978 var result = MethodElementImpl (
0 commit comments