Packages

class TextDecompiler[F[_]] extends Decompiler[F]

A decompiler from binary format, that formats into the text representation.

This decompiler requires a valid module (validation is performed by the decompiler) to be able to work. It uses the fact that all types are valid to smartly use the folded syntax for all operators and function calls.

This decompiler also takes advantage of the custom name section if present to add identifier to the output.

Source
TextDecompiler.scala
Linear Supertypes
Decompiler[F], ModuleLoader[F], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TextDecompiler
  2. Decompiler
  3. ModuleLoader
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. def decompile(sections: Stream[F, Section]): F[Doc]

    Returns a pretty-printed Doc resulting from decompiling the module at the given section stream.

    Returns a pretty-printed Doc resulting from decompiling the module at the given section stream.

    The module is not validated so invalid modules can also be decompiled.

    Definition Classes
    TextDecompilerDecompiler
  2. def decompileBytes(bytes: Stream[F, Byte]): F[Doc]

    Returns a pretty-printed Doc resulting from decompiling the module at the given bytes.

    Returns a pretty-printed Doc resulting from decompiling the module at the given bytes.

    The module is not validated so invalid modules can also be decompiled.

    Definition Classes
    Decompiler
  3. def decompileModule(sections: Stream[F, Section]): F[(Module, Map[Index, FuncType])]

    Decompiles to an unresolved text module.

  4. def decompilePath(path: Path, blocker: Blocker, chunkSize: Int = 1024)(implicit cs: ContextShift[F]): F[Doc]

    Returns a pretty-printed Doc resulting from decompiling the module at the given path.

    Returns a pretty-printed Doc resulting from decompiling the module at the given path.

    The module is not validated so invalid modules can also be decompiled.

    Definition Classes
    Decompiler
  5. def sections(bytes: Stream[F, Byte]): Stream[F, Section]

    Reads a binary module from the given bytes.

    Reads a binary module from the given bytes.

    Definition Classes
    ModuleLoader
  6. def sections(path: Path, blocker: Blocker, chunkSize: Int = 1024)(implicit cs: ContextShift[F]): Stream[F, Section]

    Reads a binary module from the given path.

    Reads a binary module from the given path.

    Definition Classes
    ModuleLoader