public class

DefUseInfo

extends Object
java.lang.Object
   ↳ com.pnfsoftware.jeb.core.units.code.DefUseInfo
Known Direct Subclasses

Class Overview

Def-use information object provided by instruction for data-flow analysis purposes. Can be subclassed.

Summary

Constants
int CONSERVATIVE
int FLAG_INCLUDE_POTENTIALS
int FLAG_INCLUDE_SPOILED
Fields
public IdRanges def verified defines / never null
public IdRanges defpot potential defines
may be null (non-null IFF the FLAG_INCLUDE_POTENTIALS flag was set)
must not intersect def
public Long insnAddress
public IdRanges spoiled spoiled variables, i.e.
public IdRanges use verified uses / never null
public IdRanges usepot potential uses
may be null (non-null IFF the FLAG_INCLUDE_POTENTIALS flag was set)
must not intersect use
Public Constructors
DefUseInfo()
DefUseInfo(int flags)
Public Methods
void clear()
IdRanges getDef()
List<Integer> getDefinedVarIds()
Long getInstructionAddress()
List<Integer> getPotentiallyDefinedVarIds()
List<Integer> getPotentiallyUsedVarIds()
List<Integer> getSpoiledVarIds()
IdRanges getUse()
List<Integer> getUsedVarIds()
void setInstructionAddress(long addr)
boolean shouldCollectPotentials()
boolean shouldCollectSpoiled()
String toString()
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int CONSERVATIVE

Constant Value: 3 (0x00000003)

public static final int FLAG_INCLUDE_POTENTIALS

Constant Value: 1 (0x00000001)

public static final int FLAG_INCLUDE_SPOILED

Constant Value: 2 (0x00000002)

Fields

public IdRanges def

verified defines / never null

public IdRanges defpot

potential defines
may be null (non-null IFF the FLAG_INCLUDE_POTENTIALS flag was set)
must not intersect def

public Long insnAddress

public IdRanges spoiled

spoiled variables, i.e. vars defined to unusable values a.k.a. collateral writes
may be null (non-null IFF the FLAG_INCLUDE_SPOILED flag was set)

public IdRanges use

verified uses / never null

public IdRanges usepot

potential uses
may be null (non-null IFF the FLAG_INCLUDE_POTENTIALS flag was set)
must not intersect use

Public Constructors

public DefUseInfo ()

public DefUseInfo (int flags)

Public Methods

public void clear ()

public IdRanges getDef ()

public List<Integer> getDefinedVarIds ()

public Long getInstructionAddress ()

public List<Integer> getPotentiallyDefinedVarIds ()

public List<Integer> getPotentiallyUsedVarIds ()

public List<Integer> getSpoiledVarIds ()

public IdRanges getUse ()

public List<Integer> getUsedVarIds ()

public void setInstructionAddress (long addr)

public boolean shouldCollectPotentials ()

public boolean shouldCollectSpoiled ()

public String toString ()