/* * @(#)PHINode.java */ package org.jf.dexlib.Code.Analysis.ssa; import org.jf.dexlib.Code.Analysis.ssa.graphs.AbstractNode; /** * A node containing a phi-function. * @author Patrick Kuhn */ public class PHINode extends AbstractNode { /** Phi function. */ private final PHI phi; /** * Create a phi node. * @param phi the phi function */ public PHINode(final PHI phi) { super(); this.phi = phi; } @Deprecated public void cleanup() { this.phi.cleanup(); } @Override public boolean isPHI() { return true; } @Override public PHI getPHI() { return phi; } @Override public int hashCode() { return phi.hashCode() * 7; } @Override public boolean equals(final Object o) { boolean result = false; if (o instanceof PHINode) { final PHINode other = (PHINode) o; result = phi.equals(other.phi); } return result; } @Override public String toString() { return phi.toString(); } @Override public void changeVariableName(final int varOriginal, final String varNewName) { phi.changeVariableName(varOriginal, varNewName); } @Override public void changeDefinitionName(final String newName) { phi.changeDefinitionName(newName); } public String[] getOperands() { return phi.getOperands(); } }