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 void
addDescendant(PcodeOp op)
void
descendReplace(VarnodeAST vn)
Replace all of parameter vn's references with thisboolean
equals(java.lang.Object o)
PcodeOp
getDef()
java.util.Iterator<PcodeOp>
getDescendants()
HighVariable
getHigh()
short
getMergeGroup()
Address
getPCAddress()
Get the address where this varnode is defined or NO_ADDRESS if this varnode is an inputint
getUniqueId()
int
hashCode()
boolean
isAddrTied()
boolean
isFree()
boolean
isInput()
boolean
isPersistant()
boolean
isUnaffected()
void
removeDescendant(PcodeOp op)
void
setAddrtied(boolean val)
void
setDef(PcodeOp op)
void
setFree(boolean val)
void
setHigh(HighVariable hi)
void
setInput(boolean val)
void
setMergeGroup(short val)
void
setPersistant(boolean val)
void
setUnaffected(boolean val)
-
Methods inherited from class ghidra.program.model.pcode.Varnode
appendSpaceOffset, buildXML, buildXMLAddress, buildXMLAddress, buildXMLAddress, contains, getAddress, getLoneDescend, getOffset, getSize, getSpace, getWordOffset, intersects, intersects, isAddress, isConstant, isHash, isRegister, isUnique, readXML, readXMLAddress, readXMLAddress, readXMLAddress, toString, toString, trim
-
-
-
-
Constructor Detail
-
VarnodeAST
public VarnodeAST(Address a, int sz, int id)
-
-
Method Detail
-
isInput
public boolean isInput()
-
isPersistant
public boolean isPersistant()
- Overrides:
isPersistant
in classVarnode
- Returns:
- is persistant
-
isAddrTied
public boolean isAddrTied()
- Overrides:
isAddrTied
in classVarnode
- Returns:
- is mapped to an address
-
isUnaffected
public boolean isUnaffected()
- Overrides:
isUnaffected
in classVarnode
-
getDef
public PcodeOp getDef()
-
getDescendants
public java.util.Iterator<PcodeOp> getDescendants()
- Overrides:
getDescendants
in classVarnode
- Returns:
- iterator to all PcodeOp s that take this as input
-
getPCAddress
public Address getPCAddress()
Description copied from class:Varnode
Get the address where this varnode is defined or NO_ADDRESS if this varnode is an input- Overrides:
getPCAddress
in classVarnode
- Returns:
- the address
-
getHigh
public HighVariable getHigh()
-
getUniqueId
public int getUniqueId()
-
getMergeGroup
public short getMergeGroup()
- Overrides:
getMergeGroup
in 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)
-
setPersistant
public void setPersistant(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
-
-