This commit is contained in:
邓智航
2025-12-25 15:07:20 +08:00
parent c94bebf37b
commit a9b8e82fd5
12 changed files with 483 additions and 13 deletions

View File

@@ -18,11 +18,10 @@ public class IrUser extends IrValue {
}
public void addUse(IrValue value) {
if (value == null) {
return;
}
uses.add(value);
value.addUser(this);
if (value != null) {
value.addUser(this);
}
}
public IrValue getUse(int index) {
@@ -32,6 +31,44 @@ public class IrUser extends IrValue {
return uses.get(index);
}
public void setUse(int index, IrValue value) {
if (index >= uses.size() || index < 0) {
return;
}
IrValue oldValue = uses.get(index);
if (oldValue != null) {
oldValue.deleteUser(this);
}
uses.set(index, value);
if (value != null) {
value.addUser(this);
}
}
public void deleteUse(IrValue value) {
uses.remove(value);
if (value != null) {
value.deleteUser(this);
}
}
public void clearUses() {
for (IrValue value : uses) {
if (value != null) {
value.deleteUser(this);
}
}
uses.clear();
}
public void deleteUse(int index) {
if (index >= uses.size() || index < 0) {
return;
}
IrValue value = uses.get(index);
deleteUse(value);
}
public int getNumUses() {
return uses.size();
}