# Interface: com.pnfsoftware.jeb.core.units.code.asm.INativeDecompilerPlugin

Definition of a native decompiler plugin. Decompiler plugins should implement [AbstractNativeDecompilerPlugin](AbstractNativeDecompilerPlugin).

## Method: getConverter
- parameter: `unit`, type: `com.pnfsoftware.jeb.core.units.INativeCodeUnit<InsnType>`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.IEConverter<InsnType>`

Description: Create or retrieve the native\-to\-IR converter used by this plugin.
parameter: unit: native code unit to decompile
return: converter instance

## Method: getGlobalAnalyzer
- parameter: `decompiler`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.INativeDecompilerUnit<InsnType>`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.IGlobalAnalyzer`

Description: Provide an optional global analyzer provided by this plugin.
parameter: decompiler: decompiler unit requesting the analyzer
return: optional global analyzer, or null

## Method: getPrimaryExtension
- parameter: `decompiler`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.INativeDecompilerUnit<InsnType>`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.INativeDecompilerExtension`

Description: A decompiler plugin may provide a primary decompiler extension. The extension manager, owned by the decompiler unit, may contain any number of extensions \(0, 1, 2, more\) provided by third\-party source \(extensions are first\-class plugins\). If the decompiler plugin provides an extension, it will be registered first with a high\-priority level.
parameter: decompiler: decompiler unit that owns the extension
return: an optional, primary decompiler extension

## Method: getSourceCustomizer
- parameter: `decompiler`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.INativeDecompilerUnit<InsnType>`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ISourceCustomizer`

Description: Provide an optional pseudo\-C source code customizer.
parameter: decompiler: decompiler unit requesting the customizer
return: optional source customizer, or null

