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()booleanisPersistant()booleanisUnaffected()voidremoveDescendant(PcodeOp op)voidsetAddrtied(boolean val)voidsetDef(PcodeOp op)voidsetFree(boolean val)voidsetHigh(HighVariable hi)voidsetInput(boolean val)voidsetMergeGroup(short val)voidsetPersistant(boolean val)voidsetUnaffected(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:
isPersistantin classVarnode- Returns:
- is persistant
-
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)
-
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
-
-