Interface INativeDecompilerContext

All Known Subinterfaces:
INativeDecompilerUnit<InsnType>

@Ser public interface INativeDecompilerContext
Decompiler manager object. The manager is a super-interface of INativeDecompilerUnit and allows the implementation of test decompilers outside of the unit management facility.
  • Method Details

    • getOptions

      DecompilerOptions getOptions()
      Retrieve decompiler options.
      Returns:
      decompiler options
    • getNativeContext

      INativeContext getNativeContext()
      Retrieve the native code context.
      Returns:
      native context
    • getIntermediateContext

      IEGlobalContext getIntermediateContext()
      Retrieve the global IR context.
      Returns:
      the global IR context
    • getGlobalContext

      default IEGlobalContext getGlobalContext()
      Retrieve the global IR context. Identical to getIntermediateContext().
      Returns:
    • getHighLevelContext

      ICGlobalContext getHighLevelContext()
      Retrieve the global high-level C AST context.
      Returns:
      the high-level context
    • getConverter

      IEConverter<?> getConverter()
      Retrieve the native-to-IR converter.
      Returns:
      the converter
    • getTypeManager

      ITypeManager getTypeManager()
      Convenience method.
      Returns:
      the type manager
    • getWildcardTypeManager

      IWildcardTypeManager getWildcardTypeManager()
      Retrieve the wildcard type manager.
      Returns:
      the wildcard type manager
    • getObjectTracker

      INativeObjectTracker getObjectTracker()
      Retrieve the native object tracker.
      Returns:
      the native object tracker
    • getExtensionsManager

      INativeDecompilerExtensionsManager getExtensionsManager()
      Retrieve the extension manager.
      Returns:
      the extension manager
    • createIROptimizer

      IEMasterOptimizer createIROptimizer(IERoutineContext ectx)
      Create an IR optimizer for a routine context.
      Parameters:
      ectx - routine context
      Returns:
      an IR master optimizer
    • createASTOptimizer

      ICMasterOptimizer createASTOptimizer(ICMethod m)
      Create a C AST optimizer for a method.
      Parameters:
      m - C method
      Returns:
      a C AST master optimizer
    • getDecompiledItems

      Collection<IDecompiledItem> getDecompiledItems()
      Retrieve all decompiled items.
      Returns:
      decompiled items
    • getDecompiledItem

      IDecompiledItem getDecompiledItem(String identifier)
      Retrieve a decompiled item by identifier.
      Parameters:
      identifier - item identifier
      Returns:
      the decompiled item, or null if unavailable
    • getDecompiledItem

      IDecompiledItem getDecompiledItem(INativeItem item)
      Retrieve a decompiled item for a native item.
      Parameters:
      item - native item
      Returns:
      the decompiled item, or null if unavailable
    • decompile

      default IDecompiledItem decompile(INativeItem item)
      Decompile a native item.
      Parameters:
      item - native item
      Returns:
      the decompiled item
    • decompile

      Decompile a native item.
      Parameters:
      item - native item
      ctx - decompilation context
      Returns:
      the decompiled item
    • resetDecompilation

      void resetDecompilation(INativeItem item)
      Reset the decompilation result for a native item.
      Parameters:
      item - native item
    • removeDecompilation

      void removeDecompilation(INativeItem item)
      Remove the decompilation result for a native item.
      Parameters:
      item - native item
    • getEngine

      Object getEngine()
      Reserved for internal use. The decompiler engine is currently an opaque component.
      Returns:
      an opaque object
    • onEngineNotification

      void onEngineNotification(Object object)
      Reserved for internal use. The decompiler engine is currently an opaque component.
      Parameters:
      object - an opaque object