Package ghidra.program.model.pcode
Class DynamicEntry
- java.lang.Object
 - 
- ghidra.program.model.pcode.SymbolEntry
 - 
- ghidra.program.model.pcode.DynamicEntry
 
 
 
- 
public class DynamicEntry extends SymbolEntry
A HighSymbol mapping based on local hashing of the symbol's Varnode within a function's syntax tree. The storage address of a temporary Varnode (a Varnode in the "unique" address space) is too ephemeral to use as a permanent way to identify it. This symbol stores a hash (generated by DynamicHash) that is better suited to identifying the Varnode. 
- 
- 
Field Summary
- 
Fields inherited from class ghidra.program.model.pcode.SymbolEntry
pcaddr, symbol 
 - 
 
- 
Constructor Summary
Constructors Constructor Description DynamicEntry(HighSymbol sym)Constructor for use with restoreXMLDynamicEntry(HighSymbol sym, Address addr, long h)Construct given the underlying symbol, defining Address of the Varnode, and the hash value 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static DynamicEntrybuild(Varnode vn)Build a new DynamicEntry, given the underlying temporary Varnode attached to a symbol.longgetHash()intgetSize()Get the number of bytes consumed by the symbol when using this storageVariableStoragegetStorage()Get the storage associated with this particular mapping of the SymbolbooleanisReadOnly()booleanisVolatile()voidrestoreXML(XmlPullParser parser)Restore this entry from the given XML stream.voidsaveXml(java.lang.StringBuilder buf)Save this entry as (a set of) XML tags to the given stream- 
Methods inherited from class ghidra.program.model.pcode.SymbolEntry
buildRangelistXML, getPCAdress, parseRangeList 
 - 
 
 - 
 
- 
- 
Constructor Detail
- 
DynamicEntry
public DynamicEntry(HighSymbol sym)
Constructor for use with restoreXML- Parameters:
 sym- is the owning HighSymbol
 
- 
DynamicEntry
public DynamicEntry(HighSymbol sym, Address addr, long h)
Construct given the underlying symbol, defining Address of the Varnode, and the hash value- Parameters:
 sym- is the given symboladdr- is the defining Addressh- is the hash value
 
 - 
 
- 
Method Detail
- 
getHash
public long getHash()
- Returns:
 - the hash value
 
 
- 
restoreXML
public void restoreXML(XmlPullParser parser) throws PcodeXMLException
Description copied from class:SymbolEntryRestore this entry from the given XML stream. Typically more than one tag is consumed- Specified by:
 restoreXMLin classSymbolEntry- Parameters:
 parser- is the given XML stream- Throws:
 PcodeXMLException- if the XML is invalid
 
- 
saveXml
public void saveXml(java.lang.StringBuilder buf)
Description copied from class:SymbolEntrySave this entry as (a set of) XML tags to the given stream- Specified by:
 saveXmlin classSymbolEntry- Parameters:
 buf- is the given stream
 
- 
getStorage
public VariableStorage getStorage()
Description copied from class:SymbolEntryGet the storage associated with this particular mapping of the Symbol- Specified by:
 getStoragein classSymbolEntry- Returns:
 - the storage object
 
 
- 
build
public static DynamicEntry build(Varnode vn)
Build a new DynamicEntry, given the underlying temporary Varnode attached to a symbol. The hash is created from local information in the syntax tree near the Varnode.- Parameters:
 vn- is the underlying Varnode- Returns:
 - the new DynamicEntry
 
 
- 
getSize
public int getSize()
Description copied from class:SymbolEntryGet the number of bytes consumed by the symbol when using this storage- Specified by:
 getSizein classSymbolEntry- Returns:
 - the size of this entry
 
 
- 
isReadOnly
public boolean isReadOnly()
- Specified by:
 isReadOnlyin classSymbolEntry- Returns:
 - true if the mapped storage is read-only
 
 
- 
isVolatile
public boolean isVolatile()
- Specified by:
 isVolatilein classSymbolEntry- Returns:
 - true if the mapped storage is volatile
 
 
 - 
 
 -