public void appendAll(Collection<Node> nodes) { if (nodes != null && !nodes.isEmpty()) { children.addAll(nodes); for (final Node n : nodes) { if (n.getParentNode() != null) { n.getParentNode().removeChild(n); } n.setParentNode(this); } } }
public void appendChild(Node node) { if (node != null) { children.add(node); if (node.getParentNode() != null) { node.getParentNode().removeChild(node); } node.setParentNode(this); } }
public void appendChild(Node node, Node after) { if (node != null) { int index = children.indexOf(after); if (index != -1) { children.add(index + 1, node); if (node.getParentNode() != null) { node.getParentNode().removeChild(node); } node.setParentNode(this); } else { throw new NullPointerException("after-node was not found"); } } }
public void appendChildrenAfter(Collection<Node> childrenNodes, Node after) { if (childrenNodes != null && !childrenNodes.isEmpty()) { int index = children.indexOf(after); if (index != -1) { children.addAll(index, childrenNodes); for (final Node child : childrenNodes) { if (child.getParentNode() != null) { child.getParentNode().removeChild(child); } child.setParentNode(this); } } else { throw new NullPointerException("after-node was not found"); } } }
protected static void checkExtraParameters(MixinNode mixinNode, int remainingNodesSize, int remainingUnitsSize) { if (remainingUnitsSize > remainingNodesSize) { String fileName = null; Node root = mixinNode.getParentNode(); while (root != null && !(root instanceof ScssStylesheet)) { root = root.getParentNode(); } if (root != null) { fileName = ((ScssStylesheet) root).getFileName(); } StringBuilder builder = new StringBuilder(); builder.append("More parameters than expected, in Mixin ").append( mixinNode.getName()); if (fileName != null) { builder.append(", in file ").append(fileName); } throw new RuntimeException(builder.toString()); } }
private void populateDefinitions(Node node) { if (node instanceof MixinDefNode) { mixinDefs.put(((MixinDefNode) node).getName(), (MixinDefNode) node); node.getParentNode().removeChild(node); } else if (node instanceof IfElseDefNode) { ifElseDefNodes.add((IfElseDefNode) node); } for (final Node child : new ArrayList<Node>(node.getChildren())) { populateDefinitions(child); } }
public void removeEmptyBlocks(Node node) { // depth first for avoiding re-checking parents of removed nodes for (Node child : new ArrayList<Node>(node.getChildren())) { removeEmptyBlocks(child); } Node parent = node.getParentNode(); if (node instanceof BlockNode && node.getChildren().isEmpty() && parent != null) { // remove empty block parent.removeChild(node); } }
private static void combineParentSelectorListToChild(BlockNode node) { ArrayList<String> newList = new ArrayList<String>(); BlockNode parentBlock = (BlockNode) node.getParentNode(); for (String parentSelector : parentBlock.getSelectorList()) { for (String childSelector : node.getSelectorList()) { // handle parent selector if (childSelector.contains("&")) { newList.add(childSelector.replace("&", parentSelector)); } else { newList.add(parentSelector + " " + childSelector); } } } node.setSelectorList(newList); Node oldParent = node.getParentNode(); HashMap<Node, Node> lastNodeAdded = ScssStylesheet.getLastNodeAdded(); Node lastAdded = lastNodeAdded.get(oldParent.getParentNode()); if (lastAdded == null) { lastAdded = oldParent; } oldParent.getParentNode().appendChild(node, lastAdded); lastNodeAdded.put(oldParent.getParentNode(), node); } }
Node originalParent = node.getParentNode();
} else { Node parent = node.getParentNode(); while (parent != null && !(parent instanceof ScssStylesheet)) { parent = parent.getParentNode();