/*
* Created on Oct 25, 2005
*/
package x10.wala.ssa;
import java.util.Collection;
import java.util.Collections;
import com.ibm.wala.util.debug.Assertions;
import com.ibm.wala.ssa.SSAInstruction;
import com.ibm.wala.ssa.SSAInstructionFactory;
import com.ibm.wala.ssa.SymbolTable;
public class AtStmtInstruction extends SSAInstruction {
public AtStmtInstruction(final boolean isEnter) {
this.fIsEnter = isEnter;
}
// --- SSAInstruction's abstract methods implementation
public SSAInstruction copyForSSA(final SSAInstructionFactory instrFactory, final int[] defs, final int[] uses) {
return ((AstX10InstructionFactory) instrFactory).AtStmt(this.fIsEnter);
}
public int hashCode() {
return this.fIsEnter ? 345345 : -56534;
}
public boolean isFallThrough() {
return true;
}
public String toString(final SymbolTable symbolTable) {
return this.fIsEnter ? "atStmt enter" : "atStmt exit";
}
public void visit(final IVisitor v) {
((AstX10InstructionVisitor) v).visitAtStmt(this);
}
// --- Overridden methods
public int getNumberOfUses() {
return 0;
}
public int getUse(final int j) {
Assertions.UNREACHABLE();
return -1;
}
public boolean isPEI() {
return false;
}
public Collection getExceptionTypes() {
return Collections.EMPTY_SET;
}
// --- Fields
private final boolean fIsEnter;
}