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 Link icon

    • BYTE_CYCLE_GROUP Link icon

      public static final CycleGroup BYTE_CYCLE_GROUP
    • FLOAT_CYCLE_GROUP Link icon

      public static final CycleGroup FLOAT_CYCLE_GROUP
    • STRING_CYCLE_GROUP Link icon

      public static final CycleGroup STRING_CYCLE_GROUP
    • ALL_CYCLE_GROUPS Link icon

      public static final List<CycleGroup> ALL_CYCLE_GROUPS
    • defaultKeyStroke Link icon

      protected KeyStroke defaultKeyStroke
  • Constructor Details Link icon

    • CycleGroup Link icon

      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 Link icon

      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 Link icon

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

    • getDataTypes Link icon

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

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

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

      public KeyStroke getDefaultKeyStroke()
    • addDataType Link icon

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

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

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

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

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

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

      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