Package ghidra.trace.database.listing
Class DBTraceDefinedDataView
java.lang.Object
ghidra.trace.database.listing.AbstractBaseDBTraceCodeUnitsView<DBTraceData>
ghidra.trace.database.listing.AbstractSingleDBTraceCodeUnitsView<DBTraceData>
ghidra.trace.database.listing.AbstractBaseDBTraceDefinedUnitsView<DBTraceData>
ghidra.trace.database.listing.DBTraceDefinedDataView
- All Implemented Interfaces:
InternalBaseCodeUnitsView<TraceData>,InternalTraceBaseDefinedUnitsView<TraceData>,InternalTraceDefinedDataView,TraceBaseCodeUnitsView<TraceData>,TraceBaseDefinedUnitsView<TraceData>,TraceDefinedDataView
public class DBTraceDefinedDataView
extends AbstractBaseDBTraceDefinedUnitsView<DBTraceData>
implements InternalTraceDefinedDataView
The implementation of
TraceCodeOperations.definedData()-
Nested Class Summary
Nested classes/interfaces inherited from class ghidra.trace.database.listing.AbstractBaseDBTraceDefinedUnitsView
AbstractBaseDBTraceDefinedUnitsView.CacheForGetUnitContainingQueries, AbstractBaseDBTraceDefinedUnitsView.CacheForGetUnitSequenceQueries -
Field Summary
Fields inherited from class ghidra.trace.database.listing.AbstractBaseDBTraceDefinedUnitsView
CACHE_ADDRESS_BREADTH, CACHE_MAX_POINTS, CACHE_MAX_REGIONS, cacheForContaining, cacheForSequence, mapSpaceFields inherited from class ghidra.trace.database.listing.AbstractBaseDBTraceCodeUnitsView
space -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreate(Lifespan lifespan, Address address, TracePlatform platform, DataType dataType) Create a data unit of unspecified length starting at the given addresscreate(Lifespan lifespan, Address address, TracePlatform platform, DataType origType, int origLength) Create a data unit starting at the given addressprotected booleanCheck if the given data type represents a function definitionprotected voidunitRemoved(DBTraceData unit) Notify domain object listeners that a unit was removedprotected voidunitSpanChanged(Lifespan oldSpan, DBTraceData unit) Notify domain object listeners taht a unit's lifespan changedMethods inherited from class ghidra.trace.database.listing.AbstractBaseDBTraceDefinedUnitsView
clear, clearContext, computeTruncatedMax, containsAddress, coversRange, get, getAddressSetView, getAt, getCeiling, getContaining, getFloor, getIntersecting, intersectsRange, invalidateCache, size, subtractFrom, truncateSoonestDefinedMethods inherited from class ghidra.trace.database.listing.AbstractBaseDBTraceCodeUnitsView
coversRange, get, get, get, get, getAddressSetView, getAddressSpace, getAfter, getBefore, getSpace, getTrace, intersectsRangeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ghidra.trace.database.listing.InternalBaseCodeUnitsView
get, getContaining, getForRegister, getSpaceMethods inherited from interface ghidra.trace.database.listing.InternalTraceBaseDefinedUnitsView
clearMethods inherited from interface ghidra.trace.database.listing.InternalTraceDefinedDataView
create, create, create, getPlatformOfMethods inherited from interface ghidra.trace.model.listing.TraceBaseCodeUnitsView
containsAddress, coversRange, coversRange, get, get, get, get, get, get, getAddressSetView, getAddressSetView, getAfter, getAt, getBefore, getCeiling, getContaining, getContaining, getFloor, getForRegister, getIntersecting, getTrace, intersectsRange, intersectsRange, sizeMethods inherited from interface ghidra.trace.model.listing.TraceBaseDefinedUnitsView
clear, clearMethods inherited from interface ghidra.trace.model.listing.TraceDefinedDataView
create
-
Constructor Details
-
DBTraceDefinedDataView
Construct the view- Parameters:
space- the space, bound to an address space
-
-
Method Details
-
create
public DBTraceDataAdapter create(Lifespan lifespan, Address address, TracePlatform platform, DataType dataType) throws CodeUnitInsertionException Description copied from interface:TraceDefinedDataViewCreate a data unit of unspecified length starting at the given addressThe length will be determined by the data type, possibly by examining the bytes, e.g., a null-terminated UTF-8 string. The given type is resolved to the given platform, even if the type already exists in the trace by another platform.
- Specified by:
createin interfaceInternalTraceDefinedDataView- Specified by:
createin interfaceTraceDefinedDataView- Parameters:
lifespan- the span for which the unit is effectiveaddress- the starting addressplatform- the platform for the type'sDataOrganizationdataType- the data type for the unit- Returns:
- the new data unit
- Throws:
CodeUnitInsertionException- if there's a conflict
-
isFunctionDefinition
Check if the given data type represents a function definitionThis recursively resolves typedefs and checks each.
- Parameters:
dt- the data type- Returns:
- true if it is a function definition, false otherwise
-
create
public DBTraceDataAdapter create(Lifespan lifespan, Address address, TracePlatform platform, DataType origType, int origLength) throws CodeUnitInsertionException Description copied from interface:TraceDefinedDataViewCreate a data unit starting at the given addressThe given type is resolved to the given platform, even if the type already exists in the trace by another platform.
- Specified by:
createin interfaceInternalTraceDefinedDataView- Specified by:
createin interfaceTraceDefinedDataView- Parameters:
lifespan- the span for which the unit is effectiveaddress- the starting addressplatform- the platform for the type'sDataOrganizationorigType- the data type for the unitorigLength- the length of the unit, -1 for unspecified- Returns:
- the new data unit
- Throws:
CodeUnitInsertionException- if there's a conflict
-
unitRemoved
Description copied from class:AbstractBaseDBTraceDefinedUnitsViewNotify domain object listeners that a unit was removed- Overrides:
unitRemovedin classAbstractBaseDBTraceDefinedUnitsView<DBTraceData>- Parameters:
unit- the removed unit
-
unitSpanChanged
Description copied from class:AbstractBaseDBTraceDefinedUnitsViewNotify domain object listeners taht a unit's lifespan changed- Overrides:
unitSpanChangedin classAbstractBaseDBTraceDefinedUnitsView<DBTraceData>- Parameters:
oldSpan- the old snapunit- the unit (having the new span)
-