Package ghidra.program.model.pcode
Class SymbolEntry
java.lang.Object
ghidra.program.model.pcode.SymbolEntry
- Direct Known Subclasses:
DynamicEntry
,MappedEntry
A mapping from a HighSymbol object to the storage that holds the symbol's value.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract void
Decode this entry from the stream.protected void
decodeRangeList
(Decoder decoder) abstract void
Encode this entry as (a set of) elements to the given streamprotected void
encodeRangelist
(Encoder encoder) abstract int
Return one of - MutabilitySettingsDefinition.NORMAL - MutabilitySettingsDefinition.VOLATILE - MutabilitySettingsDefinition.CONSTANTThe 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
Get the storage associated with this particular mapping of the Symbol
-
Field Details
-
symbol
-
pcaddr
-
-
Constructor Details
-
SymbolEntry
Constructor for use with restoreXML- Parameters:
sym
- is the symbol owning this entry
-
-
Method Details
-
decode
Decode this entry from the stream. Typically more than one element is consumed.- Parameters:
decoder
- is the stream decoder- Throws:
DecoderException
- for invalid encodings
-
encode
Encode this entry as (a set of) elements to the given stream- Parameters:
encoder
- is the stream encoder- Throws:
IOException
- for errors in the underlying stream
-
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
-
getMutability
public abstract int getMutability()Return one of - MutabilitySettingsDefinition.NORMAL - MutabilitySettingsDefinition.VOLATILE - MutabilitySettingsDefinition.CONSTANT- Returns:
- the mutability setting
-
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
-
decodeRangeList
- Throws:
DecoderException
-
encodeRangelist
- Throws:
IOException
-