# Interface: com.pnfsoftware.jeb.core.units.code.asm.analyzer.INativeCodeModel

Memory model manager for [native code unit](INativeCodeUnit), normally handled by a [code analyzer](INativeCodeAnalyzer).

## Method: getBasicBlockHeader
- parameter: `address`, type: `long`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.cfg.BasicBlock<InsnType>`

Description: 
parameter: address: 
return: 

## Method: getCallGraphManager
- return type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ICallGraphManager`

Description: 
return: 

## Method: getContainedRoutineAddresses
- parameter: `address`, type: `long`
- return type: `java.util.List<java.lang.Long>`

Description: Get the list of routines which contain the instruction at the given address. The address must be the exact address of an instruction. If the address is the routine header or any instruction contained in a routine header block, then the returned list will contain a single element. For other addresses, the returned list may contain more than one address, for cases where a basic block is used among two or more routines. Note that this is not the norm; compiler\-generated code generates routines whose code do not overlap with other routines, for most cases.
parameter: address: 
return: a list, potentially empty

## Method: getReferenceManager
- return type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.IReferenceManager`

Description: 
return: 

## Method: getRoutineAddresses
- return type: `java.util.List<java.lang.Long>`

Description: 
return: 

## Method: isBasicBlockHeader
- parameter: `address`, type: `long`
- return type: `boolean`

Description: 
parameter: address: 
return: 

## Method: isRoutineHeader
- parameter: `address`, type: `long`
- return type: `boolean`

Description: 
parameter: address: 
return: 

