Class DebugDirective

java.lang.Object
org.ek9lang.compiler.directives.ResolutionDirective
org.ek9lang.compiler.directives.DebugDirective
All Implemented Interfaces:
Directive

public class DebugDirective extends ResolutionDirective
To be used in EK9 source code to assert that ONE slice of the generated debug information for a construct matches expectations. Finer-grained than @BYTECODE: it keeps a single javap section (a DebugAspect) rather than the whole class, so a debug-info defect is localised to the aspect that owns it.
@DEBUG: CODE_GENERATION_AGGREGATES: LOCALS: "some.module::Example": `
      LocalVariableTable:
        Start  Length  Slot  Name   Signature
            0     122     1 stdout   Lorg/ek9/lang/Stdout;
`
Resolution is by NAME (like @BYTECODE) — the symbol category is irrelevant, so it is not asserted; the DirectiveSpec's category is a neutral placeholder. See docs/strategic/SPEC-agentic-debugger.md §9.2.
  • Constructor Details

    • DebugDirective

      public DebugDirective(DirectiveSpec spec, DebugAspect aspect)
      A new debug-info validation directive. The symbol name identifies the construct; the additional name (from the spec) carries the expected normalised section content.
  • Method Details