Package ghidra.app.cmd.data

# Class CreateDataInStructureCmd

java.lang.Object
ghidra.app.cmd.data.CreateDataInStructureCmd

All Implemented Interfaces:
  `Command<Program>`

public class CreateDataInStructureCmd extends Object implements Command<Program>
Command to Create data inside of a structure.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CreateDataInStructureCmd(Address addr, int[] componentPath, DataType dt)`
  Constructs a new command for creating data inside a structure.
  `CreateDataInStructureCmd(Address addr, int[] componentPath, DataType dt, boolean stackPointers)`
  This is the same as `CreateDataInStructureCmd(Address, int[], DataType)` except that it allows the caller to control whether or not a pointer data type is created when a non-pointer data type is applied at a location that previously contained a pointer data type.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `applyTo(Program program)`
  Applies the command to the given domain object.
  `String`
  `getName()`
  Returns the name of this command.
  `String`
  `getStatusMsg()`
  Returns the status message indicating the status of the command.

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

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

- ## Constructor Details

  - ### CreateDataInStructureCmd

    public CreateDataInStructureCmd(Address addr, int[] componentPath, DataType dt)
    Constructs a new command for creating data inside a structure. Simple pointer conversion will NOT be performed.
    Parameters:
      `addr` - the address of the structure in which to apply the given datatype.
      `componentPath` - the component path of the component where the datatype will be applied.
      `dt` - the datatype to apply in the structure.

  - ### CreateDataInStructureCmd

    public CreateDataInStructureCmd(Address addr, int[] componentPath, DataType dt, boolean stackPointers)
    This is the same as `CreateDataInStructureCmd(Address, int[], DataType)` except that it allows the caller to control whether or not a pointer data type is created when a non-pointer data type is applied at a location that previously contained a pointer data type.
    Parameters:
      `addr` - the address of the structure in which to apply the given datatype.
      `componentPath` - the component path of the component where the datatype will be applied.
      `dt` - the datatype to apply in the structure.
      `stackPointers` - if true simple pointer conversion is enabled (see `DataUtilities.reconcileAppliedDataType(DataType, DataType, boolean)`).

- ## Method Details

  - ### applyTo

    public boolean applyTo(Program program)
    Description copied from interface: `Command`
    Applies the command to the given domain object.
    Specified by:
      `applyTo` in interface `Command<Program>`
    Parameters:
      `program` - domain object that this command is to be applied.
    Returns:
      true if the command applied successfully

  - ### getStatusMsg

    public String getStatusMsg()
    Description copied from interface: `Command`
    Returns the status message indicating the status of the command.
    Specified by:
      `getStatusMsg` in interface `Command<Program>`
    Returns:
      reason for failure, or null if the status of the command was successful

  - ### getName

    public String getName()
    Description copied from interface: `Command`
    Returns the name of this command.
    Specified by:
      `getName` in interface `Command<Program>`
    Returns:
      the name of this command