=begin pod

=TITLE class Backtrace

=SUBTITLE Snapshot of the dynamic call stack

    class Backtrace is List { ... }

A backtrace shows the dynamic call stack, usually leading up to a point
where an exception was thrown.

It is a List of L<Backtrace::Frame> objects. Its default stringification
excludes backtrace frames that are deemed unnecessary or confusing, for
example routines like C<&die> are hidden by default.

=head1 Methods

=head2 method new

Defined as:

    proto method new(*@, *%) {*}
    multi method new()

Usage:

    $backtrace = Backtrace.new

Creates a new backtrace, using its calling location as the origin of the
backtrace.

=head2 method Str

Defined as:

    multi method Str(Backtrace:D:) returns Str:D:

Usage:

    BACKTRACE.Str

Returns a concise string representation of the backtrace, omitting
routines marked as C<is hidden-from-backtrace>, and at the discretion of
the implementor, also some routines from the setting.

=head2 method full

Defined as:

    multi method full(Backtrace:D:) returns Str:D:

Usage:

    BACKTRACE.full

Returns a full string representation of the backtrace, including hidden
frames, compiler-specific frames and those from the setting.

=end pod
