Change 32987 by [EMAIL PROTECTED] on 2008/01/17 08:17:11
Add a diagram for the 5.11 SV class structure, including B::REGEXP.
Affected files ...
... //depot/perl/ext/B/B.pm#87 edit
Differences ...
==== //depot/perl/ext/B/B.pm#87 (text) ====
Index: perl/ext/B/B.pm
--- perl/ext/B/B.pm#86~32751~ 2007-12-28 01:59:06.000000000 -0800
+++ perl/ext/B/B.pm 2008-01-17 00:17:11.000000000 -0800
@@ -7,7 +7,7 @@
#
package B;
-our $VERSION = '1.18';
+our $VERSION = '1.19';
use XSLoader ();
require Exporter;
@@ -577,7 +577,7 @@
earlier), B::PVLV, B::AV, B::HV, B::CV, B::GV, B::FM, B::IO. These classes
correspond in the obvious way to the underlying C structures of similar names.
The inheritance hierarchy mimics the underlying C "inheritance". For the
-5.10, 5.10.1 I<etc> this is:
+5.10.x branch, (I<ie> 5.10.0, 5.10.1 I<etc>) this is:
B::SV
|
@@ -602,10 +602,6 @@
| |
B::PVLV B::FM
-
-For 5.11.0 and later, B::RV is abolished, and IVs can be used to store
-references.
-
For 5.9.0 and earlier, PVLV is a direct subclass of PVMG, and BM is still
present as a distinct type, so the base of this diagram is
@@ -621,6 +617,32 @@
|
B::FM
+For 5.11.0 and later, B::RV is abolished, and IVs can be used to store
+references, and a new type B::REGEXP is introduced, giving this structure:
+
+ B::SV
+ |
+ +------------+------------+
+ | | |
+ B::PV B::IV B::NV
+ \ / /
+ \ / /
+ B::PVIV /
+ \ /
+ \ /
+ \ /
+ B::PVNV
+ |
+ |
+ B::PVMG
+ |
+ +-------+-------+---+---+-------+-------+
+ | | | | | |
+ B::AV B::GV B::HV B::CV B::IO B::REGEXP
+ | |
+ | |
+ B::PVLV B::FM
+
Access methods correspond to the underlying C macros for field access,
usually with the leading "class indication" prefix removed (Sv, Av,
End of Patch.