# Hierarchy For Package ghidra.program.util

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - ghidra.program.util.AbstractProgramContext (implements ghidra.program.model.listing.DefaultProgramContext, ghidra.program.model.listing.ProgramContext)
    - ghidra.program.util.AbstractStoredProgramContext
      - ghidra.program.util.ProgramContextImpl
  - ghidra.program.util.AddressCorrelationRange
  - ghidra.program.util.AddressExpressionValue (implements generic.expressions.ExpressionValue)
  - ghidra.program.util.AddressIteratorConverter (implements ghidra.program.model.address.AddressIterator)
  - ghidra.program.util.AddressRangeIteratorConverter (implements ghidra.program.model.address.AddressRangeIterator)
  - ghidra.program.util.ChangeManagerAdapter (implements ghidra.program.util.ChangeManager)
  - ghidra.program.util.CodeUnitContainer
  - ghidra.program.util.CombinedAddressRangeIterator (implements ghidra.program.model.address.AddressRangeIterator)
  - ghidra.program.util.CommentTypeUtils
  - ghidra.program.util.ContextEvaluatorAdapter (implements ghidra.program.util.ContextEvaluator)
  - ghidra.program.util.CyclomaticComplexity
  - ghidra.program.util.DataTypeCleaner (implements java.io.Closeable)
  - ghidra.program.util.DefaultAddressTranslator (implements ghidra.program.util.AddressTranslator)
  - ghidra.program.util.DefaultLanguageService (implements ghidra.program.model.lang.LanguageService)
  - ghidra.program.util.DefinedDataIterator (implements ghidra.program.model.listing.DataIterator)
  - ghidra.program.util.DefinedStringIterator (implements ghidra.program.model.listing.DataIterator)
  - ghidra.framework.model.DomainObjectChangeRecord (implements java.io.Serializable)
    - ghidra.program.util.CodeUnitUserDataChangeRecord
    - ghidra.program.util.ProgramChangeRecord
      - ghidra.program.util.CodeUnitPropertyChangeRecord
      - ghidra.program.util.CommentChangeRecord
      - ghidra.program.util.FunctionChangeRecord
    - ghidra.program.util.UserDataChangeRecord
  - ghidra.program.util.DummyListingAddressCorrelation (implements ghidra.program.util.ListingAddressCorrelation)
  - ghidra.program.util.EquateInfo
  - generic.expressions.ExpressionEvaluator
    - ghidra.program.util.AddressEvaluator
  - ghidra.program.util.ExternalSymbolResolver (implements java.io.Closeable)
  - ghidra.program.util.FunctionMerge
  - ghidra.program.util.FunctionUtility
  - ghidra.program.util.GhidraProgramUtilities
  - ghidra.program.util.GroupPath (implements java.io.Serializable)
  - ghidra.program.util.GroupView (implements java.io.Serializable)
  - ghidra.program.util.InstructionUtils
  - ghidra.program.util.InteriorSelection
  - ghidra.program.util.LanguagePostUpgradeInstructionHandler
  - ghidra.program.util.LanguageTranslatorAdapter (implements ghidra.program.util.LanguageTranslator)
  - ghidra.program.util.LanguageTranslatorFactory
  - generic.algorithms.Lcs<T>
    - ghidra.program.util.CodeUnitLCS
  - ghidra.program.util.LinearDataAddressCorrelation (implements ghidra.program.util.AddressCorrelation)
  - ghidra.program.util.LinearFunctionAddressCorrelation (implements ghidra.program.util.AddressCorrelation)
  - ghidra.program.util.ListingDiff
  - ghidra.program.util.MarkerLocation (implements java.io.Serializable)
  - ghidra.program.util.MemoryBlockDiff
    - ghidra.program.util.MemoryRangeDiff
  - ghidra.program.util.MemoryDiff
  - ghidra.program.util.MultiAddressIterator
  - ghidra.program.util.MultiAddressRangeIterator
  - ghidra.program.util.MultiCodeUnitIterator
  - ghidra.program.util.OldLanguageFactory
  - ghidra.program.util.ProgramDiff
  - ghidra.program.util.ProgramDiffDetails
  - ghidra.program.util.ProgramDiffFilter
  - ghidra.program.util.ProgramLocation (implements java.lang.Cloneable, java.lang.Comparable<T>)
    - ghidra.program.util.AssignedVariableLocation
    - ghidra.program.util.CodeUnitLocation
      - ghidra.program.util.AddressFieldLocation
      - ghidra.program.util.BytesFieldLocation
      - ghidra.program.util.CommentFieldLocation
        - ghidra.program.util.AutomaticCommentFieldLocation
        - ghidra.program.util.BlockStartLocation
        - ghidra.program.util.EolCommentFieldLocation
        - ghidra.program.util.MemoryBlockStartFieldLocation
        - ghidra.program.util.PlateFieldLocation
        - ghidra.program.util.PostCommentFieldLocation
        - ghidra.program.util.RefRepeatCommentFieldLocation
        - ghidra.program.util.RepeatableCommentFieldLocation
      - ghidra.program.util.FieldNameFieldLocation
      - ghidra.program.util.IndentFieldLocation
      - ghidra.program.util.LabelFieldLocation
      - ghidra.program.util.MnemonicFieldLocation
      - ghidra.program.util.OffsetFieldLocation
      - ghidra.program.util.OperandFieldLocation
        - ghidra.program.util.EquateOperandFieldLocation
      - ghidra.program.util.SpaceFieldLocation
      - ghidra.program.util.SpacerFieldLocation
      - ghidra.program.util.SubDataFieldLocation
      - ghidra.program.util.VariablesOpenCloseLocation
      - ghidra.program.util.XRefFieldLocation
        - ghidra.program.util.XRefHeaderFieldLocation
    - ghidra.program.util.DividerLocation
    - ghidra.program.util.FunctionLocation
      - ghidra.program.util.FunctionCallFixupFieldLocation
      - ghidra.program.util.FunctionRepeatableCommentFieldLocation
      - ghidra.program.util.FunctionSignatureFieldLocation
        - ghidra.program.util.FunctionCallingConventionFieldLocation
        - ghidra.program.util.FunctionEndParametersFieldLocation
        - ghidra.program.util.FunctionInlineFieldLocation
        - ghidra.program.util.FunctionNameFieldLocation
        - ghidra.program.util.FunctionNoReturnFieldLocation
        - ghidra.program.util.FunctionParameterFieldLocation
          - ghidra.program.util.FunctionParameterNameFieldLocation
        - ghidra.program.util.FunctionReturnTypeFieldLocation
        - ghidra.program.util.FunctionStartParametersFieldLocation
        - ghidra.program.util.FunctionThunkFieldLocation
      - ghidra.program.util.FunctionSignatureSourceFieldLocation
      - ghidra.program.util.FunctionTagFieldLocation
      - ghidra.program.util.ThunkedFunctionFieldLocation
      - ghidra.program.util.VariableLocation
        - ghidra.program.util.VariableCommentFieldLocation
        - ghidra.program.util.VariableLocFieldLocation
        - ghidra.program.util.VariableNameFieldLocation
        - ghidra.program.util.VariableTypeFieldLocation
        - ghidra.program.util.VariableXRefFieldLocation
          - ghidra.program.util.VariableXRefHeaderFieldLocation
    - ghidra.program.util.FunctionPurgeFieldLocation
    - ghidra.program.util.InstructionMaskValueFieldLocation
    - ghidra.program.util.ParallelInstructionLocation
    - ghidra.program.util.PcodeFieldLocation
    - ghidra.program.util.RegisterFieldLocation
    - ghidra.program.util.RegisterTransitionFieldLocation
    - ghidra.program.util.SourceMapFieldLocation
    - ghidra.program.util.StackDepthFieldLocation
  - ghidra.program.util.ProgramLocationComparator (implements java.util.Comparator<T>)
  - ghidra.program.util.ProgramMemoryComparator
  - ghidra.program.util.ProgramMemoryUtil
  - ghidra.program.util.ProgramMerge
  - ghidra.program.util.ProgramMergeFilter
  - ghidra.program.util.ProgramMergeManager
  - ghidra.program.util.ProgramSelection (implements ghidra.program.model.address.AddressSetView)
  - ghidra.program.util.ProgramUtilities
  - ghidra.program.util.RegisterValueStore
  - ghidra.program.util.SimpleDiffUtility
    - ghidra.program.util.DiffUtility
  - ghidra.program.util.SymbolicPropogator
  - ghidra.program.util.SymbolicPropogator.Value
  - ghidra.util.task.Task (implements ghidra.util.task.MonitoredRunnable)
    - ghidra.program.util.ProgramTask
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - ghidra.program.util.AddressTranslationException
      - ghidra.util.exception.UsrException
        - ghidra.program.util.ProgramConflictException
  - ghidra.program.util.VariableStorageConflicts
  - ghidra.program.util.VarnodeContext (implements ghidra.program.model.lang.ProcessorContext)

## Interface Hierarchy

- ghidra.program.util.AddressCorrelation
- ghidra.program.util.AddressCorrelator
  - ghidra.program.util.DiscoverableAddressCorrelator (also extends ghidra.util.classfinder.ExtensionPoint)
- ghidra.program.util.AddressTranslator
- ghidra.program.util.ChangeManager
- ghidra.program.util.ContextEvaluator
- ghidra.program.util.DataTypeArchiveChangeManager
- ghidra.util.classfinder.ExtensionPoint
  - ghidra.program.util.DiscoverableAddressCorrelator (also extends ghidra.program.util.AddressCorrelator)
  - ghidra.program.util.LanguageTranslator
- ghidra.program.util.LanguageTranslatorFactoryMinion
- ghidra.program.util.ListingAddressCorrelation
- ghidra.program.util.RangeMapAdapter

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - ghidra.program.util.FunctionChangeRecord.FunctionChangeType
    - ghidra.program.util.OffsetFieldType
    - ghidra.program.util.ProgramEvent (implements ghidra.framework.model.EventType)