Package ghidra.program.database.register
Class DatabaseRangeMapAdapter
java.lang.Object
ghidra.program.database.register.DatabaseRangeMapAdapter
- All Implemented Interfaces:
- RangeMapAdapter
- 
Constructor SummaryConstructorsConstructorDescriptionDatabaseRangeMapAdapter(Register register, DBHandle dbHandle, AddressMap addrMap, Lock lock, ErrorHandler errorHandler) 
- 
Method SummaryModifier and TypeMethodDescriptionvoidVerify that adapter is in a writable state (i.e., valid transaction has been started).voidclearAll()Clears all values.voidclearRange(Address start, Address end) Clears all associated values in the given range.Returns anIndexRangeIteratorover all stored values.getAddressRangeIterator(Address startAddr, Address endAddr) Returns anIndexRangeIteratorover all stored values in the given range.byte[]Returns the byte array that has been associated with the given index.Returns the bounding address-range containing addr and the same value throughout.voidNotification that something has changed that may affect internal cachingbooleanisEmpty()Returns true if this storage has no associated values for any addressvoidmoveAddressRange(Address fromAddr, Address toAddr, long length, TaskMonitor monitor) Move all values within an address range to a new range.voidAssociates the given byte array with all indexes in the given range.voidsetLanguage(LanguageTranslator translator, Register mapReg, TaskMonitor monitor) Update table name and values to reflect new base register
- 
Constructor Details- 
DatabaseRangeMapAdapterpublic DatabaseRangeMapAdapter(Register register, DBHandle dbHandle, AddressMap addrMap, Lock lock, ErrorHandler errorHandler) 
 
- 
- 
Method Details- 
getAddressRangeIteratorDescription copied from interface:RangeMapAdapterReturns anIndexRangeIteratorover all stored values in the given range. If the given range intersects an actual stored range either at the beginning or end, the iterator will return those ranges truncated to fit within the given range.- Specified by:
- getAddressRangeIteratorin interface- RangeMapAdapter
- Parameters:
- startAddr- the first Address in the range.
- endAddr- the last Address (inclusive) index in the range.
- Returns:
- an IndexRangeIteratorover all stored values.
- See Also:
 
- 
getAddressRangeIteratorDescription copied from interface:RangeMapAdapterReturns anIndexRangeIteratorover all stored values.- Specified by:
- getAddressRangeIteratorin interface- RangeMapAdapter
- Returns:
- an IndexRangeIteratorover all stored values.
- See Also:
 
- 
getValueRangeContainingDescription copied from interface:RangeMapAdapterReturns the bounding address-range containing addr and the same value throughout. This range will be limited by any value change associated with the base register.- Specified by:
- getValueRangeContainingin interface- RangeMapAdapter
- Parameters:
- addr- the containing address
- Returns:
- single value address-range containing addr
- See Also:
 
- 
getValueDescription copied from interface:RangeMapAdapterReturns the byte array that has been associated with the given index.- Specified by:
- getValuein interface- RangeMapAdapter
- Parameters:
- address- the address at which to retrieve a byte array.
- Returns:
- the byte array that has been associated with the given index or null if no such association exists.
- See Also:
 
- 
moveAddressRangepublic void moveAddressRange(Address fromAddr, Address toAddr, long length, TaskMonitor monitor) throws CancelledException Description copied from interface:RangeMapAdapterMove all values within an address range to a new range.- Specified by:
- moveAddressRangein interface- RangeMapAdapter
- Parameters:
- fromAddr- the first address of the range to be moved.
- toAddr- the address where to the range is to be moved.
- length- the number of addresses to move.
- monitor- the task monitor.
- Throws:
- CancelledException- if the user canceled the operation via the task monitor.
- See Also:
 
- 
setDescription copied from interface:RangeMapAdapterAssociates the given byte array with all indexes in the given range. Any existing values will be over written.- Specified by:
- setin interface- RangeMapAdapter
- Parameters:
- start- the first address in the range.
- end- the last Address(inclusive) in the range.
- bytes- the bytes to associate with the range.
- See Also:
 
- 
clearRangeDescription copied from interface:RangeMapAdapterClears all associated values in the given range.- Specified by:
- clearRangein interface- RangeMapAdapter
- Parameters:
- start- the first address in the range to clear.
- end- the end address in the range to clear.
- See Also:
 
- 
clearAllpublic void clearAll()Description copied from interface:RangeMapAdapterClears all values.- Specified by:
- clearAllin interface- RangeMapAdapter
- See Also:
 
- 
isEmptypublic boolean isEmpty()Description copied from interface:RangeMapAdapterReturns true if this storage has no associated values for any address- Specified by:
- isEmptyin interface- RangeMapAdapter
- Returns:
- true if this storage has no associated values for any address
 
- 
setLanguagepublic void setLanguage(LanguageTranslator translator, Register mapReg, TaskMonitor monitor) throws CancelledException Description copied from interface:RangeMapAdapterUpdate table name and values to reflect new base register- Specified by:
- setLanguagein interface- RangeMapAdapter
- Parameters:
- translator-
- mapReg-
- monitor-
- Throws:
- CancelledException
- See Also:
 
- 
checkWritableStatepublic void checkWritableState()Description copied from interface:RangeMapAdapterVerify that adapter is in a writable state (i.e., valid transaction has been started).- Specified by:
- checkWritableStatein interface- RangeMapAdapter
 
- 
invalidatepublic void invalidate()Description copied from interface:RangeMapAdapterNotification that something has changed that may affect internal caching- Specified by:
- invalidatein interface- RangeMapAdapter
 
 
-