replaceMixinNode(node, mixinDef);
}
private static void replaceMixinNode(MixinNode mixinNode,
MixinDefNode mixinDef) {
Node pre = mixinNode;
MixinDefNode defClone = (MixinDefNode) DeepCopy.copy(mixinDef);
defClone.traverse();
if (mixinDef.getArglist().isEmpty()) {
for (Node child : new ArrayList<Node>(defClone.getChildren())) {
mixinNode.getParentNode().appendChild(child, pre);
pre = child;
}
} else {
replacePossibleArguments(mixinNode, defClone);
Node previous = mixinNode;
for (final Node child : defClone.getChildren()) {
Node clone = (Node) DeepCopy.copy(child);
replaceChildVariables(defClone, clone);
mixinNode.getParentNode().appendChild(clone, previous);