Package ghidra.trace.database.address
Class TraceAddressFactory
java.lang.Object
ghidra.program.model.address.DefaultAddressFactory
ghidra.program.database.ProgramAddressFactory
ghidra.trace.database.address.TraceAddressFactory
- All Implemented Interfaces:
AddressFactory
-
Field Summary
Fields inherited from class ghidra.program.database.ProgramAddressFactory
overlayRegionSupplier -
Constructor Summary
ConstructorsConstructorDescriptionTraceAddressFactory(Language language, CompilerSpec compilerSpec, OverlayRegionSupplier overlayRegionSupplier) -
Method Summary
Modifier and TypeMethodDescriptionprotected ProgramOverlayAddressSpaceaddOverlaySpace(long key, String overlayName, AddressSpace baseSpace) Create a new ProgramOverlayAddressSpace based upon the given overlay blockName and base AddressSpaceprotected voidAdd an overlay address space to this factoryprotected booleanisValidOverlayBaseSpace(AddressSpace baseSpace) Determine whether the given space can have an overlayprotected voidoverlaySpaceRenamed(String oldOverlaySpaceName, String newName, boolean refreshStatusIfNeeded) protected voidExamine all overlay spaces and update the stale status indicator (seeProgramAddressFactory.hasStaleOverlays).protected voidremoveOverlaySpace(String name) Remove an overlay space.Methods inherited from class ghidra.program.database.ProgramAddressFactory
checkValidOverlaySpaceName, getAddress, getAddress, getStackSpace, hasStaleOverlayCondition, invalidateOverlayCacheMethods inherited from class ghidra.program.model.address.DefaultAddressFactory
addAddressSpace, equals, getAddressSet, getAddressSet, getAddressSpace, getAddressSpace, getAddressSpaces, getAllAddresses, getAllAddresses, getAllAddressSpaces, getConstantAddress, getConstantSpace, getDefaultAddressSpace, getIndex, getNumAddressSpaces, getPhysicalSpace, getPhysicalSpaces, getRegisterSpace, getUniqueSpace, hasMultipleMemorySpaces, isValidAddress, oldGetAddressFromLong, overlaySpaceRenamed, removeAddressSpace
-
Constructor Details
-
TraceAddressFactory
public TraceAddressFactory(Language language, CompilerSpec compilerSpec, OverlayRegionSupplier overlayRegionSupplier)
-
-
Method Details
-
isValidOverlayBaseSpace
Description copied from class:ProgramAddressFactoryDetermine whether the given space can have an overlay- Overrides:
isValidOverlayBaseSpacein classProgramAddressFactory- Parameters:
baseSpace- the overlay base address space- Returns:
- true to allow, false to prohibit
-
addOverlaySpace
protected ProgramOverlayAddressSpace addOverlaySpace(long key, String overlayName, AddressSpace baseSpace) throws DuplicateNameException Description copied from class:ProgramAddressFactoryCreate a new ProgramOverlayAddressSpace based upon the given overlay blockName and base AddressSpace- Overrides:
addOverlaySpacein classProgramAddressFactory- Parameters:
key- overlay record keyoverlayName- overlay namebaseSpace- the base AddressSpace to overlay- Returns:
- the new overlay space
- Throws:
DuplicateNameException- if overlay name duplicates another address space name
-
addOverlaySpace
Description copied from class:ProgramAddressFactoryAdd an overlay address space to this factory- Overrides:
addOverlaySpacein classProgramAddressFactory- Parameters:
ovSpace- overlay space- Throws:
DuplicateNameException- if name of overlay space already exists in this factory
-
removeOverlaySpace
Description copied from class:ProgramAddressFactoryRemove an overlay space. It may be neccessary to invokeProgramAddressFactory.refreshStaleOverlayStatus()when an overlay is removed.- Overrides:
removeOverlaySpacein classProgramAddressFactory- Parameters:
name- overlay space name
-
overlaySpaceRenamed
protected void overlaySpaceRenamed(String oldOverlaySpaceName, String newName, boolean refreshStatusIfNeeded) - Overrides:
overlaySpaceRenamedin classProgramAddressFactory
-
refreshStaleOverlayStatus
protected void refreshStaleOverlayStatus()Description copied from class:ProgramAddressFactoryExamine all overlay spaces and update the stale status indicator (seeProgramAddressFactory.hasStaleOverlays).- Overrides:
refreshStaleOverlayStatusin classProgramAddressFactory
-