Package ghidra.program.model.lang

# Class RegisterManager

java.lang.Object
ghidra.program.model.lang.RegisterManager

public class RegisterManager extends Object

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Register`
  `getContextBaseRegister()`
  Get context base-register
  `List<Register>`
  `getContextRegisters()`
  Get unsorted unmodifiable list of all processor context registers (include base context register and children)
  `Register`
  `getRegister(Address addr)`
  Returns the largest register located at the specified address
  `Register`
  `getRegister(Address addr, int size)`
  Get register by address and size
  `Register`
  `getRegister(String name)`
  Get register by name.
  `AddressSetView`
  `getRegisterAddresses()`
  Get the set of addresses contained in registers
  `List<String>`
  `getRegisterNames()`
  Get an alphabetical sorted unmodifiable list of original register names (including context registers).
  `List<Register>`
  `getRegisters()`
  Get all registers as an unsorted unmodifiable list.
  `Register[]`
  `getRegisters(Address addr)`
  Returns all registers located at the specified address
  `List<Register>`
  `getSortedVectorRegisters()`
  Get an unmodifiable list of all vector registers indentified by the processor specification in sorted order based upon address and size.

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

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

- ## Method Details

  - ### getContextBaseRegister

    public Register getContextBaseRegister()
    Get context base-register
    Returns:
      context base register or null if one has not been defined by the language.

  - ### getContextRegisters

    public List<Register> getContextRegisters()
    Get unsorted unmodifiable list of all processor context registers (include base context register and children)
    Returns:
      all processor context registers

  - ### getRegisterNames

    public List<String> getRegisterNames()
    Get an alphabetical sorted unmodifiable list of original register names (including context registers). Names correspond to orignal register name and not aliases which may be defined.
    Returns:
      alphabetical sorted unmodifiable list of original register names.

  - ### getRegister

    public Register getRegister(Address addr)
    Returns the largest register located at the specified address
    Parameters:
      `addr` - register address
    Returns:
      register or null if not found

  - ### getRegisters

    public Register[] getRegisters(Address addr)
    Returns all registers located at the specified address
    Parameters:
      `addr` - register address
    Returns:
      array of registers found (may be empty)

  - ### getRegister

    public Register getRegister(Address addr, int size)
    Get register by address and size
    Parameters:
      `addr` - register address
      `size` - register size
    Returns:
      register or null if not found

  - ### getRegister

    public Register getRegister(String name)
    Get register by name. A semi-case-insensitive lookup is performed. The specified name must match either the case-sensitive name or be entirely lowercase or uppercase.
    Parameters:
      `name` - register name
    Returns:
      register or null if not found

  - ### getRegisters

    public List<Register> getRegisters()
    Get all registers as an unsorted unmodifiable list.
    Returns:
      unmodifiable list of all registers defined

  - ### getSortedVectorRegisters

    public List<Register> getSortedVectorRegisters()
    Get an unmodifiable list of all vector registers indentified by the processor specification in sorted order based upon address and size.
    Returns:
      all vector registers as unmodifiable list

  - ### getRegisterAddresses

    public AddressSetView getRegisterAddresses()
    Get the set of addresses contained in registers
    Returns:
      the address set