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

Generic interface for CFG's basic block objects.

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

Description: Get the total number of input edges to this block.
return: 

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


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


## Method: get
- parameter: `index`, type: `int`
- return type: `InsnType`

Description: Get the instruction at the specified index.
parameter: index: 
return: 

## Method: getAddressOfInstruction
- parameter: `index`, type: `int`
- return type: `long`


## Method: getAllInputBlocks
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.IBasicBlock<InsnType>>`


## Method: getAllInputs
- return type: `java.lang.Iterable<? extends com.pnfsoftware.jeb.core.units.code.IBasicBlock<InsnType>>`

Description: Retrieve a read\-only iterable of regular and irregular input blocks. 

 NOTE: This method is faster than [#getAllInputBlocks()](#getAllInputBlocks()) since it does not provide a copy of the list.
return: 

## Method: getAllOutputBlocks
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.IBasicBlock<InsnType>>`

Description: Get regular and irregular output blocks.
return: a copy of the list of all output blocks

## Method: getAllOutputs
- return type: `java.lang.Iterable<? extends com.pnfsoftware.jeb.core.units.code.IBasicBlock<InsnType>>`

Description: Retrieve a read\-only iterable of regular and irregular output blocks. 

 NOTE: This method is faster than [#getAllOutputBlocks()](#getAllOutputBlocks()) since it does not provide a copy of the list.
return: 

## Method: getBase
- return type: `long`

Description: Address of first instruction in the block.
return: 

## Method: getEndAddress
- return type: `long`

Description: Address following the last instruction of the block \(ie, last exclusive address\).
return: 

## Method: getFirstAddress
- return type: `long`

Description: Address of first instruction in the block.
return: 

## Method: getIndexOfInstruction
- parameter: `address`, type: `long`
- return type: `int`

Description: 
parameter: address: instruction address
return: \-1 if there is no instruction starting at the provided address

## Method: getInputBlock
- parameter: `index`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.IBasicBlock<InsnType>`

Description: Get a regular input block.
parameter: index: block index
return: a block

## Method: getInputBlocks
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.IBasicBlock<InsnType>>`

Description: Get the regular input blocks.
return: a copy of the list of regular input blocks

## Method: getInputs
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.IBasicBlock<InsnType>>`

Description: Retrieve a read\-only list of input blocks \(regular\). 

 NOTE: This method is faster than [#getInputBlocks()](#getInputBlocks()) since it does not provide a copy of the list.
return: 

## Method: getInstruction
- parameter: `address`, type: `long`
- return type: `InsnType`

Description: Get the instruction located at the exact address.
parameter: address: 
return: 

## Method: getInstructions
- return type: `java.util.List<InsnType>`

Description: Get a copy of the list of instructions that make up this basic block.
return: 

## Method: getIrregularInputBlock
- parameter: `index`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.IBasicBlock<InsnType>`

Description: Get an irregular input block.
parameter: index: block index
return: a block

## Method: getIrregularInputBlocks
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.IBasicBlock<InsnType>>`


## Method: getIrregularInputs
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.IBasicBlock<InsnType>>`

Description: Retrieve a read\-only list of irregular input blocks. 

 NOTE: This method is faster than [#getIrregularInputBlocks()](#getIrregularInputBlocks()) since it does not provide a copy of the list.
return: 

## Method: getIrregularOutputBlock
- parameter: `index`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.IBasicBlock<InsnType>`

Description: Get an irregular output block.
parameter: index: 
return: 

## Method: getIrregularOutputBlocks
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.IBasicBlock<InsnType>>`

Description: Get irregular output blocks.
return: a copy of the list of irregular output blocks

## Method: getIrregularOutputs
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.IBasicBlock<InsnType>>`

Description: Retrieve a read\-only list of irregular output blocks. 

 NOTE: This method is faster than [#getIrregularOutputBlocks()](#getIrregularOutputBlocks()) since it does not provide a copy of the list.
return: 

## Method: getLast
- return type: `InsnType`

Description: Get the last instruction of the block.
return: 

## Method: getLastAddress
- return type: `long`

Description: Address of last instruction in the block.
return: 

## Method: getOutputBlock
- parameter: `index`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.IBasicBlock<InsnType>`

Description: Get a regular output block.
parameter: index: 
return: 

## Method: getOutputBlocks
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.IBasicBlock<InsnType>>`

Description: Get the regular output blocks.
return: a copy of the list of regular output blocks

## Method: getOutputs
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.IBasicBlock<InsnType>>`

Description: Retrieve a read\-only list of output blocks \(regular\). 

 NOTE: This method is faster than [#getOutputBlocks()](#getOutputBlocks()) since it does not provide a copy of the list.
return: 

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


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

Description: Get the number of regular input edges to this block.
return: 

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

Description: Get the number of irregular input edges to this block.
return: 

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


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

Description: Determine if the block has 0 instruction.
return: 

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


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

Description: Get the number of instructions in the block.
return: 

