No more late changes, dammit
[p5sagit/p5-mst-13.2.git] / ext / B / B.pm
index c251459..0274711 100644 (file)
@@ -7,7 +7,7 @@
 #
 package B;
 
-our $VERSION = '1.02';
+our $VERSION = '1.07';
 
 use XSLoader ();
 require Exporter;
@@ -36,7 +36,8 @@ use strict;
 @B::PVIV::ISA = qw(B::PV B::IV);
 @B::PVNV::ISA = qw(B::PV B::NV);
 @B::PVMG::ISA = 'B::PVNV';
-@B::PVLV::ISA = 'B::PVMG';
+# Change in the inheritance hierarchy post 5.8
+@B::PVLV::ISA = $] > 5.009 ? 'B::GV' : 'B::PVMG';
 @B::BM::ISA = 'B::PVMG';
 @B::AV::ISA = 'B::PVMG';
 @B::GV::ISA = 'B::PVMG';
@@ -529,7 +530,8 @@ using this module.
 B::IV, B::NV, B::RV, B::PV, B::PVIV, B::PVNV, B::PVMG, B::BM, 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":
+inheritance hierarchy mimics the underlying C "inheritance". For 5.9 and
+later this is:
 
                              B::SV
                                |
@@ -547,6 +549,20 @@ inheritance hierarchy mimics the underlying C "inheritance":
                            |
                         B::PVMG
                            |
+                +-----+----+------+-----+-----+
+                |     |    |      |     |     |
+              B::BM B::AV B::GV B::HV B::CV B::IO
+                           |            |
+                        B::PVLV         |
+                                      B::FM
+
+
+For 5.8 and earlier, PVLV is a direct subclass of PVMG, so the base of this
+diagram is
+
+                           |
+                        B::PVMG
+                           |
          +------+-----+----+------+-----+-----+
          |      |     |    |      |     |     |
       B::PVLV B::BM B::AV B::GV B::HV B::CV B::IO
@@ -920,6 +936,9 @@ with the leading "class indication" prefix (C<"op_">) removed.
 
 =head2 B::OP Methods
 
+These methods get the values of similarly named fields within the OP
+data structure.  See top of C<op.h> for more info.
+
 =over 4
 
 =item next
@@ -944,12 +963,16 @@ This returns the op description from the global C PL_op_desc array
 
 =item type
 
-=item seq
+=item opt
+
+=item static
 
 =item flags
 
 =item private
 
+=item spare
+
 =back
 
 =head2 B::UNOP METHOD