Class DefUseInfo

java.lang.Object
com.pnfsoftware.jeb.core.units.code.DefUseInfo
Direct Known Subclasses:
EDefUseInfo

public class DefUseInfo extends Object
Def-use information object provided by instruction for data-flow analysis purposes. Can be subclassed.
  • Field Details

    • FLAG_INCLUDE_POTENTIALS

      public static final int FLAG_INCLUDE_POTENTIALS
      See Also:
    • FLAG_INCLUDE_SPOILED

      public static final int FLAG_INCLUDE_SPOILED
      See Also:
    • CONSERVATIVE

      public static final int CONSERVATIVE
      See Also:
    • insnAddress

      public Long insnAddress
    • def

      public IdRanges def
      verified defines / never null
    • use

      public IdRanges use
      verified uses / never null
    • defpot

      public IdRanges defpot
      potential defines
      may be null (non-null IFF the FLAG_INCLUDE_POTENTIALS flag was set)
      must not intersect def
    • usepot

      public IdRanges usepot
      potential uses
      may be null (non-null IFF the FLAG_INCLUDE_POTENTIALS flag was set)
      must not intersect use
    • spoiled

      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)
  • Constructor Details

    • DefUseInfo

      public DefUseInfo()
    • DefUseInfo

      public DefUseInfo(int flags)
  • Method Details

    • getInstructionAddress

      public Long getInstructionAddress()
    • setInstructionAddress

      public void setInstructionAddress(long addr)
    • clear

      public void clear()
    • shouldCollectPotentials

      public boolean shouldCollectPotentials()
    • shouldCollectSpoiled

      public boolean shouldCollectSpoiled()
    • getDef

      public IdRanges getDef()
    • getUse

      public IdRanges getUse()
    • getDefinedVarIds

      public List<Integer> getDefinedVarIds()
    • getUsedVarIds

      public List<Integer> getUsedVarIds()
    • getPotentiallyDefinedVarIds

      public List<Integer> getPotentiallyDefinedVarIds()
    • getPotentiallyUsedVarIds

      public List<Integer> getPotentiallyUsedVarIds()
    • getSpoiledVarIds

      public List<Integer> getSpoiledVarIds()
    • toString

      public String toString()
      Overrides:
      toString in class Object