public interface

ICDecompilableElement

implements ICSourceElement
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICDecompilableElement
Known Indirect Subclasses

Class Overview

Top-level C AST interface representing a decompilable element under an ICSource.

Summary

Constants
int STATUS_ERROR
int STATUS_LIMITED
int STATUS_NORMAL
int STATUS_STALE
int STATUS_UNINITIALIZED
Public Methods
abstract boolean addDecompilationNote(String note)
abstract ICDecompilableElement duplicate()
Deep duplication of the element.
abstract String getAddress()
abstract ICClassFactory getClassFactory()
Convenience method.
abstract ICConstantFactory getConstantFactory()
Convenience method.
abstract List<String> getDecompilationNotes()
abstract ICElementFactory getElementFactory()
Convenience method.
abstract ICFieldFactory getFieldFactory()
Convenience method.
abstract int getFlags()
abstract ICGlobalContext getGlobalContext()
abstract int getIndex()
abstract ICMethodFactory getMethodFactory()
Convenience method.
abstract ICOperatorFactory getOperatorFactory()
Convenience method.
abstract int getStatusCode()
Retrieve the status code of this decompilation output, one of STATUS_xxx.
abstract String getStatusMessage()
abstract ICTypeFactory getTypeFactory()
Convenience method.
abstract boolean isExternal()
abstract void reset()
abstract void setStatus(int status, String message)
Set the AST object decompilation status.
abstract void setStatusCode(int status)
Update the status code for this AST.
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICElement
From interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICSourceElement

Constants

public static final int STATUS_ERROR

Constant Value: 2 (0x00000002)

public static final int STATUS_LIMITED

Constant Value: 3 (0x00000003)

public static final int STATUS_NORMAL

Constant Value: 0 (0x00000000)

public static final int STATUS_STALE

Constant Value: 4 (0x00000004)

public static final int STATUS_UNINITIALIZED

Constant Value: 1 (0x00000001)

Public Methods

public abstract boolean addDecompilationNote (String note)

public abstract ICDecompilableElement duplicate ()

Deep duplication of the element. Sub-elements are duplicated.

Note: ICClass, ICMethod, ICField, ICIdentifier, ICConstant, ICType and ICLabel are not duplicated.

public abstract String getAddress ()

public abstract ICClassFactory getClassFactory ()

Convenience method.

public abstract ICConstantFactory getConstantFactory ()

Convenience method.

public abstract List<String> getDecompilationNotes ()

public abstract ICElementFactory getElementFactory ()

Convenience method.

public abstract ICFieldFactory getFieldFactory ()

Convenience method.

public abstract int getFlags ()

public abstract ICGlobalContext getGlobalContext ()

public abstract int getIndex ()

public abstract ICMethodFactory getMethodFactory ()

Convenience method.

public abstract ICOperatorFactory getOperatorFactory ()

Convenience method.

public abstract int getStatusCode ()

Retrieve the status code of this decompilation output, one of STATUS_xxx.

public abstract String getStatusMessage ()

public abstract ICTypeFactory getTypeFactory ()

Convenience method.

public abstract boolean isExternal ()

public abstract void reset ()

public abstract void setStatus (int status, String message)

Set the AST object decompilation status.

This method is used by the decompiler engine to indicate whether the decompilation succeeded. In practice, this means: was the decompiler able to decompile and fill the method body appropriately? Typically, a hard failure results in an empty body. A dependency update results in a stale body (the output is kept as-if, even though it is no longer accurate). The AST renderer uses this flag to add and customize the decompiled output (for instance, add comments to let the user know that the method could not be decompiled)

public abstract void setStatusCode (int status)

Update the status code for this AST.

Parameters
status any of STATUS_xxx