@@ -1818,45 +1818,39 @@ namespace Sass {
1818
1818
// / Evaluates [condition] and converts it to a plain CSS string, with
1819
1819
sass::string Eval::_visitSupportsCondition (SupportsCondition* condition)
1820
1820
{
1821
- if (auto operation = condition->isaSupportsOperation ()) {
1821
+ if (SupportsOperation* operation = condition->isaSupportsOperation ()) {
1822
1822
sass::string strm;
1823
1823
SupportsOperation::Operand operand = operation->operand ();
1824
1824
strm += _parenthesize (operation->left (), operand);
1825
1825
strm += (operand == SupportsOperation::AND ? " and " : " or " );
1826
1826
strm += _parenthesize (operation->right (), operand);
1827
1827
return strm;
1828
1828
}
1829
- else if (auto negation = condition->isaSupportsNegation ()) {
1829
+ else if (SupportsNegation* negation = condition->isaSupportsNegation ()) {
1830
1830
return " not " + _parenthesize (negation->condition ());
1831
1831
}
1832
- else if (auto interpolation = condition->isaSupportsInterpolation ()) {
1832
+ else if (SupportsInterpolation* interpolation = condition->isaSupportsInterpolation ()) {
1833
1833
return toCss (interpolation->value (), false );
1834
1834
}
1835
- else if (auto declaration = condition->isaSupportsDeclaration ()) {
1835
+ else if (SupportsDeclaration* declaration = condition->isaSupportsDeclaration ()) {
1836
1836
sass::string strm (" (" );
1837
1837
strm += toCss (declaration->feature ()); strm += " : " ;
1838
1838
strm += toCss (declaration->value ()); strm += " )" ;
1839
1839
return strm;
1840
1840
}
1841
- else if (auto declaration = condition->isaSupportsFunction ()) {
1842
- return " SupportsFunction" ;
1841
+ else if (SupportsFunction* function = condition->isaSupportsFunction ()) {
1842
+ return acceptInterpolation (function->name (), false )
1843
+ + " (" + acceptInterpolation (function->args (), false ) + " )" ;
1843
1844
}
1844
- else if (auto anything = condition->isaSupportsAnything ()) {
1845
- return acceptInterpolation (anything->contents (), false );
1845
+ else if (SupportsAnything* anything = condition->isaSupportsAnything ()) {
1846
+ return " ( " + acceptInterpolation (anything->contents (), false ) + " ) " ;
1846
1847
}
1847
1848
else {
1848
1849
return Strings::empty;
1849
1850
}
1850
1851
1851
1852
}
1852
1853
1853
- // String* Eval::operator()(SupportsCondition* condition)
1854
- // {
1855
- // throw std::runtime_error("to delete");
1856
- // return SASS_MEMORY_NEW(String, condition->pstate(),
1857
- // _visitSupportsCondition(condition));
1858
- // }
1859
-
1860
1854
// / Adds the values in [map] to [values].
1861
1855
// /
1862
1856
// / Throws a [RuntimeException] associated with [nodeForSpan]'s source
0 commit comments