# Class: com.pnfsoftware.jeb.core.units.code.DefUseInfo

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

## Constructor: DefUseInfo


## Constructor: DefUseInfo
- parameter: `flags`, type: `int`


## Field: def
Type: `com.pnfsoftware.jeb.core.units.code.IdRanges`
Description: verified defines / never null

## Field: defpot
Type: `com.pnfsoftware.jeb.core.units.code.IdRanges`
Description: *potential* defines
 may be null \(non\-null IFF the [#FLAG_INCLUDE_POTENTIALS](#FLAG_INCLUDE_POTENTIALS) flag was set\)
 must not intersect [#def](#def)

## Field: insnAddress
Type: `java.lang.Long`

## Field: spoiled
Type: `com.pnfsoftware.jeb.core.units.code.IdRanges`
Description: *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_INCLUDE_SPOILED) flag was set\)

## Field: use
Type: `com.pnfsoftware.jeb.core.units.code.IdRanges`
Description: verified uses / never null

## Field: usepot
Type: `com.pnfsoftware.jeb.core.units.code.IdRanges`
Description: *potential* uses
 may be null \(non\-null IFF the [#FLAG_INCLUDE_POTENTIALS](#FLAG_INCLUDE_POTENTIALS) flag was set\)
 must not intersect [#use](#use)

## Static Field: CONSERVATIVE
Type: `int`

Constant value: `3`

## Static Field: FLAG_INCLUDE_POTENTIALS
Type: `int`

Constant value: `1`

## Static Field: FLAG_INCLUDE_SPOILED
Type: `int`

Constant value: `2`

## Method: clear


## Method: getDef
- return type: `com.pnfsoftware.jeb.core.units.code.IdRanges`


## Method: getDefinedVarIds
- return type: `java.util.List<java.lang.Integer>`


## Method: getInstructionAddress
- return type: `java.lang.Long`


## Method: getPotentiallyDefinedVarIds
- return type: `java.util.List<java.lang.Integer>`


## Method: getPotentiallyUsedVarIds
- return type: `java.util.List<java.lang.Integer>`


## Method: getSpoiledVarIds
- return type: `java.util.List<java.lang.Integer>`


## Method: getUse
- return type: `com.pnfsoftware.jeb.core.units.code.IdRanges`


## Method: getUsedVarIds
- return type: `java.util.List<java.lang.Integer>`


## Method: setInstructionAddress
- parameter: `addr`, type: `long`


## Method: shouldCollectPotentials
- return type: `boolean`


## Method: shouldCollectSpoiled
- return type: `boolean`


## Method: toString
- return type: `java.lang.String`


