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

Interface for the extensions manager of the [INativeCodeAnalyzer](INativeCodeAnalyzer). This manager should be instantiated from the analyzer in question. 

 Extensions implement [INativeCodeAnalyzerExtension](INativeCodeAnalyzerExtension), as does the manager. For each method of this interface, the manager asks extensions in the order of their priority \(see [ExtensionPriority](ExtensionPriority)\), and each of them can provide a final result, or let the following extensions be asked \(see [ChainedOperationResult](ChainedOperationResult)\). 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).

## 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

## 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

## 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.

