/** * Sets the position of {@code node} to {@code position}, and then does the same for all of {@code node}'s children, recursively. */ public static Node setAllPositions(Node node, Position position) { node.setPosition(position); for (Node child : node.getChildren()) setAllPositions(child, position); return node; }
/** * Sets the position of {@code node} to {@code position}, and then does the same for all of {@code node}'s children, recursively. */ public static Node setAllPositions(Node node, Position position) { node.setPosition(position); for (Node child : node.getChildren()) setAllPositions(child, position); return node; }
/** * Sets the position of {@code node} to {@code position}, and then does the same for all of {@code node}'s children, recursively. */ public static Node setAllPositions(Node node, Position position) { node.setPosition(position); for (Node child : node.getChildren()) setAllPositions(child, position); return node; }
case 1: Node replacement = order.replacement.get(0); if (replacement.getPosition().isUnplaced()) Ast.setAllPositions(replacement, new Position(startLoc, endLoc, responsible)); node.replace(replacement); break; node.unparent(); for (Node n : order.replacement) { if (n.getPosition().isUnplaced()) Ast.setAllPositions(n, new Position(startLoc, endLoc, responsible));
case 1: Node replacement = order.replacement.get(0); if (replacement.getPosition().isUnplaced()) Ast.setAllPositions(replacement, new Position(startLoc, endLoc, responsible)); node.replace(replacement); break; node.unparent(); for (Node n : order.replacement) { if (n.getPosition().isUnplaced()) Ast.setAllPositions(n, new Position(startLoc, endLoc, responsible));
case 1: Node replacement = order.replacement.get(0); if (replacement.getPosition().isUnplaced()) Ast.setAllPositions(replacement, new Position(startLoc, endLoc, responsible)); node.replace(replacement); break; node.unparent(); for (Node n : order.replacement) { if (n.getPosition().isUnplaced()) Ast.setAllPositions(n, new Position(startLoc, endLoc, responsible));
@Override public boolean visitVariableReference(VariableReference node) { ReplacementOrder order = currentOrder(); if (order != null && order.expressionToReplace.equals(node.astIdentifier().astValue())) { Node replacement = order.replacement.get(0); int startLoc, endLoc; if (order.position == null) { if (order.replacement.isEmpty() || replacement.getPosition().getStart() < 0) startLoc = location; else startLoc = replacement.getPosition().getStart(); if (order.replacement.isEmpty() || replacement.getPosition().getEnd() < 0) endLoc = location; else endLoc = replacement.getPosition().getEnd(); } else { startLoc = order.position.getStart(); endLoc = order.position.getEnd(); } if (replacement.getPosition().isUnplaced()) Ast.setAllPositions(replacement, new Position(startLoc, endLoc, responsible)); location = endLoc; node.replace(replacement); replacementsPointer++; return true; } return visitNode(node); }
@Override public boolean visitVariableReference(VariableReference node) { ReplacementOrder order = currentOrder(); if (order != null && order.expressionToReplace.equals(node.astIdentifier().astValue())) { Node replacement = order.replacement.get(0); int startLoc, endLoc; if (order.position == null) { if (order.replacement.isEmpty() || replacement.getPosition().getStart() < 0) startLoc = location; else startLoc = replacement.getPosition().getStart(); if (order.replacement.isEmpty() || replacement.getPosition().getEnd() < 0) endLoc = location; else endLoc = replacement.getPosition().getEnd(); } else { startLoc = order.position.getStart(); endLoc = order.position.getEnd(); } if (replacement.getPosition().isUnplaced()) Ast.setAllPositions(replacement, new Position(startLoc, endLoc, responsible)); location = endLoc; node.replace(replacement); replacementsPointer++; return true; } return visitNode(node); }
@Override public boolean visitVariableReference(VariableReference node) { ReplacementOrder order = currentOrder(); if (order != null && order.expressionToReplace.equals(node.astIdentifier().astValue())) { Node replacement = order.replacement.get(0); int startLoc, endLoc; if (order.position == null) { if (order.replacement.isEmpty() || replacement.getPosition().getStart() < 0) startLoc = location; else startLoc = replacement.getPosition().getStart(); if (order.replacement.isEmpty() || replacement.getPosition().getEnd() < 0) endLoc = location; else endLoc = replacement.getPosition().getEnd(); } else { startLoc = order.position.getStart(); endLoc = order.position.getEnd(); } if (replacement.getPosition().isUnplaced()) Ast.setAllPositions(replacement, new Position(startLoc, endLoc, responsible)); location = endLoc; node.replace(replacement); replacementsPointer++; return true; } return visitNode(node); }
@Override public boolean visitTypeReference(TypeReference node) { ReplacementOrder order = currentOrder(); if (order != null && node.astParts().size() == 1 && node.astParts().last().rawTypeArguments().isEmpty() && node.astParts().last().astIdentifier().astValue().equals(order.typeReferenceToReplace)) { Node replacement = order.replacement.get(0); int startLoc, endLoc; if (order.position == null) { if (order.replacement.isEmpty() || replacement.getPosition().getStart() < 0) startLoc = location; else startLoc = replacement.getPosition().getStart(); if (order.replacement.isEmpty() || replacement.getPosition().getEnd() < 0) endLoc = location; else endLoc = replacement.getPosition().getEnd(); } else { startLoc = order.position.getStart(); endLoc = order.position.getEnd(); } if (replacement.getPosition().isUnplaced()) Ast.setAllPositions(replacement, new Position(startLoc, endLoc, responsible)); location = endLoc; node.replace(replacement); replacementsPointer++; return true; } return visitNode(node); } };
@Override public boolean visitTypeReference(TypeReference node) { ReplacementOrder order = currentOrder(); if (order != null && node.astParts().size() == 1 && node.astParts().last().rawTypeArguments().isEmpty() && node.astParts().last().astIdentifier().astValue().equals(order.typeReferenceToReplace)) { Node replacement = order.replacement.get(0); int startLoc, endLoc; if (order.position == null) { if (order.replacement.isEmpty() || replacement.getPosition().getStart() < 0) startLoc = location; else startLoc = replacement.getPosition().getStart(); if (order.replacement.isEmpty() || replacement.getPosition().getEnd() < 0) endLoc = location; else endLoc = replacement.getPosition().getEnd(); } else { startLoc = order.position.getStart(); endLoc = order.position.getEnd(); } if (replacement.getPosition().isUnplaced()) Ast.setAllPositions(replacement, new Position(startLoc, endLoc, responsible)); location = endLoc; node.replace(replacement); replacementsPointer++; return true; } return visitNode(node); } };
@Override public boolean visitTypeReference(TypeReference node) { ReplacementOrder order = currentOrder(); if (order != null && node.astParts().size() == 1 && node.astParts().last().rawTypeArguments().isEmpty() && node.astParts().last().astIdentifier().astValue().equals(order.typeReferenceToReplace)) { Node replacement = order.replacement.get(0); int startLoc, endLoc; if (order.position == null) { if (order.replacement.isEmpty() || replacement.getPosition().getStart() < 0) startLoc = location; else startLoc = replacement.getPosition().getStart(); if (order.replacement.isEmpty() || replacement.getPosition().getEnd() < 0) endLoc = location; else endLoc = replacement.getPosition().getEnd(); } else { startLoc = order.position.getStart(); endLoc = order.position.getEnd(); } if (replacement.getPosition().isUnplaced()) Ast.setAllPositions(replacement, new Position(startLoc, endLoc, responsible)); location = endLoc; node.replace(replacement); replacementsPointer++; return true; } return visitNode(node); } };