@@ -90,25 +90,28 @@ class Extender {
90
90
/// A helper function for [extend] and [replace] .
91
91
static SelectorList _extendOrReplace (SelectorList selector,
92
92
SelectorList source, SelectorList targets, ExtendMode mode) {
93
- var extenders = Map <ComplexSelector , Extension >.fromIterable (
94
- source.components,
95
- value: (complex) => Extension .oneOff (complex as ComplexSelector ));
96
- for (var complex in targets.components) {
97
- if (complex.components.length != 1 ) {
98
- throw SassScriptException ("Can't extend complex selector $complex ." );
99
- }
100
-
101
- var compound = complex.components.first as CompoundSelector ;
102
- var extensions = {
93
+ var extenders = {
94
+ for (var complex in source.components) complex: Extension .oneOff (complex)
95
+ };
96
+
97
+ var compoundTargets = [
98
+ for (var complex in targets.components)
99
+ if (complex.components.length != 1 )
100
+ throw SassScriptException ("Can't extend complex selector $complex ." )
101
+ else
102
+ complex.components.first as CompoundSelector
103
+ ];
104
+
105
+ var extensions = {
106
+ for (var compound in compoundTargets)
103
107
for (var simple in compound.components) simple: extenders
104
- };
108
+ };
105
109
106
- var extender = Extender ._mode (mode);
107
- if (! selector.isInvisible) {
108
- extender._originals.addAll (selector.components);
109
- }
110
- selector = extender._extendList (selector, extensions, null );
110
+ var extender = Extender ._mode (mode);
111
+ if (! selector.isInvisible) {
112
+ extender._originals.addAll (selector.components);
111
113
}
114
+ selector = extender._extendList (selector, extensions, null );
112
115
113
116
return selector;
114
117
}
0 commit comments