# Interface: com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IEBranchDetails

Describe the side effects of a raw PC assignment. Branch\-details are used as a placeholder until a [IECall](IECall) resolution is successful. They are also used for non "call\-to\-sub" PC\-assignments, to specify additional targets, e.g., potential targets of an indirect intra\-procedural jump.

## Method: addCandidate
- parameter: `candidate`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.IBranchTarget`
- return type: `boolean`

Description: 
parameter: candidate: 
return: true if the object was modified

## Method: addCandidate
- parameter: `index`, type: `int`
- parameter: `candidate`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.IBranchTarget`
- return type: `boolean`

Description: 
parameter: index: 
parameter: candidate: 
return: true if the object was modified

## Method: addCandidates
- parameter: `candidates`, type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.asm.analyzer.IBranchTarget>`
- return type: `boolean`

Description: 
parameter: candidates: 
return: true if the object was modified

## Method: getDef
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IEVar>`

Description: Retrieve the list of defines.
return: a read\-only list

## Method: getDynamicTargetCandidates
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.analyzer.IBranchTarget>`

Description: Retrieve the list of possible branch targets \(may be N/A for the owner PC\-assign\).
return: a read\-only list

## Method: getNativePrototypeHint
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.IPrototypeItem`

Description: 
return: optional hint \(if not null, the returned prototype should not be directly modified\)

## Method: getPreInvocationDetails
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.PreRoutineInvocationDetails`

Description: Get the pre\-invocation details object, if one was set.
return: may be null

## Method: getSpoiled
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IEVar>`

Description: Retrieve the list of spoiled variables.
return: a read\-only list

## Method: getStackPointerDelta
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.SPDC`

Description: Convenience method.
return: 

## Method: getStackPointerDeltaDeterminer
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.SPDDeterminer`


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

Description: Convenience method.
return: 

## Method: getUse
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IEVar>`

Description: Retrieve the list of uses.
return: a read\-only list

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

Description: 
return: 

## Method: setIncludeUnknownTarget
- parameter: `includeUnknownTarget`, type: `boolean`
- return type: `boolean`

Description: 
parameter: includeUnknownTarget: 
return: true if the object was modified

## Method: setNativePrototypeHint
- parameter: `nativePrototypeHint`, type: `com.pnfsoftware.jeb.core.units.code.asm.type.IPrototypeItem`
- return type: `boolean`

Description: 
parameter: nativePrototypeHint: 
return: true if the object was modified

## Method: setPreInvocationDetails
- parameter: `preInvocationDetails`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.PreRoutineInvocationDetails`
- return type: `boolean`

Description: Set the optional pre\-invocation details object.
parameter: preInvocationDetails: 
return: true if the object was modified

