# Interface: com.pnfsoftware.jeb.core.units.code.asm.decompiler.INativeDecompilerUnit

Top\-level unit for native decompilers.

## Method: decompileMethodEx
- parameter: `method`, type: `com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem`
- parameter: `ctx`, type: `com.pnfsoftware.jeb.core.units.code.DecompilationContext`
- parameter: `wantedStage`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.NativeDecompilationStage`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.IDecompiledMethod`

Description: Decompile or retrieve the current decompilation object for a method.
parameter: method: native method to decompile
parameter: ctx: decompilation context
parameter: wantedStage: expected pipeline stage
return: the decompiled method object

## Method: decompileToUnit
- parameter: `identifier`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.INativeSourceUnit`


## Method: decompileToUnit
- parameter: `identifier`, type: `java.lang.String`
- parameter: `ctx`, type: `com.pnfsoftware.jeb.core.units.code.DecompilationContext`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.INativeSourceUnit`


## Method: decompileToUnit
- parameter: `item`, type: `com.pnfsoftware.jeb.core.units.code.asm.items.INativeItem`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.INativeSourceUnit`

Description: Decompile a native item into a source unit.
parameter: item: native item to decompile
return: the decompiled source unit

## Method: decompileToUnit
- parameter: `item`, type: `com.pnfsoftware.jeb.core.units.code.asm.items.INativeItem`
- parameter: `ctx`, type: `com.pnfsoftware.jeb.core.units.code.DecompilationContext`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.INativeSourceUnit`

Description: Decompile a native item into a source unit.
parameter: item: native item to decompile
parameter: ctx: decompilation context
return: the decompiled source unit

## Method: getCodeUnit
- return type: `com.pnfsoftware.jeb.core.units.INativeCodeUnit<InsnType>`


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

Description: Retrieve a decompiler\-provided native code converter. The converter provides translation facility from native code to JEB IR objects, called *IRE* \(Intermediate Representation Expressions\). 

 Note: a decompiler object has one and only one code converter.
return: a native\-to\-IR converter

## Method: getDecompiledUnit
- parameter: `identifier`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.INativeSourceUnit`


## Method: getDecompiledUnit
- parameter: `item`, type: `com.pnfsoftware.jeb.core.units.code.asm.items.INativeItem`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.INativeSourceUnit`

Description: Retrieve a decompiled source unit for a native item.
parameter: item: native item whose decompiled source unit should be retrieved
return: the cached decompiled source unit, or null if unavailable

## Method: getExtensionsManager
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.INativeDecompilerExtensionsManager`

Description: Retrieve the native decompiler extension manager.
return: the extension manager

