D4rtCallStack class

The stack itself, one per run.

Two parallel lists rather than a list of frame objects, because enter runs on every interpreted call and the frame object is only worth building when an error actually escapes.

Constructors

D4rtCallStack(D4rtFrameLocator _locate)

Properties

current ↔ Object?
The statement the innermost frame is executing. Set by the interpreter before each statement; restored to the call site when a call returns.
getter/setter pair
depth → int
How deep the interpreted stack is.
no setter
hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

enter(String member) → void
A call to member begins; the caller is at current.
exit() → void
The innermost call ends, normally or not; the caller resumes at the statement that made it.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
recordEscape(Object? error) → void
error is leaving the innermost call. The first call it leaves is the one that knows where it was raised, so only that one records.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

traceOf(Object? error) → List<D4rtStackFrame>
The interpreted frames error left, innermost first — empty when it left none (raised outside any interpreted call, or a value no trace can be attached to).