package dk.brics.jsrefactoring.changes; import java.util.Collections; import java.util.Set; import dk.brics.jsparser.node.Start; import dk.brics.jsrefactoring.nodes.AccessWithName; /** * AST change describing name change of a {@link AccessWithName}. * * @author max.schaefer@comlab.ox.ac.uk * */ public class RenamePropertyNameNode extends Change { private AccessWithName node; private String newName; public RenamePropertyNameNode(AccessWithName node, String newName) { this.node = node; this.newName = newName; } @Override public Set<Start> getAffectedScripts() { return Collections.singleton(node.getNode().getRoot()); } @Override public void perform() { node.replaceName(newName); } @Override public <Q, A> A apply(ChangeVisitor<Q, A> v, Q arg) { return v.caseRenamePropertyNameNode(this, arg); } }