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 AbstractBaseDBTraceDefinedUnitsView
AbstractBaseDBTraceDefinedUnitsView.CacheForGetUnitContainingQueries, AbstractBaseDBTraceDefinedUnitsView.CacheForGetUnitSequenceQueries -
Field Summary
Fields inherited from class AbstractBaseDBTraceDefinedUnitsView
CACHE_ADDRESS_BREADTH, CACHE_MAX_POINTS, CACHE_MAX_REGIONS, cacheForContaining, cacheForSequence, mapSpaceFields inherited from class 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 AbstractBaseDBTraceDefinedUnitsView
clear, clearContext, computeTruncatedMax, containsAddress, coversRange, get, getAddressSetView, getAt, getCeiling, getContaining, getFloor, getIntersecting, intersectsRange, invalidateCache, size, subtractFrom, truncateSoonestDefined, unitRemoved, unitSpanChangedMethods inherited from class AbstractBaseDBTraceCodeUnitsView
coversRange, get, get, get, get, getAddressSetView, getAddressSpace, getAfter, getBefore, getSpace, getTrace, intersectsRangeMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface InternalBaseCodeUnitsView
get, getContaining, getForRegister, getSpaceMethods inherited from interface InternalTraceBaseDefinedUnitsView
clear, clearMethods inherited from interface InternalTraceDefinedDataView
create, create, create, getPlatformOfMethods inherited from interface 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 TraceBaseDefinedUnitsView
clearMethods inherited from interface 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
-