public interface

IDataFlowAnalysis

com.pnfsoftware.jeb.core.units.code.IDataFlowAnalysis<InsnType extends com.pnfsoftware.jeb.core.units.code.IInstruction>
Known Indirect Subclasses

Class Overview

Data flow analysis objects for control flow graphs.

Summary

Public Methods
abstract CFG<InsnType> getCfg()
Retrieve a reference to the CFG object that will be accessed and modified when performing an analysis.
abstract int getVariableCollectionFlags()
Retrieve the variable collection flags.
abstract void invalidate()
Invalidate the analysis.
abstract boolean isConservative()
Convenience method used to determine whether the variable collection flags are CONSERVATIVE.
abstract boolean isValid()
Determine whether the current analysis was performed and is valid.
abstract void perform()
Perform data flow analysis on the CFG.
abstract void setConservative(boolean conservative)
Convenience method used to set or remove CONSERVATIVE variable collection flags.
abstract void setVariableCollectionFlags(int varCollectionFlags)
Set the variable collection flags.

Public Methods

public abstract CFG<InsnType> getCfg ()

Retrieve a reference to the CFG object that will be accessed and modified when performing an analysis.

public abstract int getVariableCollectionFlags ()

Retrieve the variable collection flags.

Returns

public abstract void invalidate ()

Invalidate the analysis. Clients have the responsibility to invalidate an analysis if the CFG was modified in such a way that data flow should be recalculated.

public abstract boolean isConservative ()

Convenience method used to determine whether the variable collection flags are CONSERVATIVE.

public abstract boolean isValid ()

Determine whether the current analysis was performed and is valid.

public abstract void perform ()

Perform data flow analysis on the CFG. Upon return, basic blocks will have their data chains (ud and du, full and simple) set up and accessible.

public abstract void setConservative (boolean conservative)

Convenience method used to set or remove CONSERVATIVE variable collection flags.

public abstract void setVariableCollectionFlags (int varCollectionFlags)

Set the variable collection flags.

Parameters
varCollectionFlags flags, see DefUseInfo