public final class PhiInsn extends InsnNode
| Constructor and Description |
|---|
PhiInsn(int regNum,
int predecessors) |
| Modifier and Type | Method and Description |
|---|---|
void |
addArg(InsnArg arg) |
RegisterArg |
bindArg(BlockNode pred) |
void |
bindArg(RegisterArg arg,
BlockNode pred) |
InsnNode |
copy()
Make copy of InsnNode object.
|
@NotNull RegisterArg |
getArg(int n) |
@Nullable RegisterArg |
getArgBySsaVar(SSAVar ssaVar) |
@Nullable BlockNode |
getBlockByArg(RegisterArg arg) |
BlockNode |
getBlockByArgIndex(int argIndex) |
boolean |
removeArg(InsnArg arg) |
RegisterArg |
removeArg(int index) |
boolean |
replaceArg(InsnArg from,
InsnArg to)
Replace instruction arg with another using recursive search.
|
void |
setArg(int n,
InsnArg arg) |
java.lang.String |
toString() |
addLit, addLit, addReg, addReg, appendArgs, attachArg, canRemoveResult, canReorder, canThrowException, containsArg, containsVar, containsWrappedInsn, copy, copyAttributesFrom, copyCommonParams, copyWithNewSsaVar, copyWithoutResult, copyWithoutSsa, equals, getArgIndex, getArgsCount, getArguments, getOffset, getRegisterArgs, getResult, getType, hashCode, inheritMetadata, isConstInsn, isDeepEquals, isSame, rebindArgs, setOffset, setResult, visitArgs, visitArgs, visitInsns, visitInsns, wrapArgaddSourceLineFrom, copyLines, getDefPosition, getSourceLine, setDefPosition, setSourceLineadd, addAttr, addAttr, addAttr, addAttrs, clearAttributes, contains, contains, copyAttributeFrom, copyAttributesFrom, get, getAll, getAnnotation, getAttributesString, getAttributesStringsList, isAttrStorageEmpty, remove, remove, removeAttr, rewriteAttributeFrom, unloadAttributespublic RegisterArg bindArg(BlockNode pred)
public void bindArg(RegisterArg arg, BlockNode pred)
@Nullable public @Nullable BlockNode getBlockByArg(RegisterArg arg)
public BlockNode getBlockByArgIndex(int argIndex)
@NotNull public @NotNull RegisterArg getArg(int n)
public RegisterArg removeArg(int index)
@Nullable public @Nullable RegisterArg getArgBySsaVar(SSAVar ssaVar)
public boolean replaceArg(InsnArg from, InsnArg to)
InsnNodereplaceArg in class InsnNodepublic InsnNode copy()
InsnNodeInsnNode.copyWithoutResult() to explicitly state that result not needed
InsnNode.copy(RegisterArg) to provide new result arg
InsnNode.copyWithNewSsaVar(MethodNode) to make new SSA variable for result arg