Package ghidra.program.model.pcode
Class VarnodeAST
- java.lang.Object
-
- ghidra.program.model.pcode.Varnode
-
- ghidra.program.model.pcode.VarnodeAST
-
public class VarnodeAST extends Varnode
This type of Varnode is a node in an Abstract Syntax Tree It keeps track of its defining PcodeOp (in-edge) and PcodeOps which use it (out-edges)
-
-
Constructor Summary
Constructors Constructor Description VarnodeAST(Address a, int sz, int id)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDescendant(PcodeOp op)voiddescendReplace(VarnodeAST vn)Replace all of parameter vn's references with thisbooleanequals(java.lang.Object o)PcodeOpgetDef()java.util.Iterator<PcodeOp>getDescendants()HighVariablegetHigh()shortgetMergeGroup()AddressgetPCAddress()Get the address where this varnode is defined or NO_ADDRESS if this varnode is an inputintgetUniqueId()inthashCode()booleanisAddrTied()booleanisFree()booleanisInput()booleanisPersistent()booleanisUnaffected()voidremoveDescendant(PcodeOp op)voidsetAddrtied(boolean val)voidsetDef(PcodeOp op)voidsetFree(boolean val)voidsetHigh(HighVariable hi)voidsetInput(boolean val)voidsetMergeGroup(short val)voidsetPersistent(boolean val)voidsetUnaffected(boolean val)-
Methods inherited from class ghidra.program.model.pcode.Varnode
buildXML, contains, getAddress, getLoneDescend, getOffset, getSize, getSpace, getWordOffset, intersects, intersects, isAddress, isConstant, isHash, isRegister, isUnique, readXML, toString, toString, trim
-
-
-
-
Constructor Detail
-
VarnodeAST
public VarnodeAST(Address a, int sz, int id)
-
-
Method Detail
-
isInput
public boolean isInput()
-
isPersistent
public boolean isPersistent()
- Overrides:
isPersistentin classVarnode- Returns:
- is persistent
-
isAddrTied
public boolean isAddrTied()
- Overrides:
isAddrTiedin classVarnode- Returns:
- is mapped to an address
-
isUnaffected
public boolean isUnaffected()
- Overrides:
isUnaffectedin classVarnode
-
getDef
public PcodeOp getDef()
-
getDescendants
public java.util.Iterator<PcodeOp> getDescendants()
- Overrides:
getDescendantsin classVarnode- Returns:
- iterator to all PcodeOp s that take this as input
-
getPCAddress
public Address getPCAddress()
Description copied from class:VarnodeGet the address where this varnode is defined or NO_ADDRESS if this varnode is an input- Overrides:
getPCAddressin classVarnode- Returns:
- the address
-
getHigh
public HighVariable getHigh()
-
getUniqueId
public int getUniqueId()
-
getMergeGroup
public short getMergeGroup()
- Overrides:
getMergeGroupin classVarnode- Returns:
- the index of the group, within the high containing this, that are forced merged with this
-
setAddrtied
public void setAddrtied(boolean val)
-
setInput
public void setInput(boolean val)
-
setPersistent
public void setPersistent(boolean val)
-
setUnaffected
public void setUnaffected(boolean val)
-
setFree
public void setFree(boolean val)
-
setDef
public void setDef(PcodeOp op)
-
setMergeGroup
public void setMergeGroup(short val)
-
setHigh
public void setHigh(HighVariable hi)
-
addDescendant
public void addDescendant(PcodeOp op)
-
removeDescendant
public void removeDescendant(PcodeOp op)
-
descendReplace
public void descendReplace(VarnodeAST vn)
Replace all of parameter vn's references with this- Parameters:
vn- Varnode whose references will get replaced
-
-