Skip to content

Commit 3f90d1b

Browse files
committed
Fix SupportsFunction rendering
1 parent 7c1af00 commit 3f90d1b

File tree

1 file changed

+9
-15
lines changed

1 file changed

+9
-15
lines changed

src/eval.cpp

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1818,45 +1818,39 @@ namespace Sass {
18181818
/// Evaluates [condition] and converts it to a plain CSS string, with
18191819
sass::string Eval::_visitSupportsCondition(SupportsCondition* condition)
18201820
{
1821-
if (auto operation = condition->isaSupportsOperation()) {
1821+
if (SupportsOperation* operation = condition->isaSupportsOperation()) {
18221822
sass::string strm;
18231823
SupportsOperation::Operand operand = operation->operand();
18241824
strm += _parenthesize(operation->left(), operand);
18251825
strm += (operand == SupportsOperation::AND ? " and " : " or ");
18261826
strm += _parenthesize(operation->right(), operand);
18271827
return strm;
18281828
}
1829-
else if (auto negation = condition->isaSupportsNegation()) {
1829+
else if (SupportsNegation* negation = condition->isaSupportsNegation()) {
18301830
return "not " + _parenthesize(negation->condition());
18311831
}
1832-
else if (auto interpolation = condition->isaSupportsInterpolation()) {
1832+
else if (SupportsInterpolation* interpolation = condition->isaSupportsInterpolation()) {
18331833
return toCss(interpolation->value(), false);
18341834
}
1835-
else if (auto declaration = condition->isaSupportsDeclaration()) {
1835+
else if (SupportsDeclaration* declaration = condition->isaSupportsDeclaration()) {
18361836
sass::string strm("(");
18371837
strm += toCss(declaration->feature()); strm += ": ";
18381838
strm += toCss(declaration->value()); strm += ")";
18391839
return strm;
18401840
}
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) + ")";
18431844
}
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) + ")";
18461847
}
18471848
else {
18481849
return Strings::empty;
18491850
}
18501851

18511852
}
18521853

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-
18601854
/// Adds the values in [map] to [values].
18611855
///
18621856
/// Throws a [RuntimeException] associated with [nodeForSpan]'s source

0 commit comments

Comments
 (0)