• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

t/03-Oct-2014-246178

ChangesD05-Feb-20051.4 KiB7033

READMED05-Feb-20052.1 KiB6941

README

1==============================================================================
2                       Release of version 0.60 of NEXT
3==============================================================================
4
5
6NAME
7
8    NEXT - Pseudo class for method redispatch
9
10
11DESCRIPTION
12
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
16    been found.
17
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>.
21
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.
27
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.
33
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.
37
38
39AUTHOR
40
41    Damian Conway (damian@conway.org)
42
43
44COPYRIGHT
45
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.
49
50
51==============================================================================
52
53CHANGES IN VERSION 0.60
54
55
56	- Re-re-re-fixed NEXT::UNSEEN bug under diamond inheritance
57	  (Note to self: don't code whilst on vacation!)
58
59	- Implemented and documented EVERY functionality
60
61
62==============================================================================
63
64AVAILABILITY
65
66NEXT has been uploaded to the CPAN
67
68==============================================================================
69