# Interface: com.pnfsoftware.jeb.core.units.code.asm.analyzer.INativeCodeAnalyzerExtensionsManager
- Type Parameter: InsnType extends `com.pnfsoftware.jeb.core.units.code.IInstruction`

- Super interfaces: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.INativeCodeAnalyzerExtension<InsnType>`

Interface for the extensions manager of the [INativeCodeAnalyzer](com.pnfsoftware.jeb.core.units.code.asm.analyzer.INativeCodeAnalyzer.md). This manager should be  instantiated from the analyzer in question.  

  Extensions implement [INativeCodeAnalyzerExtension](com.pnfsoftware.jeb.core.units.code.asm.analyzer.INativeCodeAnalyzerExtension.md), as does the manager. For each method  of this interface, the manager asks extensions in the order of their priority \(see  [ExtensionPriority](com.pnfsoftware.jeb.core.units.code.asm.analyzer.INativeCodeAnalyzerExtensionsManager.ExtensionPriority.md)\), and each of them can provide a final result, or let the following  extensions be asked \(see [ChainedOperationResult](com.pnfsoftware.jeb.core.units.code.asm.ChainedOperationResult.md)\). For now we do not attempt to  merge conflicting results; the last extension to have provided a meaningful result has the final  word.  

  For now, clients can only register extensions; those extensions can have priority over the  default extensions if they are registered with [ExtensionPriority#HIGH_PRIORITY](ExtensionPriority#HIGH_PRIORITY).

## Abstract Method: registerExtension
- parameter: `ext`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.INativeCodeAnalyzerExtension<InsnType>`

Description: Register an extension with a [ExtensionPriority#MEDIUM_PRIORITY](ExtensionPriority#MEDIUM_PRIORITY). The extension will be  initialized.
parameter: ext: extension to register

## Abstract Method: registerExtension
- parameter: `ext`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.INativeCodeAnalyzerExtension<InsnType>`
- parameter: `priority`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.INativeCodeAnalyzerExtensionsManager.ExtensionPriority`

Description: Register an extension with the given priority. The extension will be initialized.
parameter: ext: extension to register
parameter: priority: extension priority

## Abstract Method: registerExtensions
- parameter: `listExt`, type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.analyzer.INativeCodeAnalyzerExtension<InsnType>>`
- parameter: `removePreviousExtensions`, type: `boolean`

Description: Register a list of extensions with a [ExtensionPriority#MEDIUM_PRIORITY](ExtensionPriority#MEDIUM_PRIORITY). The  extensions will be initialized.
parameter: listExt: extensions to register
parameter: removePreviousExtensions: if true the currently registered extensions are removed             before adding the new ones.

