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.Object
A mapping from a HighSymbol object to the storage that holds the symbol's value.
-
-
Field Summary
Fields Modifier and Type Field Description protected Address
pcaddr
protected HighSymbol
symbol
-
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 void
buildRangelistXML(java.lang.StringBuilder res)
Address
getPCAdress()
The storage used to hold this Symbol may be used for other purposes at different points in the code.abstract int
getSize()
Get the number of bytes consumed by the symbol when using this storageabstract VariableStorage
getStorage()
Get the storage associated with this particular mapping of the Symbolabstract boolean
isReadOnly()
abstract boolean
isVolatile()
protected void
parseRangeList(XmlPullParser parser)
abstract void
restoreXML(XmlPullParser parser)
Restore this entry from the given XML stream.abstract void
saveXml(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)
-
-