package org.objectweb.asm.commons.cfg.tree.node;
import org.objectweb.asm.commons.cfg.tree.NodeTree;
import org.objectweb.asm.tree.AbstractInsnNode;
/**
* @author Tyler Sedlar
*/
public class ConversionNode extends AbstractNode {
public ConversionNode(NodeTree tree, AbstractInsnNode insn, int collapsed, int producing) {
super(tree, insn, collapsed, producing);
}
public boolean fromInt() {
return opcode() == I2B || opcode() == I2C || opcode() == I2S || opcode() == I2L || opcode() == I2D;
}
public boolean toInt() {
return opcode() == D2I || opcode() == L2I || opcode() == F2I;
}
public boolean toChar() {
return opcode() == I2C;
}
public boolean toShort() {
return opcode() == I2S;
}
public boolean fromDouble() {
return opcode() == D2I || opcode() == D2F || opcode() == D2L;
}
public boolean toDouble() {
return opcode() == I2D || opcode() == L2D || opcode() == F2D;
}
public boolean fromLong() {
return opcode() == L2I || opcode() == L2F || opcode() == L2D;
}
public boolean toLong() {
return opcode() == I2L || opcode() == D2L || opcode() == F2L;
}
public boolean fromFloat() {
return opcode() == F2I || opcode() == F2D || opcode() == F2L;
}
public boolean toFloat() {
return opcode() == I2F || opcode() == D2F || opcode() == L2F;
}
}