Package ghidra.program.model.pcode
Class SymbolEntry
- java.lang.Object
-
- ghidra.program.model.pcode.SymbolEntry
-
- Direct Known Subclasses:
DynamicEntry,MappedEntry
public abstract class SymbolEntry extends java.lang.ObjectA mapping from a HighSymbol object to the storage that holds the symbol's value.
-
-
Field Summary
Fields Modifier and Type Field Description protected Addresspcaddrprotected HighSymbolsymbol
-
Constructor Summary
Constructors Constructor Description SymbolEntry(HighSymbol sym)Constructor for use with restoreXML
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidbuildRangelistXML(java.lang.StringBuilder res)AddressgetPCAdress()The storage used to hold this Symbol may be used for other purposes at different points in the code.abstract intgetSize()Get the number of bytes consumed by the symbol when using this storageabstract VariableStoragegetStorage()Get the storage associated with this particular mapping of the Symbolabstract booleanisReadOnly()abstract booleanisVolatile()protected voidparseRangeList(XmlPullParser parser)abstract voidrestoreXML(XmlPullParser parser)Restore this entry from the given XML stream.abstract voidsaveXml(java.lang.StringBuilder buf)Save this entry as (a set of) XML tags to the given stream
-
-
-
Field Detail
-
symbol
protected HighSymbol symbol
-
pcaddr
protected Address pcaddr
-
-
Constructor Detail
-
SymbolEntry
public SymbolEntry(HighSymbol sym)
Constructor for use with restoreXML- Parameters:
sym- is the symbol owning this entry
-
-
Method Detail
-
restoreXML
public abstract void restoreXML(XmlPullParser parser) throws PcodeXMLException
Restore this entry from the given XML stream. Typically more than one tag is consumed- Parameters:
parser- is the given XML stream- Throws:
PcodeXMLException- if the XML is invalid
-
saveXml
public abstract void saveXml(java.lang.StringBuilder buf)
Save this entry as (a set of) XML tags to the given stream- Parameters:
buf- is the given stream
-
getStorage
public abstract VariableStorage getStorage()
Get the storage associated with this particular mapping of the Symbol- Returns:
- the storage object
-
getSize
public abstract int getSize()
Get the number of bytes consumed by the symbol when using this storage- Returns:
- the size of this entry
-
isReadOnly
public abstract boolean isReadOnly()
- Returns:
- true if the mapped storage is read-only
-
isVolatile
public abstract boolean isVolatile()
- Returns:
- true if the mapped storage is volatile
-
getPCAdress
public Address getPCAdress()
The storage used to hold this Symbol may be used for other purposes at different points in the code. This returns the earliest address in the code where this storage is used for this symbol- Returns:
- the starting address where the Symbol uses this storage
-
parseRangeList
protected void parseRangeList(XmlPullParser parser)
-
buildRangelistXML
protected void buildRangelistXML(java.lang.StringBuilder res)
-
-