public interface

IDecompilerUnit

implements IInteractiveUnit
com.pnfsoftware.jeb.core.units.code.IDecompilerUnit
Known Indirect Subclasses

Class Overview

Generic interface for decompilers.

Summary

Public Methods
abstract boolean canDecompile(String identifier)
Determine if a decompilation at the provided identifier/address has a chance to succeed.
abstract ISourceUnit decompile(String identifier)
Retrieve a decompiled unit or perform a decompilation.
abstract boolean decompileClass(String identifier)
Decompile a class.
abstract boolean decompileField(String identifier)
Decompiler a field.
abstract boolean decompileMethod(String identifier)
Decompile a method.
abstract ICodeUnit getCodeUnit()
Get the code unit (possibly the parent, possibly null) that is providing the low-level data to this decompiler.
abstract ISourceUnit getDecompiledUnit(String identifier)
Retrieve the unit representing the decompiled entity at the provided identifier/address.
abstract List<String> getInferredTypes(String msig, int moff, int varindex)
Do not use.
abstract DecompilerOutputType getOutputType()
Get the type of output produced by this decompiler.
[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.util.events.IEventSource

Public Methods

public abstract boolean canDecompile (String identifier)

Determine if a decompilation at the provided identifier/address has a chance to succeed. A positive result may result in a valid decompilation; a negative result will always result in an invalid/impossible decompilation.

public abstract ISourceUnit 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 boolean decompileClass (String identifier)

Decompile a class.

Parameters
identifier class identifier
Returns
  • success indicator

public abstract boolean decompileField (String identifier)

Decompiler a field.

Parameters
identifier field identifier
Returns
  • success indicator

public abstract boolean decompileMethod (String identifier)

Decompile a method.

Parameters
identifier method identifier
Returns
  • success indicator

public abstract ICodeUnit 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 ISourceUnit 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 List<String> getInferredTypes (String msig, int moff, int varindex)

Do not use.

public abstract DecompilerOutputType getOutputType ()

Get the type of output produced by this decompiler.

Returns
  • the unit (newly created or retrieved) or null if no decompilation could be performed