public class

DefUseInfo

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

Summary

Constants
int CONSERVATIVE
int FLAG_INCLUDE_POTENTIALS
int FLAG_INCLUDE_SPOILED
Fields
protected IdRanges def verified defines / never null
protected IdRanges defpot potential defines
may be null (non-null IFF the FLAG_INCLUDE_POTENTIALS flag was set)
must not intersect def
protected Long insnAddress
protected IdRanges spoiled spoiled variables, i.e.
protected IdRanges use verified uses / never null
protected 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()
[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

protected IdRanges def

verified defines / never null

protected IdRanges defpot

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

protected Long insnAddress

protected 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)

protected IdRanges use

verified uses / never null

protected 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 ()