Package ghidra.app.analyzers

# Class AbstractBinaryFormatAnalyzer

java.lang.Object
ghidra.app.services.AbstractAnalyzer
ghidra.app.analyzers.AbstractBinaryFormatAnalyzer

All Implemented Interfaces:
  `Analyzer`, `ExtensionPoint`

Direct Known Subclasses:
  `AppleSingleDoubleAnalyzer`, `CoffAnalyzer`, `CoffArchiveAnalyzer`, `ElfAnalyzer`, `MachoAnalyzer`, `PefAnalyzer`, `PortableExecutableAnalyzer`

public abstract class AbstractBinaryFormatAnalyzer extends AbstractAnalyzer

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected BinaryAnalysisCommand`
  `command`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `AbstractBinaryFormatAnalyzer(BinaryAnalysisCommand command)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final boolean`
  `added(Program program, AddressSetView set, TaskMonitor monitor, MessageLog log)`
  Called when the requested information type has been added, for example, when a function is added.
  `final boolean`
  `canAnalyze(Program program)`
  Can this analyzer work on this program.
  `final boolean`
  `getDefaultEnablement(Program program)`
  Returns true if this analyzer should be enabled by default.

  ### Methods inherited from class ghidra.app.services.AbstractAnalyzer

  `analysisEnded, getAnalysisType, getDescription, getName, getPriority, isPrototype, optionsChanged, registerOptions, removed, setDefaultEnablement, setPriority, setPrototype, setSupportsOneTimeAnalysis, setSupportsOneTimeAnalysis, supportsOneTimeAnalysis`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface ghidra.app.services.Analyzer

  `getOptionsUpdater`

- ## Field Details

  - ### command

    protected BinaryAnalysisCommand command

- ## Constructor Details

  - ### AbstractBinaryFormatAnalyzer

    protected AbstractBinaryFormatAnalyzer(BinaryAnalysisCommand command)

- ## Method Details

  - ### added

    public final boolean added(Program program, AddressSetView set, TaskMonitor monitor, MessageLog log) throws CancelledException
    Description copied from interface: `Analyzer`
    Called when the requested information type has been added, for example, when a function is added.
    Parameters:
      `program` - program to analyze
      `set` - AddressSet of locations that have been added
      `monitor` - monitor that indicates progress and indicates whether the user canceled the analysis
      `log` - a message log to record analysis information
    Returns:
      true if the analysis succeeded
    Throws:
      `CancelledException` - if the analysis is cancelled

  - ### canAnalyze

    public final boolean canAnalyze(Program program)
    Description copied from interface: `Analyzer`
    Can this analyzer work on this program.
    Specified by:
      `canAnalyze` in interface `Analyzer`
    Overrides:
      `canAnalyze` in class `AbstractAnalyzer`
    Parameters:
      `program` - program to be analyzed
    Returns:
      true if this analyzer can analyze this program

  - ### getDefaultEnablement

    public final boolean getDefaultEnablement(Program program)
    Description copied from interface: `Analyzer`
    Returns true if this analyzer should be enabled by default. Generally useful analyzers should return true. Specialized analyzers should return false;
    Specified by:
      `getDefaultEnablement` in interface `Analyzer`
    Overrides:
      `getDefaultEnablement` in class `AbstractAnalyzer`
    Parameters:
      `program` - the program
    Returns:
      true if enabled by default