Package ghidra.app.plugin.assembler.sleigh.sem

# Class DefaultAssemblyResolvedError

java.lang.Object
ghidra.app.plugin.assembler.sleigh.sem.AbstractAssemblyResolution
ghidra.app.plugin.assembler.sleigh.sem.DefaultAssemblyResolvedError

All Implemented Interfaces:
  `AssemblyResolution`, `AssemblyResolvedError`, `Comparable<AssemblyResolution>`

public class DefaultAssemblyResolvedError extends AbstractAssemblyResolution implements AssemblyResolvedError
A `AssemblyResolution` indicating the occurrence of a (usually semantic) error

The description should indicate where the error occurred. The error message should explain the actual error. To help the user diagnose the nature of the error, errors in sub-constructors should be placed as children of an error given by the parent constructor.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final String`
  `error`

  ### Fields inherited from class ghidra.app.plugin.assembler.sleigh.sem.AbstractAssemblyResolution

  `children, description, factory, right`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `DefaultAssemblyResolvedError(AbstractAssemblyResolutionFactory<?,?> factory, String description, List<? extends AssemblyResolution> children, AssemblyResolution right, String error)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected int`
  `computeHash()`
  `boolean`
  `equals(Object obj)`
  `String`
  `getError()`
  Get a description of the error
  `boolean`
  `isBackfill()`
  Check if this record describes a backfill
  `boolean`
  `isError()`
  Check if this record describes an error
  `String`
  `lineToString()`
  Display the resolution result in one line (omitting child details)
  `AssemblyResolution`
  `parent(String description, int opCount)`
  Get this same resolution, pushing its right siblings down to its children
  `AssemblyResolution`
  `shift(int amt)`
  Shift the resolution's instruction pattern to the right, if applicable
  `AssemblyResolution`
  `withRight(AssemblyResolution right)`
  Get this same resolution, but with the given right sibling

  ### Methods inherited from class ghidra.app.plugin.assembler.sleigh.sem.AbstractAssemblyResolution

  `childrenToString, collectAllRight, compareTo, getAllRight, getChildren, getDescription, getRight, hasChildren, hashCode, toString, toString, withoutRight`

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

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface ghidra.app.plugin.assembler.sleigh.sem.AssemblyResolution

  `collectAllRight, getChildren, getDescription, getRight, hasChildren, toString, toString`

  ### Methods inherited from interface java.lang.Comparable

  `compareTo`

- ## Field Details

  - ### error

    protected final String error

- ## Constructor Details

  - ### DefaultAssemblyResolvedError

    protected DefaultAssemblyResolvedError(AbstractAssemblyResolutionFactory<?,?> factory, String description, List<? extends AssemblyResolution> children, AssemblyResolution right, String error)

- ## Method Details

  - ### computeHash

    protected int computeHash()
    Specified by:
      `computeHash` in class `AbstractAssemblyResolution`

  - ### equals

    public boolean equals(Object obj)
    Overrides:
      `equals` in class `Object`

  - ### isError

    public boolean isError()
    Description copied from interface: `AssemblyResolution`
    Check if this record describes an error
    Specified by:
      `isError` in interface `AssemblyResolution`
    Returns:
      true if the record is an error

  - ### isBackfill

    public boolean isBackfill()
    Description copied from interface: `AssemblyResolution`
    Check if this record describes a backfill
    Specified by:
      `isBackfill` in interface `AssemblyResolution`
    Returns:
      true if the record is a backfill

  - ### getError

    public String getError()
    Get a description of the error
    Specified by:
      `getError` in interface `AssemblyResolvedError`
    Returns:
      the description

  - ### lineToString

    public String lineToString()
    Description copied from interface: `AssemblyResolution`
    Display the resolution result in one line (omitting child details)
    Specified by:
      `lineToString` in interface `AssemblyResolution`
    Returns:
      the display description

  - ### shift

    public AssemblyResolution shift(int amt)
    Description copied from interface: `AssemblyResolution`
    Shift the resolution's instruction pattern to the right, if applicable

    This also shifts any backfill and forbidden pattern records.

    Specified by:
      `shift` in interface `AssemblyResolution`
    Specified by:
      `shift` in class `AbstractAssemblyResolution`
    Parameters:
      `amt` - the number of bytes to shift.
    Returns:
      the result

  - ### withRight

    public AssemblyResolution withRight(AssemblyResolution right)
    Description copied from class: `AbstractAssemblyResolution`
    Get this same resolution, but with the given right sibling
    Specified by:
      `withRight` in class `AbstractAssemblyResolution`
    Parameters:
      `right` - the right sibling
    Returns:
      the resolution

  - ### parent

    public AssemblyResolution parent(String description, int opCount)
    Description copied from interface: `AssemblyResolution`
    Get this same resolution, pushing its right siblings down to its children
    Specified by:
      `parent` in interface `AssemblyResolution`