canCopyPropagate
public boolean canCopyPropagate()
Description copied from class: Operand
Can we replace every use of a variable 'v' that contains the value of this operand
with the operand itself? This takes importance when there are at least two uses
of 'v' within this scope.
Ex: v = [1,2,3]; x = v; y = v
In this case, we cannot replace the occurences of 'v' because we would then get
x = [1,2,3]; y = [1,2,3] which would then result in two different array objects
being constructed instead of a single one.
- Overrides:
canCopyPropagate in class Operand
- Returns:
- true if it is safe to copy-propagate the operand.