return mixins;
}
private boolean solveIfVariableReference(ASTCssNode node, IScope scope) {
ExpressionEvaluator expressionEvaluator = new ExpressionEvaluator(scope, problemsHandler, configuration);
switch (node.getType()) {
case VARIABLE: {
Expression replacement = expressionEvaluator.evaluate((Variable) node);
manipulator.replaceAndSynchronizeSilentness(node, replacement);
return true;
}
case INDIRECT_VARIABLE: {
Expression replacement = expressionEvaluator.evaluate((IndirectVariable) node);
manipulator.replaceAndSynchronizeSilentness(node, replacement);
return true;
}
case STRING_EXPRESSION: {
Expression replacement = expressionEvaluator.evaluate((CssString) node);
manipulator.replaceAndSynchronizeSilentness(node, replacement);
return true;
}
case ESCAPED_VALUE: {
Expression replacement = expressionEvaluator.evaluate((EscapedValue) node);
manipulator.replaceAndSynchronizeSilentness(node, replacement);
return true;
}
case EMBEDDED_SCRIPT: {
Expression replacement = expressionEvaluator.evaluate((EmbeddedScript) node);
manipulator.replaceAndSynchronizeSilentness(node, replacement);
return true;
}
case ESCAPED_SELECTOR: {
SimpleSelector replacement = interpolateEscapedSelector((EscapedSelector) node, expressionEvaluator);
manipulator.replaceAndSynchronizeSilentness(node, replacement);
return true;
}
case FIXED_NAME_PART: {
FixedNamePart part = (FixedNamePart) node;
FixedNamePart replacement = interpolateFixedNamePart(part, expressionEvaluator);
manipulator.replaceMemberAndSynchronizeSilentness(part, replacement);
return true;
}
case VARIABLE_NAME_PART: {
VariableNamePart part = (VariableNamePart) node;
Expression value = expressionEvaluator.evaluate(part.getVariable());
FixedNamePart fixedName = toFixedName(value, node.getUnderlyingStructure(), part);
FixedNamePart replacement = interpolateFixedNamePart(fixedName, expressionEvaluator);
manipulator.replaceMemberAndSynchronizeSilentness(part, replacement);
return true;
}