Interface ICDecompilableElement
- All Superinterfaces:
ICElement
,ICSourceElement
Top-level C AST interface representing a decompilable element under an
ICSource
.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
static final int
-
Method Summary
Modifier and TypeMethodDescriptionboolean
addDecompilationNote
(String note) Deep duplication of the element.default ICClassFactory
Convenience method.default ICConstantFactory
Convenience method.default ICElementFactory
Convenience method.default ICFieldFactory
Convenience method.int
getFlags()
int
getIndex()
default ICMethodFactory
Convenience method.default ICOperatorFactory
Convenience method.int
Retrieve the status code of this decompilation output, one ofSTATUS_xxx
.default ICTypeFactory
Convenience method.boolean
void
reset()
void
Set the AST object decompilation status.void
setStatusCode
(int status) Update the status code for this AST.Methods inherited from interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICElement
addPhysicalOffset, addPhysicalOffsets, evaluate, format, generate, getData, getElementType, getPhysicalOffset, getPhysicalOffsets, getSubElements, replaceSubElement, setData, setPhysicalOffsets, toString, visitDepthPost, visitDepthPost, visitDepthPost, visitDepthPre, visitDepthPre, visitDepthPre
-
Field Details
-
STATUS_NORMAL
static final int STATUS_NORMAL- See Also:
-
STATUS_UNINITIALIZED
static final int STATUS_UNINITIALIZED- See Also:
-
STATUS_ERROR
static final int STATUS_ERROR- See Also:
-
STATUS_LIMITED
static final int STATUS_LIMITED- See Also:
-
STATUS_STALE
static final int STATUS_STALE- See Also:
-
-
Method Details
-
getAddress
String getAddress() -
reset
void reset() -
isExternal
boolean isExternal() -
getIndex
int getIndex() -
getFlags
int getFlags() -
setStatus
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)
- Parameters:
status
-message
-
-
setStatusCode
void setStatusCode(int status) Update the status code for this AST.- Parameters:
status
- any ofSTATUS_xxx
-
getStatusCode
int getStatusCode()Retrieve the status code of this decompilation output, one ofSTATUS_xxx
.- Returns:
-
getStatusMessage
String getStatusMessage() -
getGlobalContext
ICGlobalContext getGlobalContext() -
getFieldFactory
Convenience method.- Returns:
-
getMethodFactory
Convenience method.- Returns:
-
getClassFactory
Convenience method.- Returns:
-
getTypeFactory
Convenience method.- Returns:
-
getConstantFactory
Convenience method.- Returns:
-
getOperatorFactory
Convenience method.- Returns:
-
getElementFactory
Convenience method.- Returns:
-
addDecompilationNote
- Parameters:
note
-- Returns:
-
getDecompilationNotes
- Returns:
-
duplicate
ICDecompilableElement duplicate()Description copied from interface:ICElement
Deep duplication of the element. Sub-elements are duplicated.Note:
ICClass
,ICMethod
,ICField
,ICIdentifier
,ICConstant
,ICType
andICLabel
are not duplicated.- Specified by:
duplicate
in interfaceICElement
- Specified by:
duplicate
in interfaceICSourceElement
-