1 ==============================================================================
2 Release of version 0.60 of NEXT
3 ==============================================================================
8 NEXT - Pseudo class for method redispatch
13 NEXT.pm adds a pseudoclass named C<NEXT> to any program that
14 uses it. If a method C<m> calls C<$self->NEXT::m()>, the call to
15 C<m> is redispatched as if the calling method had not originally
18 In other words, a call to C<$self->NEXT::m()> resumes the
19 depth-first, left-to-right search of parent classes that
20 resulted in the original call to C<m>.
22 Note that this is not the same thing as C<$self->SUPER::m()>, which
23 begins a new dispatch that is restricted to searching the ancestors
24 of the current class. C<$self->NEXT::m()> can backtrack past
25 the current class -- to look for a suitable method in other
26 ancestors of C<$self> -- whereas C<$self->SUPER::m()> cannot.
28 An particularly interesting use of redispatch is in
29 C<AUTOLOAD>'ed methods. If such a method determines that it is
30 not able to handle a particular call, it may choose to
31 redispatch that call, in the hope that some other C<AUTOLOAD>
32 (above it, or to its left) might do better.
34 The module also allows you to specify that multiply inherited
35 methods should only be redispatched once, and what should
36 happen if no redispatch is possible.
41 Damian Conway (damian@conway.org)
46 Copyright (c) 2000-2001, Damian Conway. All Rights Reserved.
47 This module is free software. It may be used, redistributed
48 and/or modified under the same terms as Perl itself.
51 ==============================================================================
53 CHANGES IN VERSION 0.60
56 - Re-re-re-fixed NEXT::UNSEEN bug under diamond inheritance
57 (Note to self: don't code whilst on vacation!)
59 - Implemented and documented EVERY functionality
62 ==============================================================================
66 NEXT has been uploaded to the CPAN
68 ==============================================================================