Class RuntimeBreakpoint
A breakpoint as the interpreter has it: a line of a module's source, and the condition a program that reaches it waits on, if it has one.
public sealed record RuntimeBreakpoint : IEquatable<RuntimeBreakpoint>
- Inheritance
-
RuntimeBreakpoint
- Implements
- Inherited Members
Remarks
The condition is a parsed tree and not source text: what a client typed is parsed where the parser is, and only an expression reaches the interpreter.
Constructors
RuntimeBreakpoint(int, ExpressionNode?)
A breakpoint as the interpreter has it: a line of a module's source, and the condition a program that reaches it waits on, if it has one.
public RuntimeBreakpoint(int Line, ExpressionNode? Condition = null)
Parameters
LineintThe zero-based line of the source.
ConditionExpressionNodeThe expression that decides whether the program waits, null when it always does. It is evaluated in the activation that reaches the line, before the instruction there runs, and let-coerced to
Booleanthe way the condition of anIfis (MS-VBAL §5.5.1.2): the program waits when it isTrue, and goes on when it isFalse. A condition that cannot be evaluated - one that raises a run-time error - waits the program all the same, since a breakpoint that is silently passed over is one the person never learns is wrong.
Remarks
The condition is a parsed tree and not source text: what a client typed is parsed where the parser is, and only an expression reaches the interpreter.
Properties
Condition
The expression that decides whether the program waits, null when it always does. It is evaluated in the activation that reaches the line, before
the instruction there runs, and let-coerced to Boolean the way the condition of an If is (MS-VBAL §5.5.1.2): the program waits
when it is True, and goes on when it is False. A condition that cannot be evaluated - one that raises a run-time error - waits the program all the
same, since a breakpoint that is silently passed over is one the person never learns is wrong.
public ExpressionNode? Condition { get; init; }
Property Value
Line
The zero-based line of the source.
public int Line { get; init; }