From: Nicholas Clark Date: Thu, 17 Jan 2008 08:17:11 +0000 (+0000) Subject: Add a diagram for the 5.11 SV class structure, including B::REGEXP. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=dda3675659a2c798de95fda2a2930b41f605d33f;p=p5sagit%2Fp5-mst-13.2.git Add a diagram for the 5.11 SV class structure, including B::REGEXP. p4raw-id: //depot/perl@32987 --- diff --git a/ext/B/B.pm b/ext/B/B.pm index 3e5e8ab..0f77a3b 100644 --- a/ext/B/B.pm +++ b/ext/B/B.pm @@ -7,7 +7,7 @@ # package B; -our $VERSION = '1.18'; +our $VERSION = '1.19'; use XSLoader (); require Exporter; @@ -577,7 +577,7 @@ B::IV, B::NV, B::RV, B::PV, B::PVIV, B::PVNV, B::PVMG, B::BM (5.9.5 and 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 this is: +5.10.x branch, (I 5.10.0, 5.10.1 I) this is: B::SV | @@ -602,10 +602,6 @@ The inheritance hierarchy mimics the underlying C "inheritance". For the | | 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 @@ present as a distinct type, so the base of this diagram is | 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,