public interface

INativeDecompilerUnit

implements IDecompilerUnit
com.pnfsoftware.jeb.core.units.code.asm.decompiler.INativeDecompilerUnit<InsnType extends com.pnfsoftware.jeb.core.units.code.IInstruction>

Summary

Public Methods
abstract INativeSourceUnit decompile(String identifier)
Retrieve a decompiled unit or perform a decompilation.
abstract INativeSourceUnit decompile(String identifier, TargetProperties properties)
Extended version of decompile(String).
abstract INativeSourceUnit decompileMethod(INativeMethodItem method)
Decompile a method and return the source unit representing the method.
abstract INativeDecompilationTarget decompileMethod(INativeMethodItem method, boolean decompile, NativeDecompilationStage wantedStage, TargetProperties properties)
Decompile or retrieve the current decompilation object for a method.
abstract INativeCodeUnit<InsnType> getCodeUnit()
Get the code unit (possibly the parent, possibly null) that is providing the low-level data to this decompiler.
abstract IEConverter<InsnType> getConverter()
Retrieve a decompiler-provided native code converter.
abstract INativeSourceUnit getDecompiledUnit(String identifier)
Retrieve the unit representing the decompiled entity at the provided identifier/address.
abstract INativeDecompilerExtensionsManager getExtensionsManager()
abstract List<? extends IEOptimizerInfo> getOnDemandIROptimizers(String identifier)
Retrieve a list of on-demand optimizers that can be enabled or disabled for this decompiler.
abstract ITypeManager getTypeManager()
Convenience method.
abstract IWildcardTypeManager getWildcardTypeManager()
Convenience method.
abstract void resetDecompilation(String identifier, boolean reDecompile)
Reset a given decompilation.
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.core.IUnitCreator
From interface com.pnfsoftware.jeb.core.units.IAddressableUnit
From interface com.pnfsoftware.jeb.core.units.IInteractiveUnit
From interface com.pnfsoftware.jeb.core.units.IUnit
From interface com.pnfsoftware.jeb.core.units.code.IDecompilerUnit
From interface com.pnfsoftware.jeb.util.events.IEventSource

Public Methods

public abstract INativeSourceUnit decompile (String identifier)

Retrieve a decompiled unit or perform a decompilation.

Parameters
identifier the identifier or address at which the decompilation should be performed
Returns
  • the source unit

public abstract INativeSourceUnit decompile (String identifier, TargetProperties properties)

Extended version of decompile(String).

Parameters
properties optional properties

public abstract INativeSourceUnit decompileMethod (INativeMethodItem method)

Decompile a method and return the source unit representing the method.

public abstract INativeDecompilationTarget decompileMethod (INativeMethodItem method, boolean decompile, NativeDecompilationStage wantedStage, TargetProperties properties)

Decompile or retrieve the current decompilation object for a method.

public abstract INativeCodeUnit<InsnType> getCodeUnit ()

Get the code unit (possibly the parent, possibly null) that is providing the low-level data to this decompiler.

Returns
  • a code unit, possibly null

public abstract IEConverter<InsnType> getConverter ()

Retrieve a decompiler-provided native code converter. The converter provides translation facility from native code to JEB IR objects, called IRE (Intermediate Representation Expressions), see documentation here.

Note: a decompiler object has one and only one code converter.

Returns
  • a native-to-IR converter

public abstract INativeSourceUnit getDecompiledUnit (String identifier)

Retrieve the unit representing the decompiled entity at the provided identifier/address. No decompilation is performed.

Parameters
identifier the identifier or address
Returns
  • the unit or null, if no decompilation at the provided identifier previously took place

public abstract INativeDecompilerExtensionsManager getExtensionsManager ()

public abstract List<? extends IEOptimizerInfo> getOnDemandIROptimizers (String identifier)

Retrieve a list of on-demand optimizers that can be enabled or disabled for this decompiler. Note that the client is responsible for re-decompiling, if optimizers were enabled or disabled.

public abstract ITypeManager getTypeManager ()

Convenience method.

public abstract IWildcardTypeManager getWildcardTypeManager ()

Convenience method.

public abstract void resetDecompilation (String identifier, boolean reDecompile)

Reset a given decompilation.