Class BytecodeDisassembler

java.lang.Object
com.helix.cli.repl.BytecodeDisassembler

public class BytecodeDisassembler extends Object
Disassembles compiled JVM bytecode into human-readable HotSpot assembly representation matching javap -v output, powered by ASM's TraceClassVisitor.
  • Constructor Details

    • BytecodeDisassembler

      public BytecodeDisassembler()
  • Method Details

    • disassemble

      public String disassemble(byte[] classBytes)
      Disassembles raw JVM class bytecode into readable assembly output.
      Parameters:
      classBytes - compiled JVM class bytecode
      Returns:
      disassembled textual bytecode matching javap format
    • disassembleExpression

      public String disassembleExpression(String expression)
      Compiles an expression using ASM and disassembles the generated class bytecode.
      Parameters:
      expression - rule expression text
      Returns:
      disassembled textual bytecode
    • disassembleExpression

      public String disassembleExpression(String expression, boolean debug)
      Compiles an expression using ASM with optional debug instrumentation and disassembles bytecode.
      Parameters:
      expression - rule expression text
      debug - whether debug probes are injected
      Returns:
      disassembled textual bytecode
    • disassembleRule

      public String disassembleRule(Rule rule, ExpressionNode ast)
      Compiles a RuleNode and disassembles the generated class bytecode.
      Parameters:
      rule - rule definition with AST
      Returns:
      disassembled textual bytecode
    • colorize

      public String colorize(String rawDisassembly)
      Colorizes disassembled bytecode lines for high-readability terminal presentation.
      Parameters:
      rawDisassembly - raw text from TraceClassVisitor
      Returns:
      colorized ANSI string