@@ -646,7 +646,7 @@ public static LexicalUnitImpl createOr( String uri, int line, int column ) {
646
646
}
647
647
648
648
@ Override
649
- public SassListItem replaceVariables (ScssContext context ) {
649
+ public SassListItem replaceVariables ( ScssContext context ) {
650
650
// replace function parameters (if any)
651
651
LexicalUnitImpl lui ;
652
652
ActualArgumentList params = this .params ;
@@ -660,15 +660,21 @@ public SassListItem replaceVariables(ScssContext context) {
660
660
// replace parameters in string value
661
661
switch ( type ) {
662
662
case SCSS_VARIABLE :
663
- return lui .replaceSimpleVariable (context );
663
+ String stringValue = lui .getStringValue ();
664
+ Variable var = context .getVariable ( stringValue );
665
+ if ( var != null ) {
666
+ return var .getExpr ().replaceVariables ( context );
667
+ }
668
+ varNotResolved = true ;
669
+ break ;
664
670
case SCSS_PARENT :
665
671
BlockNode parentBlock = context .getParentBlock ();
666
- return parentBlock != null ? new StringItem ( parentBlock .getSelectors () ): createNull ( uri , line , column );
672
+ return parentBlock != null ? new StringItem ( parentBlock .getSelectors () ) : createNull ( uri , line , column );
667
673
default :
668
674
StringInterpolationSequence s = this .s ;
669
- if ( s != null && s .containsInterpolation () ) {
670
- StringInterpolationSequence sis = s .replaceVariables (context );
671
- if ( sis != s ) {
675
+ if ( s != null && s .containsInterpolation () ) {
676
+ StringInterpolationSequence sis = s .replaceVariables ( context );
677
+ if ( sis != s ) {
672
678
LexicalUnitImpl copy = lui .copy ();
673
679
copy .s = sis ;
674
680
return copy ;
@@ -678,19 +684,6 @@ public SassListItem replaceVariables(ScssContext context) {
678
684
return lui ;
679
685
}
680
686
681
- private SassListItem replaceSimpleVariable (ScssContext context ) {
682
- if (type == LexicalUnitImpl .SCSS_VARIABLE ) {
683
- // replace simple variable
684
- String stringValue = getStringValue ();
685
- Variable var = context .getVariable (stringValue );
686
- if (var != null ) {
687
- return var .getExpr ().replaceVariables (context );
688
- }
689
- varNotResolved = true ;
690
- }
691
- return this ;
692
- }
693
-
694
687
public boolean containsInterpolation () {
695
688
return s != null && s .containsInterpolation ();
696
689
}
0 commit comments