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 definitionMethods inherited from class ghidra.trace.database.listing.AbstractBaseDBTraceDefinedUnitsView
clear, clearContext, computeTruncatedMax, containsAddress, coversRange, get, getAddressSetView, getAt, getCeiling, getContaining, getFloor, getIntersecting, intersectsRange, invalidateCache, size, subtractFrom, truncateSoonestDefined, unitRemoved, unitSpanChangedMethods 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
-