Class HostStackFrame
One activation of a procedure.
public record HostStackFrame : IEquatable<HostStackFrame>
- Inheritance
-
HostStackFrame
- Implements
- Inherited Members
Constructors
HostStackFrame(int, string, string, int, int, IReadOnlyList<int>?, string?)
One activation of a procedure.
public HostStackFrame(int Id, string Procedure, string Module, int Line, int Character, IReadOnlyList<int>? ReturnLines = null, string? Handler = null)
Parameters
IdintIts place on the stack, with
0the innermost: what the requests that are about a frame name it by, for as long as the program waits.ProcedurestringThe procedure's name.
ModulestringThe name of the module that declares it.
LineintThe zero-based line of the statement the activation is at: the one it waits before for the innermost, the one that is calling for the others.
-1when it is not known.CharacterintThe zero-based column of that statement, or
-1.ReturnLinesIReadOnlyList<int>The zero-based lines of the
GoSubstatements this activation has notReturned from, innermost first: how it got to the line it is at. It is the GoSub Resumption List of the activation (MS-VBAL 5.4.2.14), and is empty - and so says nothing - for the code that does not useGoSub.HandlerstringThe label of the error handler this activation is running, when an error was caught by an
On Error GoToand the handler has not been left with aResume(MS-VBAL 5.4.4); null otherwise. The error itself is in the error metadata of the session, not here.
Properties
Character
The zero-based column of that statement, or -1.
public int Character { get; init; }
Property Value
Handler
The label of the error handler this activation is running, when an error was caught by an On Error GoTo and the handler has not been left with a
Resume (MS-VBAL 5.4.4); null otherwise. The error itself is in the error metadata of the session, not here.
public string? Handler { get; init; }
Property Value
Id
Its place on the stack, with 0 the innermost: what the requests that are about a frame name it by, for as long as the program waits.
public int Id { get; init; }
Property Value
Line
The zero-based line of the statement the activation is at: the one it waits before for the innermost, the one that is calling for the others. -1 when it is not known.
public int Line { get; init; }
Property Value
Module
The name of the module that declares it.
public string Module { get; init; }
Property Value
Procedure
The procedure's name.
public string Procedure { get; init; }
Property Value
ReturnLines
The lines of the GoSub statements this activation will return to; none for a procedure that is not in one.
public IReadOnlyList<int> ReturnLines { get; init; }