Interface ICDecompilableElement

All Superinterfaces:
ICElement, ICSourceElement
All Known Subinterfaces:
ICClass, ICField, ICMethod

@Ser public interface ICDecompilableElement extends ICSourceElement
Top-level C AST interface representing a decompilable element under an ICSource.
  • Field Details

  • Method Details

    • getAddress

      String getAddress()
    • reset

      void reset()
    • isExternal

      boolean isExternal()
    • getIndex

      int getIndex()
    • getFlags

      int getFlags()
    • setStatus

      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)

      Parameters:
      status -
      message -
    • setStatusCode

      void setStatusCode(int status)
      Update the status code for this AST.
      Parameters:
      status - any of STATUS_xxx
    • getStatusCode

      int getStatusCode()
      Retrieve the status code of this decompilation output, one of STATUS_xxx.
      Returns:
    • getStatusMessage

      String getStatusMessage()
    • getGlobalContext

      ICGlobalContext getGlobalContext()
    • getFieldFactory

      default ICFieldFactory getFieldFactory()
      Convenience method.
      Returns:
    • getMethodFactory

      default ICMethodFactory getMethodFactory()
      Convenience method.
      Returns:
    • getClassFactory

      default ICClassFactory getClassFactory()
      Convenience method.
      Returns:
    • getTypeFactory

      default ICTypeFactory getTypeFactory()
      Convenience method.
      Returns:
    • getConstantFactory

      default ICConstantFactory getConstantFactory()
      Convenience method.
      Returns:
    • getOperatorFactory

      default ICOperatorFactory getOperatorFactory()
      Convenience method.
      Returns:
    • getElementFactory

      default ICElementFactory getElementFactory()
      Convenience method.
      Returns:
    • addDecompilationNote

      boolean addDecompilationNote(String note)
      Parameters:
      note -
      Returns:
    • getDecompilationNotes

      List<String> getDecompilationNotes()
      Returns:
    • duplicate

      Description copied from interface: ICElement
      Deep duplication of the element. Sub-elements are duplicated.

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

      Specified by:
      duplicate in interface ICElement
      Specified by:
      duplicate in interface ICSourceElement