Package ghidra.program.util

# Class VariableStorageConflicts

java.lang.Object
ghidra.program.util.VariableStorageConflicts

public class VariableStorageConflicts extends Object

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `VariableStorageConflicts(List<Variable> variablesList1, List<Variable> variablesList2, boolean ignoreParamToParamConflicts, TaskMonitor monitor)`
  Construct a VariableStorageConflicts object for the variables contained within two functions.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<Pair<List<Variable>,List<Variable>>>`
  `getOverlappingVariables()`
  `boolean`
  `hasOverlapConflict()`
  `boolean`
  `hasParameterConflict()`
  `boolean`
  `isConflicted(Variable var1, Variable var2)`
  Check to see if either var1 or var2 is contained within the conflicted/overlapping set of variables.

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

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

- ## Constructor Details

  - ### VariableStorageConflicts

    public VariableStorageConflicts(List<Variable> variablesList1, List<Variable> variablesList2, boolean ignoreParamToParamConflicts, TaskMonitor monitor) throws CancelledException
    Construct a VariableStorageConflicts object for the variables contained within two functions.
    Parameters:
      `variablesList1` -
      `variablesList2` -
      `ignoreParamToParamConflicts` - if true param-to-param overlaps will be ignored unless a param-to-local overlap occurs in which case all params will be pulled in to the overlap. If true, it is assumed that the current overlap iteration was initiated by a parameter overlap check.
      `monitor` -
    Throws:
      `CancelledException`

- ## Method Details

  - ### getOverlappingVariables

    public List<Pair<List<Variable>,List<Variable>>> getOverlappingVariables()

  - ### hasOverlapConflict

    public boolean hasOverlapConflict()

  - ### hasParameterConflict

    public boolean hasParameterConflict()

  - ### isConflicted

    public boolean isConflicted(Variable var1, Variable var2)
    Check to see if either var1 or var2 is contained within the conflicted/overlapping set of variables. In general, one of the specified variables should be null.
    Parameters:
      `var1` - a variable which corresponds to function1 at time of construction or null
      `var2` - a variable which corresponds to function2 at time of construction or null
    Returns:
      true if either variable is contained within the conflicted/overlapping set of variables.