Class MethodDebugPolicy
java.lang.Object
org.ek9lang.compiler.backend.jvm.support.MethodDebugPolicy
THE debugger step-filter / frame-decoder policy bits carried per generated method by the
Ek9MethodKinds class attribute (C.2). Single source of the bit meanings; the EK9 debug
semantics layer reads these to drive stepping and frame presentation. See
docs/strategic/EK9_DEBUGGER_STRATEGY.md §18.1.
Policy is a bitset, not an enum, because real kinds need orthogonal combinations - e.g.
i_init (holds the user's field-initialiser lines) and a constrained-type guard (a Panic
origin) are skipped by step-over yet must still honour an explicit line breakpoint / exception
unwind.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intAn explicit step-into may land here.static final intPure plumbing: never shown, never a step stop; only an explicit breakpoint may land.static final intAn explicit line breakpoint / exception unwind fires even if the frame is hidden.static final intDecode the mangled owner to its EK9 construct before display.static final intFrame is shown in the stack, not collapsed/hidden.static final intFully steppable and re-presented as its EK9 construct.static final intShown, skipped by step-over, reachable by explicit step-into / breakpoint.static final intA plain step-over may stop here.static final intOrdinary user code: fully steppable, no re-presentation.static final intNumber of defined policy bits; written into the attribute for forward-compatibility. -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanisHideAlways(int policy) TheACC_SYNTHETICgate (C.1): a generated method is marked synthetic iff its policy is exactly hide-always.
-
Field Details
-
SHOW_IN_STACK
public static final int SHOW_IN_STACKFrame is shown in the stack, not collapsed/hidden.- See Also:
-
STOP_ON_STEP_OVER
public static final int STOP_ON_STEP_OVERA plain step-over may stop here.- See Also:
-
ALLOW_STEP_INTO
public static final int ALLOW_STEP_INTOAn explicit step-into may land here.- See Also:
-
HONOUR_EXPLICIT_BP
public static final int HONOUR_EXPLICIT_BPAn explicit line breakpoint / exception unwind fires even if the frame is hidden.- See Also:
-
RE_PRESENT
public static final int RE_PRESENTDecode the mangled owner to its EK9 construct before display.- See Also:
-
WIDTH
public static final int WIDTHNumber of defined policy bits; written into the attribute for forward-compatibility.- See Also:
-
HIDE_ALWAYS
public static final int HIDE_ALWAYSPure plumbing: never shown, never a step stop; only an explicit breakpoint may land.- See Also:
-
STEP_ON_REQUEST
public static final int STEP_ON_REQUESTShown, skipped by step-over, reachable by explicit step-into / breakpoint.- See Also:
-
SHOW_REPRESENTED
public static final int SHOW_REPRESENTEDFully steppable and re-presented as its EK9 construct.- See Also:
-
USER_CODE
public static final int USER_CODEOrdinary user code: fully steppable, no re-presentation.- See Also:
-
-
Method Details
-
isHideAlways
public static boolean isHideAlways(int policy) TheACC_SYNTHETICgate (C.1): a generated method is marked synthetic iff its policy is exactly hide-always. Marking a show-represented kind would make a "skip synthetic" debugger hide the user's own code (strategy §18.4 conclusion 1).
-