# Interface: com.pnfsoftware.jeb.core.units.code.IFlowInformation

Information relative to execution flow changes. Flow changes are important objects used to determine boundaries of basic blocks in a CFG.

## Method: getDelaySlotCount
- return type: `int`

Description: Get the number of instructions in the delay slot.
return: number of instructions in delay slot

## Method: getTargets
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.ICodePointer>`

Description: Get the a list of targets. Be careful, this list does not include the fall\-through target if it is implied \(eg, when flow\-info is returned by [IInstruction#getRoutineCall](IInstruction#getRoutineCall)\) or when its calculation was requested dynamically \(via [#mustComputeFallThrough()](#mustComputeFallThrough())\).
return: the list of addresses that must be checked, possibly empty. A null value signifies         no\-flow information.

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

Description: Determine if this object does contain flow information.
return: true is the flow is broken \(eg, generic branch\)

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

Description: Determine if this object does contain flow information and **all** targets are known.
return: true if the flow is broken and all targets are known

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

Description: Determine if this object does contain flow information but has **no** known targets. 

 IMPORTANT: if this flow info object is mixed \(it specifies having unknown target\(s\), and also bears known targets\), this method returns false.
return: true if the flow is broken but no targets are known

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

Description: Indicate if the flow information includes a fall\-through address \(relative to the current instruction\) that is **not present in the FlowInfo object itself**. If this method returns true, the caller must dynamically calculate the fall\-through address itself. 

 Note that the creator of a flowinfo object may decide to add the fall\-through \(if any\) in the flowinfo object target list. However, in some cases, such as branching instructions with delay slot\(s\), it is simpler to indicate that the branching instruction allows a fall\-through flow, but that it should be computed by the client/user, instead of stored or computed by the flowinfo object.
return: true if the flowinfo object does not include a fall\-through address, false otherwise

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

Description: Indicate whether this flow information forbids the implicit calculation of a fall\-through edge. \(A fall\-through may be explicitly specified as a [target](#getTargets()), regardless.\)
return: true if the flowinfo specifies no fall\-through

