Package ghidra.program.database.symbol
Class OldVariableStorageManagerDB
- java.lang.Object
-
- ghidra.program.database.symbol.OldVariableStorageManagerDB
-
-
Constructor Summary
Constructors Constructor Description OldVariableStorageManagerDB(DBHandle handle, AddressMap addrMap, int openMode, Lock lock, TaskMonitor monitor)Construct a new variable manager.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddeleteAddressRange(Address startAddr, Address endAddr, TaskMonitor monitor)Delete all objects which have been applied to the address range startAddr to endAddr and update the database accordingly.AddressgetStorageAddress(Address variableAddr)voidinvalidateCache(boolean all)Clears all data caches.static booleanisOldVariableStorageManagerUpgradeRequired(DBHandle handle)booleanisUpgradeOldVariableAddressesRequired()voidmoveAddressRange(Address fromAddr, Address toAddr, long length, TaskMonitor monitor)Move all objects within an address range to a new location.voidprogramReady(int openMode, int currentRevision, TaskMonitor monitor)Callback from program made to each manager after the program has completed initialization.voidsetLanguage(LanguageTranslator translator, TaskMonitor monitor)Update storage locations to reflect register changes resulting from a new/updated language.voidsetProgram(ProgramDB program)Callback from program used to indicate all manager have been created.
-
-
-
Constructor Detail
-
OldVariableStorageManagerDB
public OldVariableStorageManagerDB(DBHandle handle, AddressMap addrMap, int openMode, Lock lock, TaskMonitor monitor) throws VersionException, java.io.IOException, CancelledException
Construct a new variable manager.- Parameters:
handle- the database handle.addrMap- the address mapopenMode- the open modelock- the program synchronization lockmonitor- the task monitor.- Throws:
java.io.IOException- if a database error occurs.VersionException- if the table version is different from this adapter.java.io.IOExceptionCancelledException- if the user cancels the upgrade.
-
-
Method Detail
-
isOldVariableStorageManagerUpgradeRequired
public static boolean isOldVariableStorageManagerUpgradeRequired(DBHandle handle)
-
invalidateCache
public void invalidateCache(boolean all)
Description copied from interface:ManagerDBClears all data caches.- Specified by:
invalidateCachein interfaceManagerDB- Parameters:
all- if false, some managers may not need to update their cache if they can tell that its not necessary. If this flag is true, then all managers should clear their cache no matter what.
-
programReady
public void programReady(int openMode, int currentRevision, TaskMonitor monitor) throws java.io.IOException, CancelledExceptionDescription copied from interface:ManagerDBCallback from program made to each manager after the program has completed initialization. This method may be used by managers to perform additional upgrading which may have been deferred.- Specified by:
programReadyin interfaceManagerDB- Parameters:
openMode- the mode that the program is being opened.currentRevision- current program revision. If openMode is UPGRADE, this value reflects the pre-upgrade value.monitor- the task monitor to use in any upgrade operations.- Throws:
java.io.IOException- if a database io error occurs.CancelledException- if the user cancelled the operation via the task monitor.
-
setProgram
public void setProgram(ProgramDB program)
Description copied from interface:ManagerDBCallback from program used to indicate all manager have been created. When this method is invoked, all managers have been instantiated but may not be fully initialized.- Specified by:
setProgramin interfaceManagerDB- Parameters:
program- the program is set when all the initializations have been completed.
-
getStorageAddress
public Address getStorageAddress(Address variableAddr) throws java.io.IOException
- Throws:
java.io.IOException
-
isUpgradeOldVariableAddressesRequired
public boolean isUpgradeOldVariableAddressesRequired()
-
deleteAddressRange
public void deleteAddressRange(Address startAddr, Address endAddr, TaskMonitor monitor) throws CancelledException
Description copied from interface:ManagerDBDelete all objects which have been applied to the address range startAddr to endAddr and update the database accordingly.- Specified by:
deleteAddressRangein interfaceManagerDB- Parameters:
startAddr- the first address in the range.endAddr- the last address in the range.monitor- the task monitor to use in any upgrade operations.- Throws:
CancelledException- if the user cancelled the operation via the task monitor.
-
moveAddressRange
public void moveAddressRange(Address fromAddr, Address toAddr, long length, TaskMonitor monitor) throws CancelledException
Description copied from interface:ManagerDBMove all objects within an address range to a new location.- Specified by:
moveAddressRangein interfaceManagerDB- 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 to use in any upgrade operations.- Throws:
CancelledException- if the user cancelled the operation via the task monitor.
-
setLanguage
public void setLanguage(LanguageTranslator translator, TaskMonitor monitor) throws CancelledException, java.io.IOException
Update storage locations to reflect register changes resulting from a new/updated language. Programs address map must already be updated to reflect new language.- Parameters:
translator-monitor-- Throws:
CancelledExceptionjava.io.IOException
-
-