@@ -669,38 +669,44 @@ namespace Sass {
669
669
// evaluate the selector
670
670
e->selector (eval (e->selector ()));
671
671
672
+ if (e->selector ()) {
672
673
674
+ for (auto complex : e->selector ()->elements ()) {
673
675
674
- auto list = e-> selector ();
675
- if (list) {
676
- for ( auto complex : list-> elements ()) {
676
+ if (complex-> length () != 1 ) {
677
+ error ( " complex selectors may not be extended. " , complex-> pstate (), traces);
678
+ }
677
679
678
- if (complex->length () != 1 ) {
679
- std::cerr << " complex selectors may not be extended." << " \n " ; exit (1 );
680
- }
680
+ if (auto compound = complex->first ()->getCompound ()) {
681
681
682
- if ( auto compound = complex-> first ()-> getCompound () ) {
682
+ if (compound-> length () != 1 ) {
683
683
684
- if (compound->length () != 1 ) {
685
- std::cerr <<
686
- " compound selectors may no longer be extended.\n "
687
- " Consider `@extend ${compound.components.join(', ')}` instead.\n "
688
- " See http://bit.ly/ExtendCompound for details.\n " ;
689
- }
684
+ std::cerr <<
685
+ " compound selectors may no longer be extended.\n "
686
+ " Consider `@extend ${compound.components.join(', ')}` instead.\n "
687
+ " See http://bit.ly/ExtendCompound for details.\n " ;
690
688
691
- // Pass every selector we ever see to extender (to make them findable for extend)
692
- ctx.extender .addExtension (selector (), compound->first (), e, mediaStack.back ());
689
+ // Make this an error once deprecation is over
690
+ for (SimpleSelectorObj simple : compound->elements ()) {
691
+ // Pass every selector we ever see to extender (to make them findable for extend)
692
+ ctx.extender .addExtension (selector (), simple, e, mediaStack.back ());
693
+ }
693
694
694
- }
695
- else {
696
- std::cerr << " complex selectors may not be extended." << " \n " ; exit (1 );
695
+ }
696
+ else {
697
+ // Pass every selector we ever see to extender (to make them findable for extend)
698
+ ctx.extender .addExtension (selector (), compound->first (), e, mediaStack.back ());
699
+ }
700
+
701
+ }
702
+ else {
703
+ error (" complex selectors may not be extended." , complex->pstate (), traces);
704
+ }
697
705
}
698
706
}
699
- }
700
- return nullptr ;
701
-
702
707
703
708
return nullptr ;
709
+
704
710
}
705
711
706
712
Statement* Expand::operator ()(Definition* d)
0 commit comments