Class DBTraceReferenceSpace.DBTraceReferenceEntry
- All Implemented Interfaces:
DBTraceOverlaySpaceAdapter.DecodesAddresses,TraceAddressSnapRange,BoundedShape<TraceAddressSnapRange>,BoundingShape<TraceAddressSnapRange>,Rectangle2D<Address,Long, TraceAddressSnapRange>
- Enclosing class:
DBTraceReferenceSpace
Version history:
- 1: Change
DBTraceSpaceBased.toAddress(long)to 10-byte fixed encoding - 0: Initial version and previous unversioned implementation
-
Nested Class Summary
Nested classes/interfaces inherited from class ghidra.util.database.spatial.DBTreeDataRecord
DBTreeDataRecord.RecordEntry<DS extends BoundedShape<NS>,NS extends BoundingShape<NS>, T> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected longprotected byteprotected byteprotected DBTraceReferenceprotected RefTypeprotected final DBTraceReferenceSpaceprotected longprotected Addressprotected Addressprotected AddressRangeFields inherited from class ghidra.trace.database.map.DBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData
lifespan, range, treeFields inherited from class ghidra.program.database.DatabaseObject
key -
Constructor Summary
ConstructorsConstructorDescriptionDBTraceReferenceEntry(DBTraceReferenceSpace space, DBTraceAddressSnapRangePropertyMapTree<DBTraceReferenceSpace.DBTraceReferenceEntry, ?> tree, DBCachedObjectStore<?> store, DBRecord record) -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoDelete()protected voidfresh(boolean created) Extension point: Called when the object's fields are populated.Get the space adapter for the trace containing the objectGet the value of this record Note that the value is sometimes the record itself, i.e., this method returnsthis.longbooleanprotected voidset(AddressRange toRange, long symbolId, RefType refType, int opIndex, long ext, boolean isPrimary, DBTraceReferenceSpace.TypeEnum type, SourceType sourceType) voidsetEndSnap(long endSnap) protected voidsetLifespan(Lifespan lifespan) voidsetPrimary(boolean b) protected voidSet the value of this record Note that the value is sometimes the record itself.voidsetRefType(RefType refType) voidsetSymbolId(long symbolId) static StringtableName(AddressSpace space) Methods inherited from class ghidra.trace.database.map.DBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData
doSetLifespan, doSetRange, equals, getBounds, getLifespan, getParentKey, getRange, getShape, getSpace, hashCode, setParentKey, setShape, shapeEqualsMethods inherited from class ghidra.util.database.spatial.DBTreeDataRecord
asEntry, getDataCount, toStringMethods inherited from class ghidra.util.database.DBAnnotatedObject
doRefresh, doUpdateAll, doUpdated, doWrite, getObjectKey, getTableName, isDeleted, refresh, refresh, update, update, update, updateMethods inherited from class ghidra.program.database.DatabaseObject
checkDeleted, checkIsValid, checkIsValid, getKey, isDeleted, isInvalid, keyChanged, setDeleted, setInvalid, validateMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface ghidra.util.database.spatial.rect.Rectangle2D
computeAreaIntersection, computeAreaUnionBounds, computeCentroidDistance, contains, contains, doEquals, doHashCode, enclosedBy, encloses, getArea, getCenter, getMargin, intersection, intersects, unionBoundsMethods inherited from interface ghidra.trace.model.TraceAddressSnapRange
description, getX1, getX2, getY1, getY2, immutable
-
Field Details
-
toAddrMin
-
toAddrMax
-
symbolId
protected long symbolId -
refType
-
opIndex
protected byte opIndex -
ext
protected long ext -
flags
protected byte flags -
space
-
toRange
-
ref
-
-
Constructor Details
-
DBTraceReferenceEntry
public DBTraceReferenceEntry(DBTraceReferenceSpace space, DBTraceAddressSnapRangePropertyMapTree<DBTraceReferenceSpace.DBTraceReferenceEntry, ?> tree, DBCachedObjectStore<?> store, DBRecord record)
-
-
Method Details
-
tableName
-
getOverlaySpaceAdapter
Description copied from interface:DBTraceOverlaySpaceAdapter.DecodesAddressesGet the space adapter for the trace containing the object- Specified by:
getOverlaySpaceAdapterin interfaceDBTraceOverlaySpaceAdapter.DecodesAddresses- Returns:
- the adapter
-
fresh
Description copied from class:DBAnnotatedObjectExtension point: Called when the object's fields are populated.This provides an opportunity for the object to initialize any non-database-backed fields that depend on the database-backed fields. Note that its use may indicate a situation better solved by a custom
DBCachedObjectStoreFactory.DBFieldCodec. If both the database-backed and non-database-backed fields are used frequently, then a codec may not be indicated. If the database-backed fields are only used in this method or to encode another frequently-used field, then a codec is likely better.For a new object, the database-backed fields remain at their initial values. They will be saved after this method returns, so they may be further initialized with custom logic.
For an object loaded from the database, the database-backed fields are already populated from the record when this method is called. They are not automatically saved after this method returns. This method should not further initialize database-backed fields in this case.
- Overrides:
freshin classDBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData<DBTraceReferenceSpace.DBTraceReferenceEntry>- Parameters:
created-truewhen object is being created, orfalsewhen it is being loaded.- Throws:
IOException- if further initialization fails.
-
setRecordValue
Description copied from class:DBTreeDataRecordSet the value of this record Note that the value is sometimes the record itself. In this case, this method expectsvalueto benulland does nothing. SeeSpatialMap.put(BoundedShape, Object)for more details of this pattern.- Specified by:
setRecordValuein classDBTreeDataRecord<TraceAddressSnapRange,TraceAddressSnapRange, DBTraceReferenceSpace.DBTraceReferenceEntry> - Parameters:
value- the record's new value
-
getRecordValue
Description copied from class:DBTreeDataRecordGet the value of this record Note that the value is sometimes the record itself, i.e., this method returnsthis. SeeSpatialMap.put(BoundedShape, Object)for more details of this pattern.- Specified by:
getRecordValuein classDBTreeDataRecord<TraceAddressSnapRange,TraceAddressSnapRange, DBTraceReferenceSpace.DBTraceReferenceEntry> - Returns:
- the record's value
-
set
protected void set(AddressRange toRange, long symbolId, RefType refType, int opIndex, long ext, boolean isPrimary, DBTraceReferenceSpace.TypeEnum type, SourceType sourceType) -
setLifespan
-
setEndSnap
public void setEndSnap(long endSnap) -
setSymbolId
public void setSymbolId(long symbolId) -
getSymbolId
public long getSymbolId() -
setRefType
-
getRefType
-
setPrimary
public void setPrimary(boolean b) -
isPrimary
public boolean isPrimary() -
getSourceType
-
doDelete
protected void doDelete()
-