39 lines
762 B
Java
39 lines
762 B
Java
package midend.llvm.use;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import midend.llvm.value.IrValue;
|
|
import midend.llvm.type.IrType;
|
|
|
|
public class IrUser extends IrValue {
|
|
private ArrayList<IrValue> uses;
|
|
|
|
public IrUser(IrType type, String name) {
|
|
super(type, name);
|
|
this.uses = new ArrayList<>();
|
|
}
|
|
|
|
public ArrayList<IrValue> getUses() {
|
|
return uses;
|
|
}
|
|
|
|
public void addUse(IrValue value) {
|
|
if (value == null) {
|
|
return;
|
|
}
|
|
uses.add(value);
|
|
value.addUser(this);
|
|
}
|
|
|
|
public IrValue getUse(int index) {
|
|
if (index >= uses.size()) {
|
|
return null;
|
|
}
|
|
return uses.get(index);
|
|
}
|
|
|
|
public int getNumUses() {
|
|
return uses.size();
|
|
}
|
|
}
|