Class CycleGroup

java.lang.Object
ghidra.program.model.data.CycleGroup

public class CycleGroup extends Object
Class to define a set of dataTypes that a single action can cycle through.
  • Field Details

    • BYTE_CYCLE_GROUP

      public static final CycleGroup BYTE_CYCLE_GROUP
    • FLOAT_CYCLE_GROUP

      public static final CycleGroup FLOAT_CYCLE_GROUP
    • STRING_CYCLE_GROUP

      public static final CycleGroup STRING_CYCLE_GROUP
    • ALL_CYCLE_GROUPS

      public static final List<CycleGroup> ALL_CYCLE_GROUPS
    • defaultKeyStroke

      protected KeyStroke defaultKeyStroke
  • Constructor Details

    • CycleGroup

      public CycleGroup(String name, DataType[] dataTypes, KeyStroke keyStroke)
      Constructs a new cycle group with the given dataTypes.
      Parameters:
      name - cycle group name which will be the suggested action name for those plugins which implement a cycle group action.
      dataTypes - data types in the group
      keyStroke - default key stroke for the action to cycle through the data types
    • CycleGroup

      public CycleGroup(String name, DataType dt, KeyStroke keyStroke)
      Constructor cycle group with one data type.
      Parameters:
      name - cycle group name which will be the suggested action name for those plugins which implement a cycle group action.
      dt - single data type for the group
      keyStroke - default key stroke for the action to cycle through the data types
    • CycleGroup

      public CycleGroup(String name)
      Construct empty group no name, data types or keystroke.
  • Method Details

    • getDataTypes

      public DataType[] getDataTypes()
      Get the data types in this group.
    • getName

      public String getName()
      Returns:
      cycle group name.
    • size

      public int size()
      Returns number of types in group
    • getDefaultKeyStroke

      public KeyStroke getDefaultKeyStroke()
    • addDataType

      public void addDataType(DataType dt)
      Add a data type to this group.
      Parameters:
      dt - the datatype to be added.
    • addFirst

      public void addFirst(DataType dt)
      Add the data type as the first in the list.
      Parameters:
      dt - the dataType to be added.
    • removeDataType

      public void removeDataType(DataType dt)
      Remove the data type from this group.
      Parameters:
      dt - the dataType to remove.
    • removeFirst

      public void removeFirst()
      Remove first data type in the list.
    • removeLast

      public void removeLast()
      Remove the last data type in the list.
    • contains

      public boolean contains(DataType dt)
      Return true if the given data type is in this cycle group.
    • getNextDataType

      public DataType getNextDataType(DataType currentDataType, boolean stackPointers)
      Get next data-type which should be used
      Parameters:
      currentDataType - current data type to which this cycle group is to be applied
      stackPointers - if true and currentDataType is a pointer, the pointer's base type will be cycled
      Returns:
      next data-type