# Hierarchy For Package ghidra.trace.model

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - ghidra.trace.model.DefaultAddressSnap (implements ghidra.trace.model.AddressSnap)
  - ghidra.trace.model.DefaultTraceLocation (implements ghidra.trace.model.TraceLocation)
  - ghidra.trace.model.DefaultTraceSpan (implements ghidra.trace.model.TraceSpan)
  - ghidra.trace.model.ImmutableTraceAddressSnapRange (implements ghidra.trace.model.TraceAddressSnapRange)
  - ghidra.trace.model.Lifespan.Empty (implements ghidra.trace.model.Lifespan, generic.Span.Empty<N,S>)
  - generic.Span.DefaultSpanSet<N,S> (implements generic.Span.MutableSpanSet<N,S>)
    - ghidra.trace.model.Lifespan.DefaultLifeSet (implements ghidra.trace.model.Lifespan.MutableLifeSet)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - ghidra.framework.model.DomainObjectException
          - ghidra.trace.model.TraceClosedException
  - ghidra.trace.model.TraceAddressSnapSpace (implements ghidra.util.database.spatial.rect.EuclideanSpace2D<X,Y>)
  - ghidra.trace.util.TypedEventDispatcher
    - ghidra.trace.model.TraceDomainObjectListener (implements ghidra.framework.model.DomainObjectListener)

## Interface Hierarchy

- ghidra.util.database.spatial.BoundedShape<S>
  - ghidra.util.database.spatial.BoundingShape<S>
    - ghidra.util.database.spatial.rect.Rectangle2D<X,Y,R>
      - ghidra.trace.model.TraceAddressSnapRange
- ghidra.framework.model.ChangeSet
  - ghidra.program.model.listing.DataTypeChangeSet
    - ghidra.trace.model.TraceChangeSet
- java.lang.Comparable<T>
  - ghidra.trace.model.AddressSnap
  - generic.Span<N,S>
    - ghidra.trace.model.Lifespan (also extends java.lang.Iterable<T>)
  - ghidra.trace.model.TraceLocation
  - ghidra.trace.model.TraceSpan
- ghidra.app.merge.DataTypeManagerOwner
  - ghidra.program.model.data.DataTypeManagerDomainObject (also extends ghidra.framework.model.DomainObject)
    - ghidra.trace.model.Trace
- ghidra.framework.model.DomainObject
  - ghidra.program.model.data.DataTypeManagerDomainObject (also extends ghidra.app.merge.DataTypeManagerOwner)
    - ghidra.trace.model.Trace
- java.lang.Iterable<T>
  - ghidra.trace.model.Lifespan (also extends generic.Span<N,S>)
- generic.Span.SpanSet<N,S>
  - ghidra.trace.model.Lifespan.LifeSet
    - ghidra.trace.model.Lifespan.MutableLifeSet (also extends generic.Span.MutableSpanSet<N,S>)
  - generic.Span.MutableSpanSet<N,S>
    - ghidra.trace.model.Lifespan.MutableLifeSet (also extends ghidra.trace.model.Lifespan.LifeSet)
- ghidra.trace.model.Trace.TraceProgramViewListener
- ghidra.trace.model.TraceOptionsManager
- ghidra.trace.model.TraceTimeViewport
- ghidra.trace.model.TraceTimeViewport.Occlusion<T>
  - ghidra.trace.model.TraceTimeViewport.QueryOcclusion<T>
    - ghidra.trace.model.TraceTimeViewport.RangeQueryOcclusion<T>
    - ghidra.trace.model.TraceTimeViewport.SetQueryOcclusion<T>
- ghidra.trace.model.TraceUniqueObject
- ghidra.framework.model.UserData
  - ghidra.trace.model.TraceUserData

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - ghidra.trace.model.Lifespan.Domain (implements generic.Span.Domain<N,S>)
    - ghidra.trace.model.TraceExecutionState

## Record Class Hierarchy

- java.lang.Object
  - java.lang.Record
    - ghidra.trace.model.Lifespan.Impl (implements ghidra.trace.model.Lifespan)