@Override public String toString() { if (hasListVariable()) { return "Each Definition Node: {variable : " + var + ", " + "listVariable : " + listVariable + "}"; } else { return "Each Definition Node: {variable : " + var + ", " + "children : " + list.size() + "}"; } }
@Override public void traverse() { replaceVariables(ScssStylesheet.getVariables()); }
@Override public EachDefNode startEachDirective(String var, ArrayList<String> list) { EachDefNode node = new EachDefNode(var, list); nodeStack.peek().appendChild(node); nodeStack.push(node); return node; }
private static void replaceEachDefNode(EachDefNode defNode) { Node last = defNode; for (final String var : defNode.getVariables()) { VariableNode varNode = new VariableNode(defNode.getVariableName() .substring(1), LexicalUnitImpl.createIdent(var), false); ArrayList<VariableNode> variables = new ArrayList<VariableNode>( ScssStylesheet.getVariables()); variables.add(varNode); for (final Node child : defNode.getChildren()) { Node copy = (Node) DeepCopy.copy(child); replaceInterpolation(copy, variables); defNode.getParentNode().appendChild(copy, last); last = copy; } } defNode.setChildren(new ArrayList<Node>()); defNode.getParentNode().removeChild(defNode); }
public static void traverse(IfElseDefNode node) throws Exception { for (final Node child : node.getChildren()) { if (child instanceof IfNode) { try { String expression = ((IfElseNode) child).getExpression(); node.getParentNode(), child); break; && node.getChildren().indexOf(child) == node .getChildren().size() - 1) { throw new ParseException( "Invalid @if/@else in scss file for " + node); } else { replaceDefNodeWithCorrectChild(node, node.getParentNode(), child); break; node.getParentNode().removeChild(node);
@Override public void elseDirective() { if (nodeStack.peek() instanceof IfNode) { nodeStack.pop(); } ElseNode node = new ElseNode(); nodeStack.peek().appendChild(node); nodeStack.push(node); }
@Override public String toString() { StringBuilder b = new StringBuilder(); for (final Node child : getChildren()) { b.append(child.toString()); b.append("\n"); } return b.toString(); }
@Override public void startIfElseDirective() { final IfElseDefNode node = new IfElseDefNode(); nodeStack.peek().appendChild(node); nodeStack.push(node); }
@Override public void ifDirective(String evaluator) { if (nodeStack.peek() instanceof IfNode) { nodeStack.pop(); } IfNode node = new IfNode(evaluator); nodeStack.peek().appendChild(node); nodeStack.push(node); }
@Override public void traverse() { replaceVariables(ScssStylesheet.getVariables()); EachNodeHandler.traverse(this); } }
@Override public EachDefNode startEachDirective(String var, String listVariable) { EachDefNode node = new EachDefNode(var, listVariable); nodeStack.peek().appendChild(node); nodeStack.push(node); return node; }